«Терминал, сетка и никакой магии»: Как я поднял бесплатный VLESS-кластер на Vercel и GitHub за вечер

Вместо вступления

Привет, Хабр! Я xolirx.

Надоело платить за подписки и искать «рабочие» конфиги по телеграм‑каналам, которые через день удаляют? Мне — тоже. Поэтому я собрал свой велосипед.

XolirX VPN — это полностью бесплатный сервис с современным протоколом VLESS + Reality и связкой прокси MTProto для Telegram.

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

Что это и для кого?

Я паршу конфиги, пакую их в единую подписку и отдаю через удобную обертку.

Почему это может быть вам полезно:

  1. Протокол VLESS Reality. Сервер выглядит для внешнего мира как обычный HTTPS‑сайт. Надежно и быстро.

  2. MTProto из коробки. Решил проблему с блокировками Telegram на уровне приложения.

  3. Анонимность. Я не ворую логи (серьезно, их просто негде хранить). Правило «No Logs».

Цифры на момент публикации:

  • Серверов в подписке: ~40+

  • География: Нидерланды, Германия, США, Сингапур

  • Прокси MTProto: обновляются каждый час

Хватит лирики. Как это устроено внутри?

Я не стал покупать дорогой VDS. Вместо этого использовал связку Vercel (Serverless Functions) + GitHub.

Вся «тяжелая» логика работает на кэше.

Архитектура (Backend)

Схема: Пользователь → Vercel CDN → index.js (Node.js) → Кэш в оперативке (5 мин) → GitHub Raw

Как работает:

  • Когда вы заходите на сайт, сервер (файл api/index.js) проверяет: есть ли в памяти (в переменной vpnCache) актуальный список серверов?

  • Если ему меньше 5 минут — отдаю мгновенно (cache-hit)

  • Если прошло больше времени — лезу в raw.githubusercontent.com/xolirx/xolirx-/main, забираю свежие vless:// ссылки и отдаю вам

Ключевая строчка в коде: const CACHE_TTL = 300000; // 5 минут

Это сделано для того, чтобы сайт не тормозил, а GitHub не банил меня за слишком частые запросы. Для вас это выглядит как «мгновенное обновление».

Дизайн (Frontend)

Сайт написан на ванильном JS (без React, чтобы летал на любом устройстве).

  • Фон: Это не видео и не гифка. Это canvas, на котором нарисована деформирующаяся сетка. Она меняется в реальном времени через requestAnimationFrame.

  • Стили: Промышленный шик (милитари/киберпанк). Черный фон, белый акцент, моноширинный шрифт JetBrains Mono.

  • Подписка: Ссылка /sub возвращает text/plain. Её можно вставить в Happ, Hiddify, Sing-Box или V2Ray. Приложение само «скушает» список серверов.

Откуда берутся серверы?

Я настроил парсер, который ходит на vpn.txt в моем репозитории. Туда я складирую рабочие VLINK-и.

  • Важно: Я не генерирую серверы сам. Я их агрегирую.

  • MTProto: Отдельный файл proxies_list.txt. Оттуда же тянет данные мой телеграм-бот @xolirx_vpn_bot

Как этим пользоваться?

Хабр — сообщество гиков, поэтому инструкции для «бабушек» не будет. Только суть.

  1. Идем на сайт: xolirx-vpn.vercel.app

  2. Качаем Happ или Hiddify из Play Market / App Store

  3. Нажимаем на сайте кнопку «Добавить подписку» → выбираем свое приложение

  4. Если приложение не открылось автоматом, жмем «Скопировать ссылку» и вставляем вручную в поле «Импорт»

Для CLI-шников: Можно просто скопировать ссылку и использовать с sing-box или xray через curl:

curl -o config.json https://xolirx-vpn.vercel.app/sub

Пара слов о монетизации (её нет)

«А в чем подвох?»

Нет подвоха, кроме моего эго и желания собрать комьюнити.

Я запрещаю использовать сервис для DDoS-атак, брута и противоправной деятельности (об этом есть страница /rules).

Единственная просьба: подпишитесь на Telegram-канал. Там я публикую обновления и прошу отзывы. Если канал умрет — умрет и сервис.

Что в планах?

  • Автоматизация: Запарсить больше серверов и отдавать только топ по скорости (пинг/битрейт)

  • Telegram Bot: Сделать полноценного бота, который будет отдавать свежие прокси по запросу /proxy (MVP уже есть)

  • Статистика: Сделать /api/stats более умным, чтобы показывал нагрузку на серверах

Зову в гости

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

Сайт / Канал / Я (xolirx): t.me/xolirx

Пользуйтесь, форкайте идею (код открыт, лежит в репозитории) и пишите в личку, если найдете баг или захотите поддержать проект.

Ставьте плюсик, если устали платить за VPN.

// xolirx «Мы не храним логи, мы храним свободу.»

Если этот текст покажется вам рекламой — я не продаю подписки. Сайт даже не собирает метрики (нет Яндекс.Метрики или GA). Это чистый pet-проект, которым я хочу поделиться с сообществом, чтобы показать, как с помощью fetch, canvas и setTimeout можно решить реальную проблему.