Поиск
Показаны результаты для тегов 'happ'.
Найдено 1 результат
-
Всем привет! Возможно уже многие из вас слышали про очень красивое и удобное приложение в самом расцвете своей разработки: Happ. Официальный сайт команды: happ.su Приложение бесплатное и без рекламы. Есть хорошая документация, как передавать параметры в само приложение - тут конечно ребятам разработчикам 5ка! https://www.happ.su/main/documentation/meta-info Сегодня мы разберем как передать сообщение announce и роутинг через подписку Marzban. Инфа по роутингу лежит по этой ссылке: https://www.happ.su/main/documentation/routing 1. Нам нужно взять последний файл subscription.py из репозитория: Ссылка расположения будет всегда одинаковой: https://github.com/Gozargah/Marzban/blob/master/app/routers/subscription.py 2. Теперь идем на сервер. 3. Идем в папку /var/lib/marzban: cd /var/lib/marzban 4. Создадим файл: nano subscription.py 5. Скопируем содержимое файла со страницы репозитория: 6. Вставим содержимое в наш файл: 7. Теперь пойдем его редактировать: Нам нужен параметр Она встречается дважды по коду. В него нам и нужно добавить две записи (на примере - мой уже готовый файл): Давайте для начала сделаем announce. 7.1. Читаем из документации про announce: Понимаем: Нам нужно кодирование в base64 формат и максимальная длина текста 200 символов. Идем на сайт: https://base64.ru/ Кодируем нужный нам текст: Копируем полученный результат: 0KHQv9Cw0YHQuNCx0L4g0YfRgtC+INC/0L7Qu9GM0LfRg9C10YLQtdGB0Ywg0L3QsNGI0LjQvCDRgdC10YDQstC40YHQvtC8IQ== Вставляем с новой строки, добавив перед этим base64: получаем строку: "announce": "base64:0KHQv9Cw0YHQuNCx0L4g0YfRgtC+INC/0L7Qu9GM0LfRg9C10YLQtdGB0Ywg0L3QsNGI0LjQvCDRgdC10YDQstC40YHQvtC8IQ==" Эту строку нам нужно вставить дважды, второй раз в конце документа: 7.2. Теперь мы можем вставить роутинг: happ://routing/onadd/ewogICAgIk5hbWUiOiAiUm9zY29tVlBOIiwKICAgICJHbG9iYWxQcm94eSI6ICJ0cnVlIiwKICAgICJSZW1vdGVEbnMiOiAiOTQuMTQwLjE0LjE0IiwKICAgICJEb21lc3RpY0RucyI6ICI5NC4xNDAuMTUuMTUiLAogICAgIkdlb2lwdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oeWRyYXBvbmlxdWUvcm9zY29tdnBuLWdlb2lwL3JlbGVhc2VzL2Rvd25sb2FkLzIwMjUwMjA3MDQ0NC9nZW9pcC5kYXQiLAogICAgIkdlb3NpdGV1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h5ZHJhcG9uaXF1ZS9yb3Njb212cG4tZ2Vvc2l0ZS9yZWxlYXNlcy9kb3dubG9hZC8yMDI1MDIxMDE4MTMvZ2Vvc2l0ZS5kYXQiLAogICAgIlJlbW90ZUROU1R5cGUiOiAiRG9VIiwKICAgICJSZW1vdGVETlNEb21haW4iOiAiaHR0cHM6Ly9kbnMuYWRndWFyZC1kbnMuY29tL2Rucy1xdWVyeSIsCiAgICAiUmVtb3RlRE5TSVAiOiAiOTQuMTQwLjE0LjE0IiwKICAgICJEb21lc3RpY0ROU1R5cGUiOiAiRG9VIiwKICAgICJEb21lc3RpY0ROU0RvbWFpbiI6ICJodHRwczovL2Rucy5hZGd1YXJkLWRucy5jb20vZG5zLXF1ZXJ5IiwKICAgICJEb21lc3RpY0ROU0lQIjogIjk0LjE0MC4xNS4xNSIsCiAgICAiRG5zSG9zdHMiOiB7fSwKICAgICJEaXJlY3RTaXRlcyI6IFsKICAgICAgICAiZ2Vvc2l0ZTpwcml2YXRlIiwKICAgICAgICAiZ2Vvc2l0ZTp0ZXN0IiwKICAgICAgICAiZ2Vvc2l0ZTpjYXRlZ29yeS1ydSIsCiAgICAgICAgImdlb3NpdGU6bWljcm9zb2Z0IiwKICAgICAgICAiZ2Vvc2l0ZTp3aW4tdXBkYXRlIiwKICAgICAgICAiZ2Vvc2l0ZTp3aW4tZXh0cmEiLAogICAgICAgICJnZW9zaXRlOmFwcGxlIiwKICAgICAgICAiZ2Vvc2l0ZTpnb29nbGUtcGxheSIsCiAgICAgICAgImdlb3NpdGU6dHdpdGNoIiwKICAgICAgICAiZ2Vvc2l0ZTpzdGVhbSIKICAgIF0sCiAgICAiRGlyZWN0SXAiOiBbCiAgICAgICAgImdlb2lwOnByaXZhdGUiLAogICAgICAgICJnZW9pcDp0ZXN0IiwKICAgICAgICAiZ2VvaXA6cnUiLAogICAgICAgICJnZW9pcDpieSIsCiAgICAgICAgImdlb2lwOmt6IgogICAgXSwKICAgICJQcm94eVNpdGVzIjogWwogICAgICAgICJnZW9zaXRlOmNhdGVnb3J5LWJhbi1ydSIsCiAgICAgICAgImdlb3NpdGU6ZGlzY29yZCIsCiAgICAgICAgImdlb3NpdGU6eW91dHViZSIsCiAgICAgICAgImdlb3NpdGU6dGlrdG9rIiwKICAgICAgICAiZ2Vvc2l0ZTpzaWduYWwiCiAgICBdLAogICAgIlByb3h5SXAiOiBbCiAgICAgICAgImdlb2lwOmRpc2NvcmQiLAogICAgICAgICJnZW9pcDp0aHJlZW1hIgogICAgXSwKICAgICJCbG9ja1NpdGVzIjogWwogICAgICAgICJnZW9zaXRlOndpbi1zcHkiLAogICAgICAgICJnZW9zaXRlOnRvcnJlbnQiCiAgICBdLAogICAgIkJsb2NrSXAiOiBbXSwKICAgICJEb21haW5TdHJhdGVneSI6ICJJUElmTm9uTWF0Y2giCn0= Пример роутинга взял из этой репы: https://github.com/hydraponique/roscomvpn-happ-routing Чтобы вставить его и передать в заголовке, нам нужно добавить строку в наш файл: "routing": "happ://routing/onadd/ewogICAgIk5hbWUiOiAiUm9zY29tVlBOIiwKICAgICJHbG9iYWxQcm94eSI6ICJ0cnVlIiwKICAgICJSZW1vdGVEbnMiOiAiOTQuMTQwLjE0LjE0IiwKICAgICJEb21lc3RpY0RucyI6ICI5NC4xNDAuMTUuMTUiLAogICAgIkdlb2lwdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oeWRyYXBvbmlxdWUvcm9zY29tdnBuLWdlb2lwL3JlbGVhc2VzL2Rvd25sb2FkLzIwMjUwMjA3MDQ0NC9nZW9pcC5kYXQiLAogICAgIkdlb3NpdGV1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h5ZHJhcG9uaXF1ZS9yb3Njb212cG4tZ2Vvc2l0ZS9yZWxlYXNlcy9kb3dubG9hZC8yMDI1MDIxMDE4MTMvZ2Vvc2l0ZS5kYXQiLAogICAgIlJlbW90ZUROU1R5cGUiOiAiRG9VIiwKICAgICJSZW1vdGVETlNEb21haW4iOiAiaHR0cHM6Ly9kbnMuYWRndWFyZC1kbnMuY29tL2Rucy1xdWVyeSIsCiAgICAiUmVtb3RlRE5TSVAiOiAiOTQuMTQwLjE0LjE0IiwKICAgICJEb21lc3RpY0ROU1R5cGUiOiAiRG9VIiwKICAgICJEb21lc3RpY0ROU0RvbWFpbiI6ICJodHRwczovL2Rucy5hZGd1YXJkLWRucy5jb20vZG5zLXF1ZXJ5IiwKICAgICJEb21lc3RpY0ROU0lQIjogIjk0LjE0MC4xNS4xNSIsCiAgICAiRG5zSG9zdHMiOiB7fSwKICAgICJEaXJlY3RTaXRlcyI6IFsKICAgICAgICAiZ2Vvc2l0ZTpwcml2YXRlIiwKICAgICAgICAiZ2Vvc2l0ZTp0ZXN0IiwKICAgICAgICAiZ2Vvc2l0ZTpjYXRlZ29yeS1ydSIsCiAgICAgICAgImdlb3NpdGU6bWljcm9zb2Z0IiwKICAgICAgICAiZ2Vvc2l0ZTp3aW4tdXBkYXRlIiwKICAgICAgICAiZ2Vvc2l0ZTp3aW4tZXh0cmEiLAogICAgICAgICJnZW9zaXRlOmFwcGxlIiwKICAgICAgICAiZ2Vvc2l0ZTpnb29nbGUtcGxheSIsCiAgICAgICAgImdlb3NpdGU6dHdpdGNoIiwKICAgICAgICAiZ2Vvc2l0ZTpzdGVhbSIKICAgIF0sCiAgICAiRGlyZWN0SXAiOiBbCiAgICAgICAgImdlb2lwOnByaXZhdGUiLAogICAgICAgICJnZW9pcDp0ZXN0IiwKICAgICAgICAiZ2VvaXA6cnUiLAogICAgICAgICJnZW9pcDpieSIsCiAgICAgICAgImdlb2lwOmt6IgogICAgXSwKICAgICJQcm94eVNpdGVzIjogWwogICAgICAgICJnZW9zaXRlOmNhdGVnb3J5LWJhbi1ydSIsCiAgICAgICAgImdlb3NpdGU6ZGlzY29yZCIsCiAgICAgICAgImdlb3NpdGU6eW91dHViZSIsCiAgICAgICAgImdlb3NpdGU6dGlrdG9rIiwKICAgICAgICAiZ2Vvc2l0ZTpzaWduYWwiCiAgICBdLAogICAgIlByb3h5SXAiOiBbCiAgICAgICAgImdlb2lwOmRpc2NvcmQiLAogICAgICAgICJnZW9pcDp0aHJlZW1hIgogICAgXSwKICAgICJCbG9ja1NpdGVzIjogWwogICAgICAgICJnZW9zaXRlOndpbi1zcHkiLAogICAgICAgICJnZW9zaXRlOnRvcnJlbnQiCiAgICBdLAogICAgIkJsb2NrSXAiOiBbXSwKICAgICJEb21haW5TdHJhdGVneSI6ICJJUElmTm9uTWF0Y2giCn0= Получить должны такой вид: Для первого упоминания: Для второго упоминания: Отлично! Сохраняем файл: Ctrl + O Закрываем редактор: Ctrl + X 8. Идем в наш docker-compose.yml. Если у вас свежий скрипт, то он доступен легкой командой: marzban edit Если у вас старый скрипт, и нет этой функции, то вручную: nano /opt/marban/docker-compose.yml 9. в Volumes нам нужно прогрузить необходимый файл, который мы создали: Добавив строку: - /var/lib/marzban/subscription.py:/code/app/routers/subscription.py 10. Если вы все сделали правильно, то все заработает. Теперь, вам осталось только перезапустить marzban: marzban restart 11. Теперь, при добавлении подписки и обновлении её (каждый раз!) роутинг будет перезаписан и выбран по умолчанию тот который добавили вы, а также появится сообщение закодированное в announce. УЧТИТЕ! При обновлении Marzban (выходе новых версий), данный файл лучше будет пересоздать полностью, либо дополнить его вносимыми изменениями в новых версиях.