Терминал, сетка и никакой магии: Как я поднял бесплатный VLESS-кластер на Vercel и GitHub за вечер
«Терминал, сетка и никакой магии»: Как я поднял бесплатный VLESS-кластер на Vercel и GitHub за вечер
Вместо вступления
Привет, Хабр! Я xolirx.
Надоело платить за подписки и искать «рабочие» конфиги по телеграм‑каналам, которые через день удаляют? Мне — тоже. Поэтому я собрал свой велосипед.
XolirX VPN — это полностью бесплатный сервис с современным протоколом VLESS + Reality и связкой прокси MTProto для Telegram.
Сайт выглядит как терминал, работает через кэш и держится исключительно на энтузиазме. Никакой рекламы, только схема работы, кусок кода и приглашение в наш маленький клан свободного интернета.
Что это и для кого?
Я паршу конфиги, пакую их в единую подписку и отдаю через удобную обертку.
Почему это может быть вам полезно:
Протокол VLESS Reality. Сервер выглядит для внешнего мира как обычный HTTPS‑сайт. Надежно и быстро.
MTProto из коробки. Решил проблему с блокировками Telegram на уровне приложения.
Анонимность. Я не ворую логи (серьезно, их просто негде хранить). Правило «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
Как этим пользоваться?
Хабр — сообщество гиков, поэтому инструкции для «бабушек» не будет. Только суть.
Идем на сайт: xolirx-vpn.vercel.app
Качаем Happ или Hiddify из Play Market / App Store
Нажимаем на сайте кнопку «Добавить подписку» → выбираем свое приложение
Если приложение не открылось автоматом, жмем «Скопировать ссылку» и вставляем вручную в поле «Импорт»
Для 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 можно решить реальную проблему.