📖

Инструкции по подключению VPN для Android, iPhone и ПК

открытые страницы для Telegram Mini App: пять платформ, без сборки и зависимостей

Пошаговые инструкции подключения VPN для Android, iPhone и iPad, Windows, macOS и Linux в виде статических страниц. Открываются внутри Telegram Mini App из бота, чтобы человеку без опыта не писать в поддержку.

В продакшене · собственный продукт
5 платформ
Android, iPhone и iPad, Windows, macOS и Linux — по отдельной странице
0 зависимостей
чистый HTML, CSS и JavaScript без сборки, Docker и файла .env
1 файл
на платформу: стили и скрипты встроены, страницу можно открыть сразу

Задача

Человеку без технической подготовки, который получил VPN-подписку, нужна понятная инструкция «что нажать» на его устройстве. Без неё он пишет в поддержку с одними и теми же вопросами: где взять приложение, как добавить подписку, как включить VPN. Каждый такой вопрос — нагрузка на человека, который поддерживает сервис.

Устройства у пользователей разные: телефоны на Android, iPhone и iPad, компьютеры на Windows, macOS и Linux. Для каждой платформы свой клиент и свои пункты меню. Инструкция должна быть отдельной для каждой, короткой и доступной там, где человек уже находится, — в чате с ботом сервиса в Telegram.

Решение

Набор из пяти статических HTML-страниц, по одной на платформу. Страницы рассчитаны на открытие внутри Telegram Mini App из бота сервиса. Что реализовано по README:

  • Пять самостоятельных страниц: Android, iPhone и iPad, Windows, macOS, Linux; в каждой шаги, подсказки и блок вопросов.
  • Путь от установки приложения до включения VPN и раздел «Не работает? Проверьте».
  • Ссылка на бота сервиса в начале и в конце каждой страницы.
  • Кнопка «Готово, закрыть»: страница закрывается и возвращает человека в чат.
  • Оформление под тему Telegram: цвета берутся из переменных клиента.
  • Публикация на GitHub Pages и открытый репозиторий на GitHub.

Как это устроено

Статические страницы без сборки

Каждая страница — один HTML-файл: стили и скрипты встроены, сборщика, Docker и переменных окружения нет. Такие файлы можно открыть двойным щелчком или отдать любым статическим хостингом. Для локального просмотра достаточно простого сервера. Единственная внешняя зависимость — скрипт Telegram Web Apps, который подключается с telegram.org.

Telegram Mini App: страница внутри чата

Mini App (в исходнике — WebApp) — веб-страница, которую Telegram показывает внутри самого мессенджера. При загрузке страница вызывает Telegram.WebApp.ready() и expand(): сообщает Telegram, что готова, и раскрывается на весь экран. Кнопка «Готово, закрыть» вызывает Telegram.WebApp.close() и возвращает человека в чат. Telegram требует для Mini App адрес по HTTPS, поэтому страницы размещены на GitHub Pages. Вне Telegram объект Telegram.WebApp недоступен, и кнопка закрытия там не работает: это ожидаемо.

Тема Telegram и вёрстка под телефон

Цвета страниц берутся из CSS-переменных, которые задаёт клиент Telegram, поэтому в тёмной и светлой темах инструкция выглядит частью мессенджера. Вёрстка рассчитана на экран телефона: по критериям приёмки она должна читаться на телефоне, а цвета следовать теме.

Шаги под конкретные клиенты

Для Android, Windows и Linux инструкция разбирает клиент NekoBox, для macOS — V2Box; iPhone и iPad вынесены на отдельную страницу. У каждой страницы один сценарий: поставить приложение, добавить подписку, включить VPN, проверить, если не работает. Название файла говорит платформу: android.html, ios.html, windows.html, macos.html, linux.html.

Публикация и проверка страниц

Сборка не нужна: файлы размещают на любом статическом хостинге по HTTPS и указывают адреса страниц в боте. Локально страницу можно открыть в браузере или поднять простой сервер командой python -m http.server. Критерии приёмки в README проверяют пять вещей: страницы открываются без ошибок в консоли, внутри Telegram раскрываются на весь экран, ссылка на бота ведёт в Telegram, вёрстка читается на телефоне, а шаги совпадают с интерфейсом клиента. Последний пункт проверяется вручную на устройстве.

Результат

  • Пять платформ закрыты пятью страницами, каждая независима от остальных.
  • Страницы рассчитаны на открытие из бота внутри Telegram, без перехода в браузер.
  • Проект не требует сборки, Docker и переменных окружения: правка страницы — это правка одного HTML-файла.
  • Репозиторий открыт, живая версия опубликована на GitHub Pages.

Технологии: что и зачем

  • HTML5, CSS, JavaScript — страницы без сборки и зависимостей; стили и скрипты встроены в каждый файл.
  • Telegram Web Apps API — раскрытие на весь экран, кнопка закрытия и цвета темы Telegram.
  • GitHub Pages — статический хостинг по HTTPS, которого требует Telegram Mini App.

Статус

В продакшене, открытый собственный проект. Явных версий нет: последняя запись журнала — 28 июля 2026 года, когда файлы обновили через веб-интерфейс GitHub. Первая загрузка — 21 января 2026 года, а 23 января страницы Android, iOS, Linux и macOS расширили и переработали.

Известные ограничения по README: инструкции привязаны к названиям пунктов меню клиентов и устаревают при их обновлении; адрес бота зашит в каждый из пяти файлов, общего шаблона нет; автоматических тестов и проверки ссылок нет. В страницы также добавлена защита от копирования (запрет выделения, контекстного меню и горячих клавиш инспектора): README называет её декоративной, она ухудшает доступность и не защищает содержимое, и её стоит убрать или оставить осознанно.

Вопросы по проекту

Как подключить VPN по шагам, если я никогда этого не делал?
Для этого сделаны инструкции: по странице на каждую платформу. Каждая ведёт от установки приложения до включения VPN и заканчивается блоком «Не работает? Проверьте». В начале и в конце страницы есть ссылка на бота сервиса, где выдаётся подписка.
Для каких платформ и клиентов есть инструкции?
Пять страниц: Android, iPhone и iPad, Windows, macOS и Linux. Для Android, Windows и Linux разобран клиент NekoBox, для macOS — V2Box. Отдельная страница описывает iPhone и iPad.
Что такое Telegram Mini App и зачем в нём инструкция?
Mini App — веб-страница, которая открывается прямо внутри Telegram, без перехода в браузер. Человек нажимает кнопку в боте, видит инструкцию на весь экран и закрывает её кнопкой «Готово, закрыть». Цвета страницы берутся из темы Telegram, поэтому она не выбивается из интерфейса.
Нужен ли сервер или сборка, чтобы разместить такие страницы?
Нет. Каждая страница — один самодостаточный HTML-файл со встроенными стилями и скриптами, без сборки и внешних библиотек. Кроме скрипта Telegram Web Apps, который подключается с telegram.org. Разместить страницы можно на любом статическом хостинге по HTTPS: этого требует Telegram Mini App.
Что делать, если шаги не совпали с интерфейсом клиента?
Инструкции привязаны к конкретным клиентам и названиям пунктов их меню, поэтому при обновлении клиента могут устареть и требуют ручной проверки на устройстве. Тестов и проверки ссылок в проекте нет, страницы правятся вручную.
Можно ли использовать эти страницы для своего VPN-сервиса?
Схема переносится: это чистый HTML без зависимостей. Но в текущих страницах зашит адрес бота одного сервиса, поэтому под другой сервис правятся все пять файлов. Общего шаблона пока нет, стили и скрипты дублируются. Лицензия в репозитории не указана.

Ещё по этому направлению

В продакшене · собственный продукт

Переговорка (ToshaStream): стрим-сервер и голосовая для команды

собственный продукт в продакшене, версия 1.50.0: голос, чаты и закрытый эфир

Тестирование у заказчикаNDA

OshaVPN Router: своя прошивка для MikroTik — VPN на весь офис

прошили заказчику MikroTik с Авито: весь офис за VPN, российское напрямую, зарубежное через туннель, на устройствах ничего не нужно ставить

OpenWrtucode
В продакшене · собственный продукт

VPN-инфраструктура: входной узел в России, выход в Европе

собственный продукт: релей в России, постоянный туннель и узел в Нидерландах

Нужно похожее?

Расскажите о задаче — покажем, как решали такое, и прикинем объём работ.