Как подключить несколько панелей 3x-ui по аналогии с Marzban-Node с ипользованием телеграм бота

Чтож! Доброго дня! Все попавшие на эту статью, вероятно, не нуждаются в объяснении того что же это за слова в заголовке, отлично!У каждой из этих панелей есть свои неоспоримые плюсы:У первой - 3х-ui их крайне много - панель буквально можно с ног на голову перевернуть своими кастомными настройками прямо в UI интерфейсе не переписывая текстовые файлы конфигурации, без головняка с терминалом (или же немного с ним) и без собственноручного поиска нужных пакетов.

У Marzban же, по моему мнению, есть только один плюс - Marzban Node, с помощью которого у нас есть мать-панель и есть дитя-панели, всё бесшовно, клиент добавляется на мать и автоматом эти же конфиги переносятся на все остальные сервера = теперь мы можем в сервисе выдавать столько серверов и локаций, сколько посчитаем нужным... только вот эти серверы-детишки буквально нужно вручную в блокнотах.conf настраивать, от роутинга до блокировок каких-то ресурсов. Муторно, подумал я и поставил крест на использовании марзбана.Осталось каким-то образом внедрить в 3x-ui возможность "мультихостовости", хитростей изобретать особо не потребовалось, следите за руками, что называется:

Мой сервис взаимодействует с пользователями посредствам телеграм-бота, который имеет функцию добавления клиента на сервер с панелью, разумеется

Функция addClient
Функция addClient

Данная функция проходится по нескольким значениям словаря hosts и на каждый добавляет по клиенту с нужными настройками, отлично, с этим разобрались.. но..

Как же быть с выдачей ключей подключения пользователю?В Marzban всё продумано в этом плане, subscription сервис выдаёт единый линк - на нём json со всеми ссылками-подключениями, в 3x-ui такого балдежа увы нет, но решается всё достаточно просто - собственным сервером, который парсит с каждого сервера 3x-UI ссылки и выдаёт их в таком же формате, как и марзбан :)

В таком формате пользователь получает сообщение с подключением
В таком формате пользователь получает сообщение с подключением

Вкратце описал решение главного косяка 3X-ui, есть много мелочей, о которых, можно было бы еще написать, дайте знать, если интересно, но в целом вот пища для ума)

Все описанные методы можете проглядеть в данном боте Reality VPN

Буду рад ответить на ваши вопросы в комментариях, надеюсь, кому-то помог :)

22
4 комментария

Есть ли где-то код собственного сервера подписки? Или это прям просто выдал кусок из марзбан? Если да, то какой

Ответить

С марзбаном ничего общего не имеет, код нужен только для предоставления услуг VPN, для чего и писался на коммерческой основе

Ответить

Как сервер понимает когда нужно все спарсить и откуда, и как обрабатывает ошибки?

Ответить

Разумеется, когда его попросят спарсить - он и спарсит. Какие ошибки могут быть? для чего их, собственно, обрабатывать?

Ответить