Skip to content

whoahaow/rjsxrd

Repository files navigation

rjsxrd - Автоматически обновляемые VPN-конфиги

tgc: t.me/rjsxrd


Автоматически обновляемая коллекция публичных VPN-конфигов (V2Ray / VLESS / Trojan / VMess / Reality / Shadowsocks / ShadowsocksR / Hysteria / Hysteria2 / TUIC) для быстрого обхода блокировок. Обход белых списков на мобильном интернете.

Каждый конфиг — это TXT-подписка, которую можно импортировать практически в любой современный клиент (v2rayNG, NekoRay, Throne, v2rayN, V2Box, v2RayTun, Hiddify и др.).

Конфиги обновляются каждый час с VPS (основной канал) и раз в 2 дня через GitHub Actions (резервный).

Особенности

  • Автоматическая фильтрация и дедупликация конфигов
  • Разделение больших файлов для лучшей производительности (максимум 300 конфигов на файл)
  • Поддержка различных типов протоколов (V2Ray, VLESS, Trojan, VMess, и др.)
  • Поддержка обработки base64-кодированных подписок с фильтрацией по доменным именам
  • Улучшенная фильтрация безопасности: комплексная проверка insecure параметров для повышения безопасности
    • VMess: проверка insecure, allowInsecure, security=none, alterId > 0 + валидация TLS SNI
    • VLESS: проверка allowInsecure, insecure, security=none, encryption=none + валидация Reality publicKey
    • Trojan: проверка allowInsecure, insecure + валидация Reality publicKey/SNI
    • Shadowsocks: проверка слабых шифров (RC4, DES, CFB, Salsa20, Chacha20 non-IETF) + отвергаются пустые пароли
    • ShadowsocksR: проверка слабых шифров + конвертация в Shadowsocks + отвергаются пустые пароли
    • Hysteria2: валидация TLS SNI
    • Hysteria v1: предупреждение при insecure=1
    • TUIC: не поддерживается Xray-core (возвращает None)
    • Общие: проверка verify=0, verify=false, insecure=1
  • Специальные конфиги для обхода SNI/CIDR белых списков
  • Небезопасные конфиги для обхода SNI/CIDR
  • Конфиги, разделенные по протоколам
  • Создание файлов all.txt и all-secure.txt
  • Автоматическая верификация конфигов: тестирование через Xray-core с сортировкой по скорости (fastest first), либо быстрая TCP верификация через --tcp-ping
  • Двухуровневая система верификации:
    • Raw файлы: нетестированные конфиги в /raw/ подпапках
    • Верифицированные файлы: протестированы через Xray-core, отсортированы по пингу
  • Telegram прокси: автоматический сбор, верификация и обработка MTProto и SOCKS5 прокси для Telegram с сортировкой по пингу
  • Прокси цепочки: поддержка цепочек прокси (--proxy-chain) для многоуровневого маршрутизирования
  • Прогресс бары: стабильные индикаторы прогресса при верификации конфигов и Telegram прокси с умным ETA (скользящее окно + timeout floor) и скоростью обработки
  • URL Health Report: автоматический сбор статистики по каждому URL-источнику — количество конфигов, результаты верификации, мёртвые URL
  • Авто-очистка мёртвых URL: URL с 3+ последовательными неудачными загрузками автоматически удаляются из URLS.txt
  • Авто-очистка мёртвых конфигов: конфиги из servers.txt с 3+ последовательными провалами верификации автоматически удаляются
  • Улучшенная валидация конфигов: теперь учитываются только строки, начинающиеся с поддерживаемого протокола (vless://, vmess://, trojan:// и др.) для предотвращения включения неподходящих строк в итоговые файлы
  • Поддержка ежедневно обновляемых репозиториев с автоматическим поиском конфигов по дате
  • Поддержка YAML-конфигов с конвертацией в формат VPN URL
  • Ручное добавление конфигов: возможность добавлять собственные серверы через файл source/config/servers.txt, которые будут автоматически фильтроваться и объединяться с другими источниками
  • Параллельные загрузки для ускорения процесса
  • Потокобезопасное логирование с сортировкой сообщений по файлам
  • Улучшенная архитектура с четким разделением ответственности между модулями

Документация

Полная документация — docs/index.md. Быстрый переход:

Раздел Описание
Быстрый старт 2 шага до подключения
Генерируемые файлы Папки, типы, формат файлов
Импорт в клиенты Android, iOS, Windows, macOS
Свои серверы Добавление VPN и Telegram-прокси
Установка генератора Запуск, health check, источники
Архитектура Модули, пайплайн, сигналы
Безопасность Фильтрация, SNI/CIDR, верификация
FAQ Частые вопросы

Содержание

Быстрый старт

  1. Скопируйте нужную ссылку из раздела Конфигурации (рекомендуем начать с 6.txt, 22.txt, 23.txt, 24.txt или 25.txt из папки default/ или bypass/bypass-all.txt для мобильного интернета)
  2. Импортируйте её в ваш VPN-клиент
  3. Выберите сервер с минимальным пингом и подключайтесь

Видео гайд

Внимание! Видео гайд актуален только для Android, Android TV, Windows, Linux, MacOS. Для iOS и iPadOS используйте текстовые инструкции ниже.

Смотреть на YouTube

Смотреть на Dzen

Смотреть на VK Video

Смотреть в Telegram


Конфигурации

Конфиги для обхода SNI/CIDR белых списков (bypass/)

Для пользователей мобильных устройств: при возникновении проблем с производительностью рекомендуется использовать файлы по отдельности, а не bypass-all.txt

bypass-all - все безопасные конфиги для обхода SNI/CIDR в одном файле

Файлы разделенные по 300 конфигов:

Небезопасные конфиги для обхода SNI/CIDR (bypass-unsecure/)

bypass-unsecure-all - все конфиги для обхода SNI/CIDR в одном файле (включая небезопасные)

Файлы разделенные по 300 конфигов:

Обычные конфиги (default/)

Обычные конфиги для обхода стандартных блокировок.

Дополнительные файлы в default/

  • all.txt - все уникальные конфиги из папки default в одном файле
  • all-secure.txt - все безопасные (без insecure параметров) уникальные конфиги из папки default в одном файле

Конфиги, разделенные по протоколам (split-by-protocols/)

Безопасные протокол-специфичные файлы:

Все протокол-специфичные файлы (включая небезопасные):

Telegram прокси (tg-proxy/)

Файлы с Telegram прокси для обхода блокировок мессенджера:

  • all.txt - все Telegram прокси (MTProto + SOCKS5, отсортированы по пингу)
  • MTProto.txt - только MTProto прокси
  • socks.txt - только SOCKS5 прокси

Ссылка на QR-коды конфигов


Установка и использование

Гайд для Android

1. Скачиваем «v2rayNG» universal.apk - Ссылка

Можно использовать «Happ» - Ссылка, но в настройках: Подписки -> сортировать по пингу

2. Копируем в буфер обмена ссылку на конфиг из раздела Конфигурации

3. Заходим в приложение «v2rayNG» и в правом верхнем углу нажимаем на +, а затем выбираем «Импорт из буфера обмена».

4. Нажимаем «справа сверху на три точки», а затем «Проверка профилей группы», после окончания проверки в этом же меню нажмите на «Сортировка по результатам теста».

5. Выбираем нужный вам сервер и затем нажимаем на кнопку ▶️ в правом нижнем углу.

Гайд для Android TV

1. Скачиваем «v2rayNG» universal.apk - Ссылка

2. Скачиваем «QR-коды» вечно актуальных конфигов - Ссылка

3. Заходим в приложение «v2rayNG» и в правом верхнем углу нажимаем на +, а затем выбираем «Импорт из QR-кода», выбираем картинку нажав на иконку фото в правом верхнем углу.

4. Нажимаем «справа сверху на три точки», а затем «Проверка профилей группы», после окончания проверки в этом же меню нажмите на «Сортировка по результатам теста».

5. Выбираем нужный вам сервер и затем нажимаем на кнопку ▶️ в правом нижнем углу.

Дополнительные решения проблем

Если нету интернета при подключении к VPN в v2rayNG

Ссылка на видео с демонстрацией фикса - Ссылка

Если не появились конфиги при добавлении VPN в v2rayNG

  1. Нажмите на «три полоски» в «левом верхнем углу».
  2. Нажимаем на кнопку «Группы».
  3. Нажимаем на «иконку кружка со стрелкой» в «верхнем правом углу» и дожидаемся окончания обновления.

Фикс ошибки "Cбой проверки интернет-соединения: net/http: 12X handshake timeout"

  1. На рабочем столе зажимаем на иконке «v2rayNG» и нажимаем на пункт «О приложении».
  2. Нажимаем на кнопку «Остановить» и заново запускаем «v2rayNG».

Фикс ошибки "Fail to detect internet connection: io: read/write closed pipe"

  1. На рабочем столе зажимаем на иконке «v2rayNG» и нажимаем на пункт «О приложении».
  2. Нажимаем на кнопку «Остановить» и заново запускаем «v2rayNG».
  3. Нажимаем «справа сверху на три точки», а затем «Проверка профилей группы», после окончания проверки в этом же меню нажмите на «Сортировка по результатам теста».
  4. Выбираем нужный вам сервер и затем нажимаем на кнопку ▶️ в правом нижнем углу.

Обновление конфигов в v2rayNG

  1. Нажимаем на «иконку трех полосок» в «левом верхнем углу».
  2. Выбираем вкладку «Группы».
  3. Нажимаем на «иконку кружка со стрелкой» в «правом верхнем углу».

Гайд для Windows, Linux

1. Скачиваем «v2rayN» - Ссылка

Можно использовать «nekoray» - Ссылка

Можно использовать «Throne» - Ссылка

2. Копируем в буфер обмена ссылку на конфиг из раздела Конфигурации

3. Нажимаем на «Профили», а затем «Добавить профиль из буфера обмена».

4. Выделяем все конфиги комбинацией клавиш «Ctrl + A», нажимаем «Профили» в верхнем меню, а затем «Тест задержки (пинга) выбранного профиля» и дожидаемся окончания теста (во вкладке «Логи» появится надпись «Тест задержек (пинга) завершён!»)

5. Наживаем на кнопку колонки «Задержка (пинг)».

6. В верхней части окна программы активируйте опцию «Режим TUN», установив галочку.

7. Выбираем один из конфигов с наименьшим «Задержка (пинг)», а затем нажимаем «ЛКМ» и «Запустить».

Дополнительные руководства для Windows

Исправляем ошибку MSVCP и VCRUNTIME на Windows 10/11

  1. Нажимаем «Win+R» и пишем «control».
  2. Выбираем «Программы и компоненты».
  3. В поиск (справа сверху) пишем слово «Visual» и удалям все что касается «Microsoft Visual».
  4. Скачиваем архив и распаковываем - Ссылка
  5. Запускаем от имени Администратора «install_bat.all» и ждем пока все установиться.

Обновление конфигов в NekoRay

  1. Нажимаем на кнопку «Настройки».
  2. Выбираем «Группы».
  3. Нажимаем на кнопку «Обновить все подписки».

Гайд для iOS, iPadOS

1. Скачиваем «V2Box - V2ray Client» - Ссылка

Можно использовать «Happ» - Ссылка, в настройках: Подписки -> сортировать по пингу

2. Копируем в буфер обмена ссылку на конфиг из раздела Конфигурации

3. Заходим в приложение «V2Box - V2ray Client» и переходим во вкладку «Config», нажимаем на плюсик в правом верхнем углу, затем - «Добавить подписку», вводим любое «Название» и вставляем ссылку на конфиг в поле «URL».

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

5. В нижней панели программы нажимаем кнопку «Подключиться».

Обновление конфигов в V2Box - V2ray Client

1. Переходим во вкладку «Config».

2. Нажимаем на иконку обновления слева от названия группы подписки.


Гайд для MacOS

1. Скачиваем «Hiddify» - Ссылка

Можно использовать «v2rayN» - Ссылка

2. Нажимаем «Новый профиль».

3. Копируем в буфер обмена ссылку на конфиг из раздела Конфигурации

4. Нажимаем на кнопку «Добавить из буфера обмена».

5. Перейдите в «Настройки», измените «Вариант маршрутизации» на «Индонезия».

6. Нажмите в левом верхнем меню на иконку настроек и выберите «VPN сервис».

7. Включаем «VPN» нажав на иконку по середине.

8. Для смены сервера включите «VPN» и перейдите во вкладку «Прокси».

Обновление конфигов в Hiddify

1. Заходим в приложение «Hiddify» и выбираем нужный вам профиль.

2. Нажимаем «слева от названия профиля на иконку обновления».


Дополнительно

Структура репозитория

githubmirror/        - сгенерированные .txt файлы конфигов
 ├─ default/          - основные конфиги (1.txt, 2.txt, ..., all.txt, all-secure.txt)
 ├─ bypass/           - безопасные конфиги для обхода SNI/CIDR
  │   ├─ raw/          - нетестированные конфиги (перед верификацией)
  │   └─ bypass-all.txt, bypass-1.txt, ... (протестированы, отсортированы по пингу)
 ├─ bypass-unsecure/  - все конфиги для обхода SNI/CIDR (включая небезопасные)
  │   ├─ raw/          - нетестированные конфиги (перед верификацией)
  │   └─ bypass-unsecure-all.txt, bypass-unsecure-1.txt, ... (протестированы, отсортированы по пингу)
 ├─ split-by-protocols/ - протокол-специфичные файлы (vless.txt, vmess.txt, trojan.txt, и т.д. в обеих версиях: secure и unsecure)
 ├─ tg-proxy/         - Telegram прокси (all.txt, MTProto.txt, socks.txt)
qr-codes/            - PNG-версии конфигов для импорта по QR
source/              - исходный код генератора
 ├─ data/            - постоянная статистика URL (gitignored, накапливается между запусками)
 ├─ main.py          - основная точка входа в приложение
 ├─ config/          - настройки и конфигурационные параметры
  │   ├─ settings.py  - глобальные настройки, токены, URL-источники, часовые пояса
  │   ├─ URLS.txt     - список URL для основных конфигов (секции: default, extra_bypass, yaml, telegram)
  │   ├─ servers.txt  - список ручных серверов для добавления в конфигурации
  │   ├─ tg_proxies.txt - список ручных Telegram прокси
  │   ├─ whitelist-all.txt - список доменов для SNI фильтрации
  │   └─ cidrwhitelist.txt - список CIDR для IP фильтрации
 ├─ fetchers/        - модули для загрузки конфигов из внешних источников
  │   ├─ fetcher.py   - базовый загрузчик конфигов с curl_cffi (быстрый, обход анти-ботов)
  │   ├─ daily_repo_fetcher.py - загрузка из ежедневно обновляемого репозитория
  │   ├─ telegram_proxy_scraper.py - скрапер Telegram прокси (MTProto и SOCKS5)
  │   ├─ yaml_converter.py - конвертер YAML-конфигов (Clash/Surge) в формат VPN URL
  │   ├─ sstap_scraper.py - скрапинг sstap.org/node-real-time-update/
  │   └─ upstream_aggregator.py - агрегатор yudou226.top + guidongone
 ├─ processors/      - основная обработка и фильтрация конфигов
  │   ├─ config_processor.py - ConfigPipeline — оркестратор пайплайна
  │   └─ telegram_proxy_processor.py - обработчик Telegram прокси
 ├─ utils/           - вспомогательные функции и утилиты
  │   ├─ file_utils.py - I/O, SNI/CIDR, дедупликация, prepare_config_content
  │   ├─ security_filter.py - has_insecure_setting + cipher sets (SS_WEAK/SS_SECURE)
  │   ├─ vpn_config.py - VPNConfig dataclass иерархия
  │   ├─ managed_process.py - ManagedProcess lifecycle
  │   ├─ process_registry.py - единый реестр процессов (заменил 3 старых)
  │   ├─ config_tagger.py - ConfigTagger (source+protocol)
  │   ├─ system_specs.py - SystemSpecs — автодетект RAM/CPU/WSL/cgroups
  │   ├─ psutil_available.py - единый import psutil (HAS_PSUTIL)
  │   ├─ protocol_parsers.py - парсеры протоколов (вынесены из xray_tester)
  │   ├─ config_helpers.py - хэлперы пайплайна
  │   ├─ xray_tester.py - Xray-core тестирование с сортировкой по скорости
  │   ├─ simple_tester.py - TCP пинг конфигов (без Xray)
  │   ├─ smart_eta.py - умный ETA для batch-тестирования
  │   ├─ telegram_proxy_verifier.py - верификация Telegram прокси
  │   ├─ proxy_detector.py - авто-детекция активных прокси
  │   ├─ ip_verifier.py - проверка IP и настройка прокси цепочек
  │   ├─ proxy_monitor.py - мониторинг здоровья прокси-цепочек
  │   ├─ resource_monitor.py - мониторинг CPU/RAM/сети
  │   ├─ executor_cache.py - кэш ThreadPoolExecutor с WSL-детекцией
  │   ├─ download_xray.py - загрузка и установка Xray-core
  │   ├─ url_stats.py - сбор статистики и авто-очистка мёртвых URL
  │   ├─ health_check.py - health check (интернет/Xray/GitHub API)
  │   ├─ _sni_worker.py - SNI/CIDR worker (внутренний)
  │   ├─ logger.py - потокобезопасное логирование
  │   ├─ progress.py - консолидированный tqdm импорт
  │   ├─ github_handler.py - работа с GitHub API (PyGithub)
  │   └─ git_updater.py - Git-коммиты (режим VPS cron)
  └─ requirements.txt - зависимости проекта
 scripts/              - служебные скрипты
  ├─ purge_dead_urls.py - очистка URLS.txt от нерабочих ссылок
  ├─ purge_stale_urls.py - очистка по git timestamp
  ├─ analyze_url_stats.py - анализ статистики URL
  ├─ benchmark_configs.py - бенчмарк конфигов (--mode xray|tcp)
  └─ test_telegram_proxies.py - тестирование Telegram прокси
  ├─ conftest.py - фикстуры и конфигурация pytest
  ├─ test_fetcher.py - тесты загрузчика конфигов
   ├─ test_file_utils.py - тесты утилит работы с файлами
   ├─ test_config_processor.py - тесты процессора конфигов
   ├─ test_smart_eta.py - тесты умного ETA
   ├─ test_telegram_proxy_scraper.py - тесты скрапера Telegram прокси
   ├─ test_url_stats.py - тесты статистики URL
  └─ README.md - документация по тестам
 .github/workflows/   - CI/CD (авто-обновление ежедневно)
 README.md            - этот файл
 docs/                - документация проекта (см. docs/index.md)

Локальный запуск генератора

git clone https://github.com/whoahaow/rjsxrd
cd rjsxrd
cp .env.example .env          # создайте и заполните .env своими настройками
nano .env                      # укажите GITHUB_TOKEN и REPO_NAME
cd source
python -m pip install -r requirements.txt
python main.py                 # конфиги появятся в ../githubmirror

Важно: Скопируйте .env.example в .env и заполните GITHUB_TOKEN (токен с доступом repo) и REPO_NAME (формат owner/repo). Telegram-уведомления и тюнинг производительности — опционально.

Запуск тестов

Проект включает набор unit-тестов для проверки корректности работы основных модулей (619 тестов, 25 файлов):

cd source
pip install pytest pytest-cov pytest-asyncio pytest-xdist pytest-mock
pytest                              # Запустить все тесты
pytest -v                           # Подробный вывод
pytest --cov=fetchers --cov=utils   # С отчетом о покрытии
pytest -m unit                      # Только быстрые unit-тесты
pytest -n auto                      # Параллельный запуск

Подробнее см. source/tests/README.md

Режимы запуска

Локальное тестирование без загрузки в GitHub:

python main.py --dry-run

Запуск в режиме git (рекомендуется для VPS):

python main.py --use-git --no-proxy-check

Пропустить Xray верификацию (конфиги без проверки):

python main.py --skip-xray

TCP пинг вместо Xray (быстрее, но менее точно):

python main.py --tcp-ping

Использовать один прокси:

python main.py --proxy="vless://uuid@host:port?..."

Использовать цепочку прокси (EXPERIMENTAL):

python main.py --proxy-chain="vless://hop1,hop2,hop3"

Пропустить проверку прокси:

python main.py --no-proxy-check

Feature-флаги (переопределяют settings.py для одного запуска):

python main.py --enable-default-files          # Генерировать default/ (1.txt, all.txt)
python main.py --disable-default-files         # Пропустить default/
python main.py --enable-bypass-unsecure        # Генерировать bypass-unsecure/
python main.py --disable-bypass-unsecure       # Пропустить bypass-unsecure/
python main.py --enable-protocol-split         # Генерировать split-by-protocols/
python main.py --disable-protocol-split        # Пропустить split-by-protocols/
python main.py --enable-tg-proxy               # Генерировать tg-proxy/
python main.py --disable-tg-proxy              # Пропустить tg-proxy/
python main.py --publish-raw-files             # Загружать /raw/ подпапки
python main.py --no-publish-raw-files          # Не загружать /raw/ подпапки

Подробный лог (показывает пропущенные конфиги):

python main.py --verbose

Зависимости

Основные зависимости:

  • curl_cffi - быстрый HTTP клиент с TLS fingerprinting (2-3x быстрее requests)
  • PyGithub - работа с GitHub API
  • PyYAML - парсинг YAML конфигов (Clash/Surge)
  • requests[socks] - HTTP запросы через прокси (fallback)
  • ahocorasick-rs - быстрый Aho-Corasick для SNI-фильтрации
  • aiofiles - асинхронная запись файлов
  • aiodns - асинх DNS резолвинг (опционально, для скорости)
  • PySocks - SOCKS прокси поддержка
  • psutil - мониторинг ресурсов и управление процессами Xray
  • tqdm - прогресс бары для верификации конфигов и Telegram прокси
  • pytdbot[tdjson] - Telegram бот API

Для разработки и тестирования:

  • pytest - фреймворк для тестирования
  • pytest-cov - отчет о покрытии кода
  • pytest-asyncio - поддержка async тестов
  • pytest-xdist - параллельный запуск тестов
  • pytest-mock - mocking утилиты

Лицензия

Проект распространяется под лицензией MIT License. Полный текст лицензии содержится в файле LICENSE.


Источники и вдохновение

Основной репозиторий, который вдохновил данный проект: https://github.com/AvenCores/goida-vpn-configs


ДИСКЛЕЙМЕР

Автор не является владельцем/разработчиком/поставщиком перечисленных VPN-конфигураций. Это независимый информационный обзор и результаты тестирования.

Данный репозиторий не является рекламой VPN. Материал предназначен исключительно в информационных целях, и только для граждан тех стран, где эта информация легальна, как минимум - в научных целях. Автор не имеет никаких намерений, не побуждает, не поощряет и не оправдывает использование VPN ни при каких обстоятельствах. Ответственность за любое применение данных VPN-конфигураций — на их пользователе. Отказ от ответственности: автор не несёт ответственность за действия третьих лиц и не поощряет противоправное использование VPN. Используйте в соответствии с местным законодательством.

Используйте VPN только в законных целях: в частности - для обеспечения вашей безопасности в сети и защищённого удалённого доступа, и ни в коем случае не применяйте данную технологию для обхода блокировок.

About

Обход блокировок. Обход белых списков. Обход белого списка.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors