К контенту
habrforever
ЖИВА #basics ≈2025 · ~6 мин чтения

Как я свой VPN-сервис делал — актуализация 2026

оригинал на Хабре habr.com/…/895430
снимок Wayback не сохранялся
статус на Хабре (ноябрь 2026) доступна
права © автор, переиздание в архивных целях с указанием источника

Как я свой VPN-сервис делал

Архивное переиздание с актуализацией. Оригинал опубликован на Habr (≈2025), автор — неизвестен. оригинал доступен на Habr по состоянию на ноябрь 2026. Ниже — редакция ноября 2026: что работает сейчас, что изменилось и как правильно повторить рецепт сегодня. Полный текст оригинала — в конце, без купюр.

TL;DR — версия 2026

Теория «VPN vs Proxy vs Tor» не изменилась с 2019 года; изменился выбор: в 2026 для РФ — AmneziaWG или VLESS+REALITY, BYE-DPI для лёгких случаев, и никогда — «бесплатный VPN» из стора.

Оригинал — лучший разбор «что вообще есть что» своего времени. Картинка не поменялась: прокси — это «только веб, без шифрования выше уровня», VPN — «весь трафик, L3-туннель», Tor — «луковая цепочка, медленно, но анонимно». Изменился контекст: ТСПУ (DPI-боксы) стоят у всех крупных российских провайдеров и умеют резать VPN-хендшейки WireGuard, OpenVPN и «голый» Shadowsocks, в 2026 году вступили в силу поправки о «поиске экстремистских материалов», по которым поисковики и мессенджеры обязаны скрывать доступ к запрещённому, а раздача инструкций по обходу начинает приравниваться к «пропаганде средств обхода» — и выбор «какой VPN поднять себе» стал вопросом выживания канала, а не вкуса.

Статус оригинала

Выбор схемы под задачу (ноябрь 2026)

  • «Открыть заблокированный сайт» → ByeDPI/Zapret/SpoofDPI (без VPN вообще);
  • «YouTube не тормозит» → то же + выбор провайдера, где ТСПУ мягче;
  • «Личный VPN на все случаи» → AmneziaWG на своём VPS (просто) или VLESS+REALITY (маскировка 5-го уровня);
  • «Анонимно почитать» → Tor с Snowflake;
  • «Корпоративный удалённый доступ» → OpenVPN/TLS или Headscale/Tailscale — вне этой войны;
  • «Смартфон» → AmneziaVPN/Hiddify self-hosted.

Про что в 2026 думать обязательно (чего не было в оригинале)

  • утечки DNS: туннель без своего резолвера = «туда же, только с флагом»;
  • IPv6-обход: у части провайдеров v6 не фильтруется — и это и выход, и дыра;
  • kill switch: WireGuard AllowedIPs = 0.0.0.0/0 + fw, иначе при обрыве трафик уходит напрямую;
  • юрридикация VPS: сервер в РФ = читать чужие письма; Нидерланды/Финляндия/Германия — норм по латентности;
  • MTU/фрагментация: GSO/CDN-маршруты любят ломать большие пакеты — 1280 спасает.

Иллюстрации из оригинала

дизайн: artogrannik

Что изменилось с ≈2025 года

  • PPTP/L2TP-разделы устарели навсегда
  • появились протоколы маскировки (Reality, AWG), которых в оригинале не существовало
  • у провайдеров появились ТСПУ и «замедлители» отдельных сервисов
  • VPN-обзоры и гайды с российских сайтов удаляются — сохраняйте локально
  • в тексте оригинала: классический OpenVPN легко детектится DPI (используется в корпсредах, но не для обхода блокировок)

Чек-лист 2026

  • понимать, что именно вы обходите: IP-блок, DPI, SNI или geo
  • выбрать схему по таблице выше
  • свой DNS внутри туннеля
  • kill switch на клиенте
  • копия гайдов — в офлайн-архив

Вердикт

Как учебник «что такое VPN» статья не устареет никогда. Как практический гайд — замените раздел выбора протокола на таблицу 2026 выше, и это снова лучшая вводная на русском языке.


ОРИГИНАЛ СТАТЬИ (без изменений)

Под катом: моя история о том, как я решил не платить за VPN, а вместо этого развернуть свой. Потом подумал: а почему бы не сделать полноценный сервис? А потом… ну, дальше всё как обычно.

Поднимал сервера, нанимал дизайнера, запускал рекламу, пытался не разочароваться. Спойлер: Клиенты довольны, я пока нет.

дизайн: artogrannik

дизайн: artogrannik

Дисклеймер!

Предвкушаю много хейта относительно OpenVPN. Да, я знаю что это не самый лучший выбор. Просто исторически сложилось. В планах добавить поддержку других протоколов (в частности, XRay). И тем не менее, на текущий момент OpenVPN показывает себя стабильно (жалоб по крайней мере не получал).

Как всё началось

Часть текста оригинальной статьи удалена (по причинам сами догадайтесь каким) и заменена на:

С каждым годом всё больше задумываюсь о безопасности трафика — особенно в общедоступных Wi-Fi сетях.

Хотелось дополнительного слоя безопасности в виде VPN, но подключаться к сторонним VPN-сервисам для меня оказалось слишком скучно. Решил собрать свой сервер на арендованной виртуалке.

Приятным преимуществом оказался тот факт, что я без дополнительных затрат могу предоставить доступ не только себе, но и своим близким.

Как всё продолжилось

Шло время. Росло количество друзей и близких, которым я дал доступ. Постепенно подкрадывалась идея сделать полноценный публичный VPN-сервис.

Начал анализировать текущий рынок. Картинка складывалась не радостно:

Уже существует большое количество VPN-сервисов. Как именитых, так и ноунеймов.

Большинство пользователей, у которых есть потребность в VPN уже нашли “свой” VPN.

Те, кто еще не нашел “свой” VPN, скорее всего просто не испытывают в нем высокой потребности.

Стало ясно, что нужно чем то отличаться

pay-as-you-go

Бесплатные VPN недостаточно стабильны, а платить 500 рублей в месяц, если вы пользуетесь всего пару раз в неделю вы неготовы? Есть идея!

Да, я решил сделать акцент на пользователях, которым VPN нужен не так часто. Пользователи не будут платить платить абонентскую плату каждый месяц. Они будут покупать время, которое будет расходоваться только при использовании VPN. И это время никогда не сгорит. Пример

Пользователь купил 30 часов за 100 рублей. Если он будет пользоваться в среднем 20 минут в день, ему этих 100 рублей хватит на 3 месяца.

А может купить 100 часов, и при активном пользовании потратить их за 1 месяц. Но даже в этом случае у него будет выгода: за покупку большого количества часов будет скидка

Что по названию?

С названием особо не мудрил. Хотелось что-то, отражающее мою ценовую политику. Недолго думая пришел к “VPN-Time”.

Сразу же пришла и идея сделать брендинг с отсылками на “Adventure Time”. Благо в моем окружении был дизайнер, который быстро подхватил идею, сделал логотип и оформление для telegram-бота (в каждом меню своя картинка, одну из них я использовал в качестве обложки для этой статьи).

Инфраструктура:

Сервер для telegam-бота, базы данных и dns

самописный биллинг на том же сервере

Сервер для VPN в Нидерландах

Сервер для VPN в Люксембурге

Система мониторинга представлена тремя телеграмм-ботами (по одному на каждый сервис), которые мне регулярно шлют телеметрию, нагрузку и информацию об основных запущенных службах.

На первое время хватит. При пополнении пользовательской базы планирую добавить новые локации.

А зачем DNS?

Ну во первых, на случай если придется перенести сервера на другой ip или хостинг. В конфигах, которые отправляются пользователям указан не IP, а имя сервера. По этому при смене IP пользователям не придется генерировать новые конфиги.

Во вторых, я хоть и не планирую собирать пользовательскую базу в несколько тысяч, балансировка какая-никакая нужна. Реализовал у себя примитивную схему:

есть локация: Нидерланды. Для неё есть несколько поддоменов: neth1, neth2, neth3…

при генерации конфига, пользователю выдается поддомен с наименьшим количеством пользователей.

сейчас эти поддомены ведут на 1 сервер

когда нагрузка на сервер будет ощутима, создается новый сервер и половина поддоменов перекидывается на него

позже предполагается добавление дополнительных поддоменов

Какую информацию о пользователях храню

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

email - на него шлются чеки о покупках. Увы, это обязательное требование юкассы

IP-адреса, с которых подключались пользователи. - они хранятся лишь в рамках логов OpenVPN. Эти логи регулярно вычищаются.

Что по деньгам

Я долго анализировал существующие VPN-сервисы, проводил опросы, сравнивал тарифы. И в итоге выбрал цены почти с потолка.

Но! Я взял с небольшим запасом, чтобы не приходилось повышать.

10 часов — 50₽

30 часов — 100₽

100 часов — 200₽

В будущем, когда наберётся приемлемая база пользователей, очень хочу сделать 1₽ = 1 час. Выглядит дешево и сердито красиво

По расчётам, мои сервера выдерживают до 500 человеко-часов в день (в теории). Если будет хотя бы 100 часов в день — я выхожу в ноль. 300 часов в день — уже небольшая прибыль.

Запуск

Первых несколько клиентов я нашел через сарафанное радио. Позже запустил рекламу в нескольких небольших каналах (суммарная аудитория около 35 000 человек). Переходов было много. Но 80% людей просто зашли в бота “потыкать кнопочки”. Не то, чтобы не пробовали подключиться, даже не сгенерировали ключи. Получилось, что сарафанное радио сработало лучше.

Что я потратил

13 000 рублей - разработка дизайна и логотипа

15 000 рублей - реклама

2 500 - ежемесячная плата за сервера

Что я получил

8 активных пользователей (которые уже вносили платежи) (только двое из них с рекламы)

16 пользователей, у которых еще действует пробное врем

52 пользователя, которые заходили, но так и не стали пользоваться

1 350 рублей выручки

и немного надежды. что все еще впереди

Пара забавных случаев

1. Занятный клиент.

Был один клиент. В первый же день он израсходовал бесплатные 5 часов. Не сразу, по частям. Сразу же купил 10 часов и больше не заходил. Прошло три недели, эти 10 часов все еще лежат у него на балансе. Надеюсь, у него все хорошо.

2. Ложная тревога.

Как то раз я тестировал обновления, и внезапно обнаружил, что не могу подключиться с о своего тестового аккаунта. На сервера работают в штатном режиме. Пингуются. В systemctl все чисто. Отправил уведомление всем пользователям, что ведутся технические работы, могут быть проблемы с доступом. Стал копать глубже.

Оказалось, что никаких сбоев не было. Всего лишь навсего на тестовом аккаунте закончился баланс. Это мотивировало меня как можно быстрее внедрить автоматические уведомления об истекающем балансе.

Что в планах на будущее

Добавить поддержку XRay (хотя он не является VPN в классическом понимании)

Пересмотреть рекламную политику

В рамках этого сервиса есть идея сделать нейросеть, выполняющую роль специалистов первой-второй линии техподдержки. Не то, чтобы в этом есть такая потребность. Просто у меня есть идея, которую я хотел бы протестировать. И такой небольшой сервис будет отличным полигоном.

Научиться эффективнее собирать обратную связь от потенциальных пользователей, чтобы понять что их отталкивает или чего им не хватает.

А можно попробовать?

Да, и это даже будет бесплатно (ссылка).

А еще можете использовать промокод HABR.

UPD

У нас появился сайт. Правда он еще на этапе черновика, актуальную информацию нужно смотреть в telegram-боте

по теме #basics