Skip to content
whoahaowPublic

About

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

Topics

Resources

Security policy

Stars

872 stars

Watchers

20 watching

Forks

Repository files navigation

Language: Русский · English

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

tgc: t.me/rjsxrd


Если вы хотите поддержать меня, то вот мои крипто-кошельки:

SOL: DcvcsapMBqbLdA2GRhGQXPq5F74AkLQ4eh8yyTxEtsVj

USDT (TRC20): TTgMgXWZKFpzqXL7mPfchvjovMHKaGyea4

BTC: bc1q8s5snc95w3696taw5du9gnz6uf33wjz3yrq5e6

ETH: 0x17D7206EBfba1F0b6b65E99ACbd294827D9A79B1


Автоматически обновляемая коллекция публичных 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: в проверенные файлы попадают только шифры, которые умеет xray (AEAD и 2022-blake3); слабые (RC4, DES, CFB, Salsa20, Chacha20 non-IETF) и незнакомые xray отбраковываются до верификации + отвергаются пустые пароли
    • ShadowsocksR: тот же список шифров — если у ноды стоит aes-256-cfb (дефолт ssserver), xray такой конфиг не загружает и нода в проверенных файлах не появится + конвертация в Shadowsocks + отвергаются пустые пароли
    • Hysteria2: верифицируется outbound'ом hysteria с version: 2 (TLS обязателен); узел с insecure=1 без pinSHA256 не проверяется — xray убрал allowInsecure, такой конфиг отклоняется фильтром совместимости
    • Hysteria v1: не верифицируется — xray умеет только version: 2, отказ до верификации с явной причиной
    • TUIC: не поддерживается Xray-core (реализации в xray нет; парсер возвращает 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/readme.md. Быстрый переход:

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

Содержание

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

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

Видео гайд

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

Смотреть на YouTube

Смотреть на Dzen

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

Смотреть в Telegram


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

Примечание: по умолчанию генератор создаёт только проверенные конфиги в bypass/. Остальные наборы (default/, bypass-unsecure/, split-by-protocols/, tg-proxy/, raw-файлы) включаются feature-флагами --enable-* (см. Режимы запуска). Все ссылки ниже актуальны — файлы публикуются на GitHub.

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

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

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

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

Файлы разделенные по 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, ...)
 ├─ tg-proxy/         - Telegram прокси (all.txt, MTProto.txt, socks.txt)
qr-codes/             - PNG-версии конфигов для импорта по QR
source/               - исходный код генератора
 ├─ __init__.py
 ├─ main.py           - основная точка входа в приложение
 ├─ config/           - настройки и конфигурационные параметры
 │   ├─ __init__.py
 │   ├─ settings.py   - глобальные настройки, токены, URL-источники, часовые пояса
 │   ├─ URLS.txt      - список URL для основных конфигов
 │   ├─ servers.txt   - список ручных серверов для добавления в конфигурации
 │   ├─ tg_proxies.txt - список ручных Telegram прокси
 │   ├─ whitelist-all.txt - список доменов для SNI фильтрации
 │   └─ cidrwhitelist.txt - список CIDR для IP фильтрации
 ├─ data/             - постоянная статистика URL (gitignored, накапливается между запусками)
 ├─ fetchers/         - модули для загрузки конфигов из внешних источников
 │   ├─ __init__.py
 │   ├─ 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/       - основная обработка и фильтрация конфигов
 │   ├─ __init__.py
 │   ├─ config_processor.py - ConfigPipeline — оркестратор пайплайна
 │   └─ telegram_proxy_processor.py - обработчик Telegram прокси
 ├─ scripts/          - служебные скрипты
 │   ├─ analyze_url_stats.py - анализ статистики URL
 │   ├─ benchmark_configs.py - бенчмарк конфигов (--mode xray|tcp)
 │   ├─ purge_dead_urls.py - очистка URLS.txt от нерабочих ссылок
 │   ├─ purge_stale_urls.py - очистка по git timestamp
 │   ├─ setup-vps.sh   - скрипт развёртывания на VPS
 │   └─ test_telegram_proxies.py - тестирование Telegram прокси
 ├─ tests/            - unit-тесты (1534 тестов, 43 файла)
 │   ├─ __init__.py
 │   ├─ conftest.py   - фикстуры и конфигурация pytest
 │   ├─ test_config_processor.py
 │   ├─ test_config_tagger.py
 │   ├─ test_content_sniffing.py - сниффинг base64-подписок по всем схемам
 │   ├─ test_docs_figures.py
 │   ├─ test_executor_cache.py
 │   ├─ test_extract_host_port.py - `extract_host_port`: dispatch по схеме, кодированные vmess/ssr/ss-адреса, IPv6 в скобках
 │   ├─ test_fetch_guard_scope.py - письменная граница гарда: запись allowlist, отключающая гард (отклоняется при загрузке), формы записей, обещанные настройкой
 │   ├─ test_fetch_posture.py - отказы от приватных адресов: счёт, отчёт, жизнь URL в URLS.txt, хосты GitHub-токена, трансляционные префиксы
 │   ├─ test_fetch_run_conditions.py - фетч, отменённый правилами самого прогона: счёт, отчёт, жизнь URL в URLS.txt
 │   ├─ test_fetcher.py
 │   ├─ test_fetcher_unit.py
 │   ├─ test_file_utils.py
 │   ├─ test_git_auto_cleaner.py
 │   ├─ test_git_updater.py
 │   ├─ test_github_handler.py
 │   ├─ test_health_check.py
 │   ├─ test_ip_checker.py
 │   ├─ test_ip_verifier.py
 │   ├─ test_logger.py
 │   ├─ test_main.py
 │   ├─ test_managed_process.py
 │   ├─ test_module_size.py
 │   ├─ test_pipeline_e2e.py - прогон всего пайплайна офлайн
 │   ├─ test_process_registry.py
 │   ├─ test_progress.py
 │   ├─ test_protocol_parsers.py
 │   ├─ test_proxy_monitor.py
 │   ├─ test_purge_stale_urls.py
 │   ├─ test_remark_invariance.py - ремарк не меняет вердикт ни одного читателя URL
 │   ├─ test_scripts_import.py
 │   ├─ test_security_filter.py
 │   ├─ test_simple_tester.py
 │   ├─ test_smart_eta.py
 │   ├─ test_stream_settings_builders.py - блоки `streamSettings` против ключей, которые читает xray
 │   ├─ test_telegram_proxy_processor.py - запись MTProto/SOCKS5 прокси в файлы
 │   ├─ test_telegram_proxy_scraper.py
 │   ├─ test_telegram_proxy_verifier.py
 │   ├─ test_url_stats.py
 │   ├─ test_vpn_config.py
 │   ├─ test_xray_batch.py
 │   ├─ test_xray_compat_filter.py
 │   ├─ test_xray_tester.py
 │   └─ test_yaml_converter.py
 ├─ utils/            - вспомогательные функции и утилиты
 │   ├─ __init__.py
 │   ├─ _sni_worker.py - SNI/CIDR worker (внутренний)
 │   ├─ bypass_builder.py - сборщик bypass-конфигов
 │   ├─ config_helpers.py - хэлперы пайплайна
 │   ├─ config_tagger.py - ConfigTagger (source+protocol)
 │   ├─ curl_import.py - условный импорт curl_cffi
 │   ├─ download_xray.py - загрузка и установка Xray-core
 │   ├─ executor_cache.py - кэш ThreadPoolExecutor с WSL-детекцией
 │   ├─ file_utils.py - I/O, SNI/CIDR, дедупликация, prepare_config_content
 │   ├─ file_writer.py - асинхронная запись результирующих файлов
 │   ├─ git_auto_cleaner.py - авто-очистка истории git
 │   ├─ git_updater.py - Git-коммиты (режим VPS cron)
 │   ├─ github_handler.py - работа с GitHub API (PyGithub)
 │   ├─ health_check.py - health check (интернет/Xray/GitHub API) + версия бинарника Xray
 │   ├─ ip_verifier.py - проверка IP и настройка прокси цепочек
 │   ├─ logger.py - потокобезопасное логирование
 │   ├─ managed_process.py - ManagedProcess lifecycle
 │   ├─ process_registry.py - единый реестр процессов
 │   ├─ progress.py - консолидированный tqdm импорт
 │   ├─ protocol_parsers.py - парсеры протоколов
 │   ├─ proxy_detector.py - авто-детекция активных прокси
 │   ├─ proxy_monitor.py - мониторинг здоровья прокси-цепочек
 │   ├─ psutil_available.py - единый import psutil (HAS_PSUTIL)
 │   ├─ resource_monitor.py - мониторинг CPU/RAM/сети
 │   ├─ security_filter.py - has_insecure_setting + cipher sets
 │   ├─ simple_tester.py - TCP пинг конфигов (без Xray)
 │   ├─ smart_eta.py - умный ETA для batch-тестирования
 │   ├─ system_specs.py - SystemSpecs — автодетект RAM/CPU/WSL/cgroups
 │   ├─ telegram_notifier.py - уведомления в Telegram
 │   ├─ telegram_proxy_verifier.py - верификация Telegram прокси
 │   ├─ url_stats.py - сбор статистики и авто-очистка мёртвых URL
 │   ├─ vpn_config.py - VPNConfig dataclass иерархия
 │   ├─ xray_batch.py - batch-режим тестирования (shared Xray)
 │   ├─ xray_compat.py - отбраковка конфигов, которые xray не загрузит
 │   ├─ xray_helpers.py - вспомогательные функции Xray
 │   ├─ xray_stream_settings.py - строители streamSettings: tls, reality, ws, grpc, httpupgrade, xhttp, finalmask
 │   └─ xray_tester.py - Xray-core тестирование с сортировкой по скорости
 ├─ xray/             - Xray-core бандл (xray, geoip.dat, geosite.dat, LICENSE)
 ├─ requirements.txt  - рантайм-зависимости
 └─ requirements-dev.txt - линтер, статическая типизация и тестовый тулчейн
.github/workflows/    - CI/CD (авто-обновление ежедневно)
.env                  - переменные окружения (gitignored)
.env.example          - шаблон переменных окружения
pyproject.toml        - метаданные и инструменты проекта
README.md             - этот файл
LICENSE               - лицензия MIT
docs/                 - документация проекта (см. docs/readme.md)

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

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

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

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

Проект включает набор unit-тестов для проверки корректности работы основных модулей (1534 тестов, 43 файла; замер — pytest -q):

# тестовый тулчейн — из корня репозитория
uv pip install --python .venv/Scripts/python.exe -r source/requirements-dev.txt

cd source
../.venv/Scripts/python.exe -m pytest                       # Запустить все тесты
../.venv/Scripts/python.exe -m pytest -v                     # Подробный вывод
../.venv/Scripts/python.exe -m pytest --cov=fetchers --cov=utils   # С отчетом о покрытии
../.venv/Scripts/python.exe -m pytest -m unit                # Только быстрые unit-тесты
../.venv/Scripts/python.exe -m pytest -n auto                # Параллельный запуск

Подробная документация по тестам — в docs/development/testing.md. Настройка окружения — в docs/development/development-environment.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

Batch-режим (shared Xray, экономия RAM для тысяч конфигов):

python main.py --batch-mode              # через CLI-флаг
XRAY_BATCH_MODE=batch python main.py     # через переменную окружения

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

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

Для разработки и тестирования (source/requirements-dev.txt, ставится поверх рантайм-зависимостей):

  • pytest - фреймворк для тестирования
  • pytest-cov - отчет о покрытии кода
  • pytest-asyncio - поддержка async тестов
  • pytest-xdist - параллельный запуск тестов
  • pytest-mock - mocking утилиты
  • hypothesis - property-based тесты
  • ruff - линтер
  • mypy - статическая проверка типов
  • pip-audit - проверка зависимостей на уязвимости
  • pre-commit - git-хуки

Лицензия

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


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

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


ДИСКЛЕЙМЕР

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

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

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

About

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

Topics

Resources

Security policy

Stars

872 stars

Watchers

20 watching

Forks

Releases

Packages

Contributors

Languages