Категория > Новости > VPN для друзей. Разворачиваем свой VPN-сервер с оплатой через Telegram - «Новости»
VPN для друзей. Разворачиваем свой VPN-сервер с оплатой через Telegram - «Новости»26-05-2023, 16:37. Автор: Юлий |
скорости в сравнении с OpenVPN и IPSec. Ты только посмотри на эти графики. ![]() Пропускная способность (мегабит в секунду), тест iPerf3 ![]() Время отклика ping Похожую статистику показывают тесты Protectli и Entrostat. В Linux WireGuard работает на уровне ядра, что дает дополнительный прирост в скорости. В WireGuard не такой большой выбор асимметричных шифров, как в OpenVPN и других протоколах. Но это одновременно и плюс: меньше поверхность атаки на протокол.
Админ-панель и бот в TelegramИтак, как для пользователя выглядит общение с моим ботом? Начнем знакомство с главного меню. Главное меню При первом входе пользователь получает приветственное сообщение от бота и тестовую подписку. В конфигах бота ты сможешь сам задать все тексты и параметры вроде времени, на которое предоставляется тестовая подписка. В главном меню пользователь может ознакомиться со статусом своей подписки, продлить ее и получить конфиг с подробной инструкцией для подключения, а в разделе «Продлить» — приобрести подписку на определенное время. ![]() Выбор варианта подписки Оплата выполняется онлайн, через сам Telegram. Соответственно, мы можем выбрать любую платежную систему, с которой сотрудничает Telegram. infoЯ планировал использовать для оплаты Qiwi, так как там есть открытый API для создания счетов и не требуется становиться самозанятым или ИП. К сожалению, недавно в Qiwi приостановили выпуск необходимых токенов и не сообщают о сроках возобновления. Однако в исходниках ты найдешь вариант админской панели для Qiwi. После того как пользователь выбрал и оплатил подписку, ему приходит сообщение об удачной оплате и сразу же обновляется информация о его подписке. Подписка на месяц оплачена В разделе «Как подключить» пользователь может получить свой конфиг для подключения к VPN-серверу и подробную инструкцию, как настроить WireGuard на своем телефоне и как им пользоваться. ![]() Раздел «Как подключить» И наконец, самый главный раздел — «Админ‑панель», к которому имеет доступ только админ бота. ![]() Главная админ‑панели Раздел «Вывести пользователей» позволяет получить список всех пользователей системы или только пользователей с оплаченной подпиской. ![]() Раздел «Вывести пользователей» В разделе «Редактировать пользователя по id», введя Telegram ID пользователя, мы можем добавить время или обнулить его (то есть забрать подписку). ![]() Раздел «Редактировать пользователя» Раздел «Статичные пользователи» может понадобиться для предоставления доступа к VPN пользователям, которые не зарегистрированы в Telegram. В этом разделе мы можем создавать статичных пользователей, удалять их и получать конфиги для подключения. ![]() Раздел «Статичные пользователи» Вот и всё меню. Но в боте еще есть уведомления пользователей об окончании подписки. Все тексты уведомлений можно править в файле JSON. ![]() Уведомления Настройка ботаС тем, как выглядит бот, я тебя познакомил, теперь покажу настройки и скрипт, который разворачивает и настраивает WireGuard в пару кликов. Начнем с конфигов бота. Первый конфиг называется { "admin_tg_id":440887487, "one_month_cost":120, "trial_period":2700, "UTC_time":3, "tg_token":"********:**************_**********", "tg_shop_token":"56456767:TEST:343455" }
Как получить ![]() Как выглядит токен для онлайн‑оплаты И последний конфигурационный файл хранит в себе текст сообщений, которые бот присылает пользователям. Сообщения могут быть оформлены с применением HTML-стилей Telegram, а как ими пользоваться, можешь посмотреть в документации. { "hello_message":"<b>Почему стоит выбрать Obi VPN?b>...", "trial_message":"Чтобы вы смогли оценить наш VPN...", "how_to_connect_info":"Ваш конфиг для подключения к VPN...", "success_pay_message":"Оплата прошла успешно...", "ended_sub_message":"Ваша подписка закончилась...", "alert_to_renew_sub":"До конца действия..." } Думаю, вполне понятно, какое сообщение за что отвечает, поэтому не будем останавливаться на этом и перейдем к деплою.
ДеплойСкажу сразу, что скрипт я разрабатывал на Ubuntu и тестировал только на Ubuntu 20.04 и 22.04, поэтому не могу дать гарантии, что он заработает на какой‑то другой разновидности Linux. Перейти обратно к новости |