Marzban - добавить подписку в 1 клик

1 minute read

img

Коварный телеграм

Телеграм клиент не дает сделать кнопки или ссылки со специализированным содержанием (необходимым для перехода в приложение), отличным от http://* и https://*.
Решить эту проблему можно с помощью простой конфигурации nginx

Подключаем конфигурацию в nginx:
subdomain.domain.ru - заменить на ваше доменное имя

mkdir -p /etc/nginx/sites-enabled /etc/nginx/sites-available; \
SERVICE_NAME="subdomain.domain.ru"
cat > /etc/nginx/sites-enabled/$SERVICE_NAME <<EOF
server {
    listen 80;
    server_name $SERVICE_NAME;

    location / {
        if (\$arg_url) {
            return 301 \$arg_url;
        }
    }
}
EOF
ln -s /etc/nginx/sites-available/$SERVICE_NAME /etc/nginx/sites-enabled; \
sudo nginx -t; \
sudo certbot --nginx; \
systemctl restart nginx
sleep 5; \
systemctl status nginx

Форматирование ссылки

Из документации marzban мы видим, что определенные приложения для подключения могут принимать специальные ссылки, разберем на примере Streisand для iOS и V2rayNG для Android, схема ссылок:

  • streisand://import/URL#NAME
  • v2rayng://install-sub?url=URL&name=NAME

Интеграция в бота

Итого в боте мы должны будем отдать пользователю кнопку или ссылку со следующим содержанием:

  • v2rayng: https://subdomain.domain.ru/?url=v2rayng://install-sub?url=ССЫЛКА_НА_ПОДПИСКУ&name=ИМЯ(опционально)
  • Streisand: https://subdomain.domain.ru/?url=streisand://import/ССЫЛКА_НА_ПОДПИСКУ#ИМЯ(опционально)

Если вам лень заморачиваться с собственным сервисом редиректа ссылок - можете воспользоваться моим - apps.artydev.ru, заменив subdomain.domain.ru из примера ссылок выше на apps.artydev.ru

Также рекомендую: Интеграция XRay (VLESS) в телеграм бота используя API Marzban

На пиво

Если данный материал оказался вам полезен - готов принять ваши копеечки :)

в крипте:
ETH (ERC20): 0xcdc3231527a1ad105d527678ccbcf5e827747e7b
TON: UQAiIMLC2_j9tPlmQakdbz2Zh0rkTHH7tK2RTcO3rYAkr8QV

в рублях: https://pay.cloudtips.ru/p/2a3d8e06

Итог

Пример использования механизма подключения в 1 клик можете посмотреть в моём боте.
Cсылка: https://t.me/artydev_wg_payment_bot?start=go2app

Большое спасибо всем за внимание! Если вам интересны подобные рассуждения - подписывайтесь на мой канал artydev & Co.