GUI-клиент для Windows, Linux и macOS. Поддерживает Xray, sing-box и другие ядра
v2rayN-RU — форк v2rayN с дополнительными возможностями:
- Поддержка HWID клиента — при обновлении подписок клиент отправляет Happ-совместимые HWID-заголовки (
x-hwid,x-device-os,x-ver-os,x-device-locale), совместимые с Remnawave Panel v2.9.0+. Это позволяет использовать подписки, требующие авторизации по аппаратному идентификатору устройства. - Полная поддержка конфигураций
.json— импорт и запуск произвольных пользовательских.json-конфигураций ядра как есть.
Скачать последнюю версию можно здесь:
https://github.com/h1w/v2rayN-RU/releases
Для локальной переносимой Windows x64 сборки установите .NET 10 SDK и выполните
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-windows.ps1 из корня
репозитория. Скрипт публикует приложение и AmazTool, копирует ядра из локальной
папки bin в publish\win-x64. Ядра Xray и sing-box должны уже находиться в bin.
Пользовательские настройки не копируются и не удаляются.
Руководства по использованию и настройке смотрите в Wiki.
https://github.com/2dust/v2rayN/wiki
В Rule Settings галочка в первом столбце и переключатель в редакторе правила отражают одно состояние: редактор открывается с текущим значением галочки, а подтверждённое изменение переключателя обновляет список. Отмена редактирования не меняет состояние правила. Для сохранения изменений нажмите кнопку сохранения в окне Rule Settings. При обновлении JSON-подписки сохранённый порядок JSON-правил относительно локальных и их состояние включения переносятся на соответствующий обновлённый профиль. Состояние сохраняется и при временно выключенной настройке редактирования JSON-правил.
При включённых TUN и Legacy TUN Protect для управляемого Custom Xray
вспомогательный sing-box создаётся автоматически, даже если Socks port пуст.
Он принимает TUN и подключения к локальному mixed-порту приложения, а основной
Xray получает отдельный внутренний SOCKS-порт на loopback. Этот порт выбирается
при запуске и не сохраняется в подписку: сброс поля при обновлении подписки
не отключает Legacy TUN. Общая маршрутизация по назначениям остаётся в основном ядре.
Для локальных правил процессов sing-box определяет только имя/путь процесса и
передаёт соединение на соответствующий внутренний вход Xray. Xray применяет исходный
порядок JSON- и локальных правил, включая условия домена, IP, порта и протокола;
раннее доменное правило не теряет приоритет перед поздним правилом процесса.
Совпадающие наборы процессных правил используют один вход, а неизвестные процессы —
обычный вход без процессных правил. Эти входы учитываются в общей статистике один раз;
дополнительный профиль учитывается по точному выбранному выходу основного Xray.
Без sing-box-помощника запуск общей Custom-маршрутизации с процессными правилами
отклоняется, а не передаёт Xray неподдерживаемый предикат process.
Для остальных неуправляемых Custom-конфигураций сохраняется прежняя ручная настройка порта.
Для управляемых Custom-конфигураций в TUN транспортные адреса поддерживаемых
outbound-серверов защищаются точными парами «адрес + порт»: вспомогательный
sing-box направляет их напрямую даже при недоступном определении процесса.
Явные цепочки dialerProxy, proxySettings и detour учитываются; весь порт
или весь IP целиком не исключается. Другие приложения, обращающиеся к той же
точной паре, также используют прямой выход. Для доменов используется обратное
сопоставление DNS-ответов, наблюдаемых sing-box: старый внешний DNS-кеш и
сторонний зашифрованный DNS не гарантируют такое сопоставление. Для динамических
SRV/TXT-адресов и неподдерживаемых схем остаётся защита по процессу.
При работе основного Xray со вспомогательным sing-box вкладка Proxies показывает outbound'ы и балансировщики из итогового запущенного JSON: теги, протоколы, адреса, принадлежность балансировщикам и явно заданные цепочки. Для точного совпадения адреса и порта с соединением sing-box показываются число соединений, суммарные байты сейчас открытых соединений и скорость между опросами. Это транспортные показатели, а не накопленная статистика пользовательских запросов. Общие для нескольких outbound'ов адреса помечаются неоднозначными, их трафик не приписывается каждому прокси повторно. Домены сопоставляются с доменом из метаданных; отдельный DNS-поиск и догадки по SNI не выполняются. Неподдерживаемые схемы остаются в списке без выдуманных показателей.
Во вкладке Connections к маршруту добавляются совпавшие теги Xray; фильтр ищет по назначению, имени прокси, имени и полному пути процесса без учёта регистра. Закрытие соединений работает через sing-box. Это не устанавливает связь между отдельным запросом к сайту и выбором outbound внутри Xray. При смене/остановке ядра сведения сбрасываются. Для основного sing-box/mihomo сохраняются прежние нативные вкладки. Управление режимом, выбором прокси и проверкой задержки вспомогательного SOCKS в режиме Xray скрыто.
В Proxies доступны поиск по имени/адресу/балансировщику и фильтр соединений; столбцы балансировщиков, отправленных/принятых байтов и обеих скоростей сохранены. Служебные выходы вынесены в сворачиваемую секцию, цепочки и пояснения — в сведения выбранной строки. В Connections доступны категории «Все», «Пользовательские», «К прокси» и короткие маршруты вместо внутренних правил; исходное правило, тип и сеть доступны в подробностях. Нераспознанные соединения остаются в «Все». Клик по имени процесса копирует полный путь и показывает уведомление только после успешной записи в буфер обмена. При неизвестном пути отображается прочерк, копирование недоступно. Обновление сохраняет существующие строки и выделение, не пересоздавая таблицу целиком.
В основном списке после задержки и тестовой скорости расположены ↓ Получено, ↑ Отправлено, ↓ Сейчас, ↑ Сейчас. Накопленные значения сохраняются в базе профилей; текущие скорости показываются одновременно для основного и дополнительных профилей правил. При остановке или недоступных счётчиках ячейки скоростей пустые; известный нулевой трафик показывается как 0 B/s. Учёт работает независимо от открытых вкладок, свёрнутого окна и старых переключателей отображения статистики. Эти переключатели управляют только дополнительными суточными столбцами и строкой состояния; накопление и четыре основных столбца работают постоянно. Во вкладке Proxies скорости Xray обновляются примерно раз в секунду при включённом автообновлении, независимо от интервала обновления нативного списка. Запросы выполняются последовательно, без очереди параллельных обновлений.
Для Xray считываются суммарные счётчики пользовательских входов основного ядра: вспомогательный sing-box и внутренний повторный вход маршрутизации не суммируются. Это трафик профиля, включая прямые выходы через основное ядро, а не счётчик оплаченного трафика провайдера. Для основного sing-box/mihomo используются накопительные счётчики Clash API. У sing-box с внутренней петлёй общей маршрутизации точный учёт недоступен: сохраняются прежние итоги и пустые ячейки скоростей вместо двойного подсчёта. Исторические значения старой версии сохраняются без пересчёта.
Дополнительные профили Xray учитываются по точным тегам сгенерированных выходов, с привязкой к исходному профилю и подписке, включая SOCKS-переход к Custom-ядру. Несколько правил одного профиля не создают повторного учёта. Их итоги уже входят в общий итог основного профиля: складывать основную строку с дополнительными нельзя. Когда правила процессов выполняет вспомогательный sing-box перед основным Xray, выбранный дополнительный выход передаётся через отдельный локальный SOCKS-вход основного ядра. Этот вход ведёт сразу к выбранному выходу или балансировщику, без повторного применения обычных правил Xray. Определение процесса остаётся в sing-box; счётчики Xray учитывают и основной поток, и разбивку дополнительных профилей. Доменные и процессные правила одной цели используют общую границу учёта. Для основного sing-box отдельные Custom-ядра учитываются при наличии собственных счётчиков; для встроенных дополнительных выходов Clash API не даёт точных накопительных счётчиков, поэтому их скорости остаются пустыми, а прошлые итоги сохраняются.
Повторяющиеся сообщения connection download closed: close tcp …: endpoint not connected
в обычном журнале сворачиваются в информационный счётчик не чаще раза в 30 секунд.
Исходные строки сохраняются в диагностическом журнале guiLogs. Непустой фильтр
сообщений (например, endpoint not connected) показывает новые исходные строки;
уже свёрнутые строки в окно не возвращаются. При отключённом диагностическом
логировании сворачивание отключается, чтобы не терять сообщения. Ошибки подключения,
TLS, тайм-ауты и другие ошибки не скрываются.
| Платформа | x64 | x86 | arm64 | riscv64 | loong64 |
|---|---|---|---|---|---|
| Windows | ✅ | ✅ | ✅ | - | - |
| Linux | ✅ | - | ✅ | ✅ | ✅ |
| macOS | ✅ | - | ✅ | - | - |
Файлы релизов подписаны с помощью GPG для проверки подлинности и целостности — это помогает предотвратить подмену со стороны зеркал, интернет-провайдера или CDN.
ECF0 C3FB E838 19F6 6D5D
0989 C946 B144 9B53 7603
Telegram-группа:
Telegram-канал: