No description
Find a file
mamutrahal269 d61940aae9 gh workflow
2026-09-02 21:43:58 +07:00
.github/workflows gh workflow 2026-09-02 21:43:58 +07:00
proxy переписька го 2026-08-27 09:24:41 +07:00
urlconv fix 2026-09-01 09:37:38 +07:00
utils переписька го 2026-08-27 09:24:41 +07:00
.gitignore переписька го 2026-08-27 09:24:41 +07:00
dedup.go переписька го 2026-08-27 09:24:41 +07:00
fetchers.go fix 2026-09-01 09:37:38 +07:00
filters.go переписька го 2026-08-27 09:24:41 +07:00
fragment.go fix 2026-09-01 09:37:38 +07:00
go.mod fix 2026-09-01 09:37:38 +07:00
go.sum переписька го 2026-08-27 09:24:41 +07:00
LICENSE Add GNU General Public License v3 2026-08-31 12:15:21 +00:00
main.go fix 2026-09-01 09:37:38 +07:00
README.md добавлен ридми 2026-08-31 21:25:45 +07:00
v2sort_example.toml переписька го 2026-08-27 09:24:41 +07:00

v2sort - прокси чекер на базе xray-core

Go

xray-core

🚀 Возможности

Поддерживает VLESS, VMess, Shadowsocks, Trojan, HTTP(S), SOCKS5 и Hysteria2. Нативная работа с xray-core, не требует ни внешних зависимостей, ни портов, ни процессов и никаких прочих костылей. Определение гео через cloudflare cdn-cgi/trace, спидтест, множественное get тестирование, формирование имен ключей через шаблоны, гибкая конфигурация. Три режима работы: dedup, validate, check. Можно встраивать в скрипты, крон и тд.

🎛 Режимы работы

Команда Что делает
dedup Удаляет дубликаты по структуре конфига xray
validate Проверяет, что ядро запускается с каждым ключом
check dedup + validate + тестирование

🚩 Флаги check

Флаг Описание По умолчанию
-c, --config Путь к TOML-конфигу (обязателен)
-j, --jobs Параллельных воркеров runtime.NumCPU()
-t, --timeout Таймаут GET-запроса 5s
-n, --min-successful Минимум успешных URL 1
-r, --random Один случайный URL вместо всех false
-g, --geo Определение гео false
-S, --speedtest Замер скорости false
--speedtest-timeout Таймаут спидтеста 5s
--fragment-fmt Шаблон имени ключа
-o, --output Файл для рабочих ключей stdout
-x, --trash Файл для мусорных ключей null
--fetch-timeout Таймаут загрузки подписок 5s

🏷 Шаблоны имён ключей

Плейсхолдер Значение
%url% Исходный URL
%ipv4% IPv4-адрес (или N/A)
%ipv6% IPv6-адрес (или N/A)
%country% Двухбуквенный код страны (или N/A)
%speed% Скорость, байт/с
%speed_kib% Скорость, KiB/s
%speed_mib% Скорость, MiB/s
%avg_time% Среднее время отклика

📋 Примеры

# Дедупликация подписки
v2sort dedup https://example.com/sub -o clean.txt -x trash.txt

# Валидация
v2sort validate sub.txt -o valid.txt -x trash.txt

# Полный чек: 50 потоков, geo, speedtest, шаблонные имена
v2sort check sub.txt -c v2sort.toml -j 50 -t 8s -n 2 -g -S --fragment-fmt "[%country%] %avg_time%" -o result.txt -x dead.txt


v2sort check sub.txt -c v2sort.toml -g -o prxies.txt

v2sort check sub.txt -c v2sort.toml -r -t 5s -o ok.txt

🔍 Фильтры

  • Протоколы - оставить/исключить vless, vmess, ss, trojan, http, socks5, hysteria2
  • Страны - фильтрация по geo-данным Cloudflare (требует -g)
  • CIDR - фильтрация по подсетям IPv4/IPv6 (требует -g)

📄 Лицензия

GPLv3