Как уменьшить пинг в играх на ПК
Высокий пинг может существенно ухудшить качество вашего взаимодействия в интернете, вызывая задержки и лаги. Независимо от того, играете ли вы в онлайн-игры, участвуете в видеозвонках или используете голосовой чат, высокий пинг замедляет соединение и усложняет общение. Это проявляется в виде «заиканий» и зависаний в играх, мешая наслаждаться процессом.
Чтобы помочь вам справиться с этой проблемой, мы в редакции GGSel.net изучили наиболее частые причины высокого пинга и методы их устранения или предотвращения. Ниже вы найдете 11 эффективных способов снизить пинг и минимизировать лаги, обеспечивая более плавное и качественное взаимодействие в интернете.
Почему пинг может быть высоким?
Пинг измеряет время, необходимое вашему устройству, чтобы отправить сигнал на сервер и получить ответ. Он выражается в миллисекундах (мс) и является ключевым показателем скорости интернет-соединения.
Высокий пинг приводит к задержкам в связи с сервером. Идеальным считается пинг менее 50 мс, обеспечивающий быстрый и плавный отклик, особенно важный для онлайн-игр и видеозвонков.
Существует множество причин, по которым пинг может быть высоким:
1. Расположение маршрутизатора: Если маршрутизатор находится далеко или сигнал блокируется стенами, это может ухудшить качество подключения и увеличить пинг.
2. Медленный интернет: Низкая скорость интернета увеличивает время реакции сервера, что приводит к задержкам.
3. Удаленность сервера: Подключение к отдаленным серверам увеличивает время передачи данных.
4. Перегрузка сети: Подключение множества устройств к одному маршрутизатору может замедлить отклик из-за перегрузки.
5. Фоновые процессы: Загрузки, потоковое видео или обновления могут использовать пропускную способность, увеличивая пинг.
6. Настройки графики в играх: Высокие графические настройки могут нагрузить систему и ухудшить игровой процесс.
7. Настройки брандмауэра: Проверка данных брандмауэром может вызвать небольшие задержки.
8. Ограничения интернет-провайдера: Провайдеры могут снижать скорость, если вы превышаете лимиты трафика или используете много пропускной способности. Решить проблему поможет смена IP-адреса или шифрование данных, чтобы скрыть активность от провайдера.
9. Переполненные игровые серверы: Когда слишком много пользователей подключатся к серверу, его ресурсы оказываются перегружены, вызывая задержки, подобно движению в плотной толпе.
10. Перегруженные серверы провайдера: В часы пик (17:00–21:00) сервера провайдера могут испытывать повышенную нагрузку, что увеличивает пинг.
11. Устаревшие устройства: Со временем устройства устаревают и могут не справляться с современными требованиями, что ухудшает соединение и повышает пинг.
Для комфортного серфинга и потокового видео пинг до 100 мс считается приемлемым. Однако для задач, требующих высокой производительности, таких как игры или видеозвонки, рекомендуется стремиться к пингу ниже 50 мс. К счастью, существуют простые способы снижения пинга для улучшения качества соединения.
Как снизить пинг: 11 эффективных способов
Если у вас возникли проблемы с высоким пингом, не беспокойтесь — есть несколько решений. Хотя не каждый метод может сработать в вашем случае, попробовать стоит. Вот 11 проверенных способов, начиная с самых простых:
1. Перезагрузите роутер и компьютер
Иногда простая перезагрузка способна помочь снизить пинг. Когда вы перезапускаете роутер, он может переключиться на каналы с меньшей загрузкой, улучшив качество соединения. Кроме того, перезапуск очищает временные данные, способствуя ускорению интернета. Для этого просто выключите роутер, подождите несколько секунд, а затем включите его снова. Не забудьте перезагрузить и ваш компьютер, чтобы освободить все системные ресурсы.
2. Используйте программы для снижения пинга
Такие утилиты, как ExitLag, помогают улучшить качество интернет-соединения в онлайн-играх. За счет снижения задержки, стабилизации соединения и уменьшения потери пакетов. Для активации подписки вы можете воспользоваться торговой платформой GGSel:
Зайдите на сайт GGSel и введите в поисковой строке «ExitLag».
Выберите предложение на основе цены, количества продаж и отзывов.
Ознакомьтесь с описанием, заполните необходимые поля и оплатите покупку.
После завершения транзакции, на экране появится ключ, также он продублируется на вашу электронную почту.
Активируйте ключ на официальном сайте ExitLag в соответствующем разделе.
3. Закройте неиспользуемые фоновые приложения
Фоновые процессы могут нагружать центральный (ЦП) и графический (ГП) процессоры, что увеличивает пинг и снижает производительность игр и потокового видео. Для оптимизации работы системы закройте ненужные программы и избегайте одновременных обновлений и крупных загрузок.
Чтобы определить и закрыть ресурсоемкие приложения в Windows:
Откройте «Диспетчер задач» через поиск Windows.
Перейдите на вкладку «Процессы», где отображаются работающие приложения и их использование ресурсов.
Отсортируйте процессы по загрузке ЦП и завершите те, что используют больше всего ресурсов, нажав правой кнопкой и выбрав «Снять задачу».
Важно: Будьте осторожны и не завершайте системные процессы, необходимые для работы компьютера.
4. Отключите неиспользуемые устройства от Wi-Fi
Подключенные к сети устройства увеличивают нагрузку и могут повысить пинг. Отключите те устройства, которые в данный момент не используются, чтобы освободить часть пропускной способности и обеспечить более стабильное соединение для игр и потоковой передачи.
5. Подключитесь к другому игровому серверу
Для оптимального пинга выбирайте серверы, находящиеся ближе к вашему местоположению. Например, если вы в Европе, подключайтесь к европейским серверам. Это сокращает физическое расстояние между вашим устройством и сервером, что помогает снизить задержки и пинг.
6. Обновите устройство
Если перезагрузка не решила проблему, попробуйте обновить программное обеспечение вашего устройства. Установка последних обновлений может устранить ошибки и улучшить сетевые функции. Вот как обновить операционную систему Windows:
1. Откройте «Параметры» через поиск Windows.
2. Перейдите в «Обновление и безопасность», далее «Центр обновления Windows».
3. Нажмите «Проверить наличие обновлений» и следуйте инструкциям для установки, если обновления найдены.
Чтобы обновить драйверы, выполните следующие шаги:
1. Откройте «Диспетчер устройств» через поиск Windows.
2. Разверните список «Видеоадаптеры», щелкните правой кнопкой мыши на видеокарте и выберите «Обновить драйвер».
3. Выберите «Автоматический поиск драйверов» или загрузите драйвер с сайта производителя вручную.
Повторите те же шаги для обновления сетевого адаптера, а после перезагрузите устройство для применения изменений.
7. Используйте кабель Ethernet вместо Wi-Fi
Соединение через Wi-Fi может быть нестабильным, что часто приводит к повышенному пингу. Подключение устройства напрямую к маршрутизатору с помощью кабеля Ethernet обеспечивает более стабильное и надежное соединение. Это связано с тем, что беспроводные сети зависят от радиоволн, что может приводить к потере скорости при передаче данных. Использование проводного соединения позволяет мгновенно передавать данные без подобных потерь.
8. Подключите тарифный план с более высокой скоростью интернета
Пинг зависит от скорости вашего интернет-соединения. Обратитесь к интернет-провайдеру, чтобы повысить скорость. Это может увеличить расходы, но позволит наслаждаться играми и потоковым видео без задержек. Для комфортной игры нужна скорость загрузки от 3–4 Мбит/с и выгрузки от 15–25 Мбит/с.
9. Смените интернет-провайдера
Если улучшение тарифного плана не помогло, рассмотрите вариант смены провайдера, особенно если скорость интернета падает по вечерам. Исследуйте рынок, чтобы найти более надежного поставщика услуг.
10. Настройте параметры качества обслуживания (QoS) на вашем маршрутизаторе
QoS — это функция маршрутизатора, которая позволяет установить приоритет использования интернет-соединения для разных приложений или устройств. Вы можете, например, дать приоритет онлайн-играм, потоковому видео или веб-серфингу. Установленный приоритет означает, что выбранное приложение получит больше пропускной способности, чем другие. QoS полезен для интернет-соединений со скоростью до 500 Мбит/с.
Настройки QoS зависят от модели вашего маршрутизатора и могут называться по-разному, например, «Приоритет устройств» или «Управление трафиком». Чтобы настроить QoS, войдите в настройки роутера и найдите раздел «Дополнительно». Там вы сможете выбрать приложение или устройство, которому хотите предоставить приоритет в использовании интернет-соединения. Если приложение не указано, выберите устройство или клиент, который используется чаще всего.
11. Купите новый роутер
Высокий пинг может быть вызван неисправным маршрутизатором. Если после всех предпринятых действий пинг остается высоким, возможно, стоит подумать о приобретении нового роутера.
Переходите на GGSel.net — торговую площадку, где вы найдете игры для ПК и консолей, DLC, сможете пополнить баланс популярных игровых и неигровых сервисов, купить и продать игровой аккаунт. И все это — по выгодным ценам!
Реклама ИП «Суханов Д. Ф.», ИНН: 290132412356
Гибкое проксирование определенных программ, доменов, адресов, пулов и до кучи (мой поиск закончен, привет Sing-Box)
В течение почти месяца искал простое легковесное решение, чтоб "отдал кому-нибудь, а тот просто запустил" наткнулся универсальную прокси-платформу Sing-Box (как раз NekoBox/Ray использует).
Мой путь
Все очень здорово и привлекательно, но использование CIDR для маршрутизации вылилось очень неприятными проблемами (пинг, что не надо туннелировалось и мало гибкости), правила маршрутизации же конкретных адресов являлись большой/длинной портянкой (в веб-морде роутера тяжело воспринимать, файлы конфигурации OVPN и WG раздувались)..
В погоне за гибкостью ушел искать десктопные решения (под Windows в моем случае).. ProxyCap — Заворачивание трафика определенных программ в прокси (на примере Guilded — аналог Discord) чрезвычайно не гибок, но с проксированием трафика определенного софта его хватает, хочешь чтобы только один из кучи, что установлены в системе, работал через внешний прокси сервер — пожалуйста, ограничивается все лишь использованием Shadowsocks, если нужна поддержка UDP конечно. Clash for Windows (CFW) (ядро Clash) заставлял себя настраивать, как и NekoBox (под Windows — NekoRay, ядро Sing-Box), но в первом случае идентичная настройка на разных машинах приводила к непредсказуемым результатам. NekoRay — круто, но так и не разобрался с автозапуском в режиме TUN, просто лень уже было.. и опять же.. давай настраивай его, но уже, спасибо, проще чем CFW..
Поиск большей информации по параметрам конфигов NekoBox, описание на Github — Qt based cross-platform GUI proxy configuration manager (backend: sing-box), привели сюда, и заставили думать зачем мне графический интерфейс, я хочу "мало весящий архив — распаковал — запустил — работает".
Так вот, мой конфиг Sing-Box (урезан в правилах конечно же 🫡)
Настроен под работу с VMess
{
"log": {
"level": "info",
"timestamp": true
},
"dns": {
"servers": [
{
"tag": "google",
"address": "tls://8.8.8.8"
},
{
"tag": "cloudflare",
"address": "https://1.1.1.1/dns-query"
},
{
"tag": "local",
"address": "223.5.5.5"
}
],
"rules": [
{
"outbound": "any",
"server": "local"
}
]
},
"inbounds": [
{
"type": "tun",
"inet4_address": "172.16.0.1/30",
"interface_name": "Sing-Box Kravenrus",
"auto_route": true,
"strict_route": true,
"sniff": true,
"domain_strategy": "prefer_ipv4"
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct-out"
},
{
"type": "vmess",
"tag": "vmess-out",
"server": "109.120.129.231",
"server_port": 27589,
"uuid": "1f429211-0a5f-4e1c-a798-53aa709ac672",
"security": "auto",
"alter_id": 0,
"global_padding": false,
"authenticated_length": true,
"tls": {},
"packet_encoding": "",
"transport": {},
"multiplex": {}
},
{
"type": "dns",
"tag": "dns-out"
}
],
"route": {
"rules": [
{
"rule_set": "github-rule-set",
"outbound": "vmess-out"
},
{
"domain_suffix": [
"amd.com",
],
"outbound": "vmess-out"
},
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"domain_keyword": [
"whatismyip",
"openai",
"chatgpt"
],
"outbound": "vmess-out"
},
{
"process_name": [
"steam.exe",
"steamservice.exe",
"steamwebhelper.exe"
],
"outbound": "direct-out"
},
{
"process_name": [
"Guilded.exe",
"firefox.exe"
],
"outbound": "vmess-out"
},
{
"ip_cidr": [
"66.22.192.0/18"
],
"outbound": "vmess-out"
},
{
"port_range": [
"50000:65535"
],
"outbound": "vmess-out"
}
],
"rule_set": [
{
"type": "remote",
"tag": "github-rule-set",
"format": "binary",
"url": "https://github.com/.../rule-set.srs",
"download_detour": "vmess-out"
}
],
"auto_detect_interface": true
},
"experimental": {
"cache_file": {
"enabled": true
}
}
}
Описание параметров конфигурации
Конфигурационный файл Sing-Box представляет собой JSON-документ, в котором указаны параметры настройки логирования, DNS-серверов, входящих и исходящих соединений, правил маршрутизации и экспериментальных функций. Более подробно про конфигурацию описано здесь. Вот что значат мои параметры:
Логирование (log)
level: Уровень логирования. В данном случае "info" — для записи информационных сообщений. Возможны значения: debug, info, warn, error, fatal.
timestamp: Если true, то в логе будет включено время записи каждого сообщения.
DNS (dns)
servers: Список DNS-серверов, которые будут использоваться.
tag: Метка для сервера, чтобы его можно было идентифицировать.
address: Адрес DNS-сервера, может использовать различные протоколы (например, tls://8.8.8.8 или https://1.1.1.1/dns-query).
rules: Определяет правила выбора сервера DNS для различных типов трафика.
outbound: Задает тип исходящего соединения, для которого будет использован сервер DNS.
server: Выбранный сервер DNS, указанный по tag в списке серверов.
Входящие подключения (inbounds)
type: Тип входящего подключения. В данном случае это tun (виртуальный туннельный интерфейс).
inet4_address: IPv4-адрес, который будет использоваться для туннеля.
interface_name: Имя интерфейса, под которым будет создан туннель.
auto_route: Автоматически добавляет маршруты для трафика.
strict_route: Определяет, нужно ли строго следовать заданным маршрутам.
sniff: Если включено, Sing-Box будет пытаться анализировать (сниффить) трафик, чтобы определить его тип.
domain_strategy: Стратегия выбора IP-адреса. "prefer_ipv4" означает, что будет предпочтение отдаваться IPv4-адресам.
Исходящие подключения (outbounds)
type: Тип исходящего подключения. Возможные значения включают:
direct: Для прямого подключения.
vmess: Протокол VMess, используемый для соединений через серверы.
dns: Используется для выхода на DNS-сервисы.
tag: Метка для идентификации исходящего подключения.
server и server_port: IP-адрес и порт сервера, к которому будет подключаться клиент (для vmess).
uuid: Уникальный идентификатор пользователя, необходимый для VMess.
security: Уровень шифрования (например, "auto").
alter_id: Настройка дополнительного шифрования в VMess (0 означает отсутствие дополнительных идентификаторов).
global_padding и authenticated_length: Опции шифрования и целостности пакетов.
tls и packet_encoding: Параметры для использования TLS и кодирования пакетов.
transport и multiplex: Опции транспорта и мультиплексирования.
Маршрутизация (route)
rules: Список правил маршрутизации:
rule_set: Название набора правил, который будет использован.
outbound: Исходящее подключение для трафика, соответствующего данному правилу.
domain_suffix: Трафик к доменам с определенными суффиксами будет направлен через указанный outbound.
protocol: Протокол, для которого применяется правило.
domain_keyword и process_name: Позволяет указать ключевые слова или названия процессов для фильтрации.
ip_cidr и port_range: Указывает диапазоны IP-адресов и портов, на которые применяется правило.
rule_set: Задает дополнительные настройки для набора правил, например, возможность скачивания с удаленного ресурса (url) и использование определенного исходящего канала для загрузки (download_detour).
auto_detect_interface: Опция автоматического обнаружения сетевого интерфейса.
Экспериментальные функции (experimental)
cache_file: Настройки кэширования.
enabled: Если true, кэширование включено для улучшения производительности, исключает скачивание набора правил, если удаленный набор не был изменен.
Эти настройки позволяют гибко настраивать поведение Sing-Box в соответствии с потребностями сети и требованиями безопасности.
Подробное описание моих правил (для общего понимания)
Правила в разделе rules определяют, каким образом будет маршрутизироваться трафик в зависимости от условий и характеристик соединений. Вот к какому поведению приведут указанные мною правила:
Использование удаленного набора правил (rule_set)
Трафик, соответствующий набору правил из файла по URL, будет перенаправляться через выход vmess-out. Этот файл может содержать динамически обновляемые правила для более гибкого и актуального управления трафиком.
Маршрутизация по доменным суффиксам
Все запросы к доменам с суффиксами amd.com и apple.com будут отправляться через vmess-out. Это может быть полезно для безопасного или анонимного доступа к этим ресурсам.
DNS-запросы
Весь трафик, использующий протокол dns, будет направляться через исходящее соединение dns-out, что обеспечивает отдельный канал для запросов к DNS-серверам.
Маршрутизация по ключевым словам доменов
Любые запросы к доменам, содержащим ключевые слова whatismyip, openai, и chatgpt, будут отправляться через vmess-out. Это позволит обеспечить дополнительную защиту или конфиденциальность для доступа к этим сервисам.
Маршрутизация по названию процессов:
Запросы от процессов steam.exe, steamservice.exe, и steamwebhelper.exe будут отправлены напрямую (direct-out), что может сократить задержки при использовании Steam.
Запросы от процессов Guilded.exe и firefox.exe будут направляться через vmess-out, обеспечивая безопасность или проксирование для этих приложений.
Маршрутизация по диапазону IP-адресов (ip_cidr)
Трафик, направленный к IP-адресам в диапазоне 66.22.192.0/18, будет отправляться через vmess-out. Это может использоваться для маршрутизации специфического трафика, связанного с этим диапазоном.
Маршрутизация по диапазону портов (port_range)
Трафик на порты в диапазоне 50000:65535 будет направляться через vmess-out, что может быть полезно для приложений, использующих высокие порты (например, игровые или P2P-сервисы, голосовые каналы).
В целом, данные правила создают избирательную маршрутизацию для обеспечения безопасности, проксирования доступа к определенным сервисам и выполнения DNS-запросов через специальное соединение.
Про распространение знакомым
Для начала задумался над простотой старта, создал .bat для запуска от имени Администратора
@Echo off
reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1 /f
cd /d "%~dp0"
set "config_file="
for %%F in (config-vmess-*.json) do (
set "config_file=%%F"
goto :found
)
:found
if defined config_file (
start "Sing-Box" sing-box.exe run -c "%config_file%"
) else (
echo Файл не найден!
)
Для корректного отображения цвета, скрипт изменяет ключ VirtualTerminalLevel на единицу. Далее ищет конфиг по шаблону (поскольку я передаю пользователям его в виде config-vmess-uuid.json) и запускает Sing-Box с первым найденным конфигом в новом окне.
Дабы не объяснять что откуда скачать, что куда скопировать было решено отправлять знакомым только их UUID для дальнейшей генерации архива с исполняемым файлом Sing-Box и их файлом конфигурации (с внесенным изменением соответствующего поля UUID на цифры пользователя), создал страницу с формой.
Далее от пользователя требуется как раз таки только скачать и распаковать архив, и запустить run.cmd от имени Администратора.
Итог
Ну а итоги те же, что и были ожидаемы исходя из правил :)
Жаль, что есть и проблемы, на двух-трех машинах из 15-ти либо не поднимается TUN, либо трафик не проксируется должным образом, либо не работает доступ напрямую, и все это из-за настройки пользователем своей операционной системы, а именно сетевых настроек, если человек туда не лез, то и проблем не возникало..
Гибкое проксирование трафика (NekoBox или NekoRay)
Добрался все-таки до NekoBox (под Windows — NekoRay). С Clash for Windows возникало как-то много проблем (одна из..). Без проблем смог поднять только на одной машине, час бился головой с настройкой др. компьютера в своей локальной сети — победил.. На виртуалке (в той же ЛВС) исходя из понимания первой проблемы (видимо все же не понял 🥲) не смог слету поднять должным образом, подключение с прокси было, пинги есть, весь трафик в директе наплевав на правила.. Ушел щупать NekoBox, к тому же он поддерживает много больше протоколов (но я пока так же продолжу говорить о двух).. и вот мой минимум :)
Нам понадобятся
Прокси (Shadowsocks, VMess, с этими протоколами NekoBox/Ray умеет работать, проверено)
Программы и домены, трафик которых будем вертеть — Google Chrome, Firefox...
О протоколах
О выше упомянутых протоколах — Shadowsocks и VMess (V2Ray) написано тут.
Как я говорил ранее, не имеет значения где раздобудете прокси, у меня к примеру имеется виртуальный сервер с 3X-UI на борту, где я и создал подключение с протоколом Shadowsocks (тут пример моей конфигурации) и VMess (для данного протокола тут).
Пример кастомных маршрутов (JSON) скармливаемых NekoBox
{
"rules": [
{
"domain_suffix": [
"google.com",
],
"outbound": "proxy"
},
{
"domain_keyword": [
"myip",
"2ip"
],
"outbound": "proxy"
},
{
"outbound": "proxy",
"process_name": [
"firefox.exe",
"Guilded.exe"
]
}
]
}
Описание параметров:
domain_suffix включает домены, которые направляются через прокси.
domain_keyword включает ключ. слова для доменов, которые должны идти через прокси.
process_name задаёт процессы, которые используют прокси.
Их больше, но я не смог найти документации по всем (выцеплял необходимые мне с GitHub), если у кого есть информация по всем параметрам, поделитесь пожалуйста :)
Подробное описание моих правил (для общего понимания)
domain_suffix,google.com,Proxy
Это правило указывает проксировать все запросы к доменам, оканчивающимся на google.com через группу прокси Proxy. Например, любые страницы, такие как www.google.com, mail.google.com, drive.google.com будут направлены через прокси.
domain_suffix,www.myip.com,Proxy
Аналогично первому правилу, все запросы к www.myip.com будут проходить через прокси Proxy. Это используется для того, чтобы тестировать IP-адрес через сайт www.myip.com.
domain_keyword,myip,Proxy
Это правило указывает, что любые домены, содержащие ключевое слово myip в любом месте, будут проксироваться через Proxy. Например, такие домены как myip.com, checkmyip.net и т. д. будут направлены через прокси.
domain_keyword,2ip,Proxy
Здесь указано, что все домены, содержащие слово 2ip, также будут проксироваться через Proxy. Это может включать сайты вроде 2ip.ru, которые используют этот поддомен для проверки IP-адресов.
process_name,firefox.exe,Proxy
Это правило указывает, что все трафики, исходящие от процесса firefox.exe, должны быть направлены через прокси Proxy. Это означает, что при использовании браузера Firefox весь интернет-трафик будет проходить через прокси.
process_name,Guilded.exe,Proxy
Здесь указано, что весь трафик приложения Guilded.exe (клиент для геймеров, аналог Discord) будет направлен через прокси Proxy.
Резюме для приложений:
Firefox и Guilded: Все их трафики полностью идут через прокси.
Chrome: Нет явного правила для chrome.exe, следовательно, его трафик будет направляться напрямую, если он не попадает под доменные правила.
Сайты с доменами google.com, myip.com, 2ip.ru: Эти домены всегда будут проксироваться, независимо от браузера или процесса.
Сайты с американскими и российскими IP-адресами: Сейчас их трафик идет через прокси, так как правила для GEOIP,RU и GEOIP,US закомментированы.
Перейдем к NekoBox (NekoRay)
Для начала перейдем к кастомным правилам маршрутизации, оформляется все в формате JSON, пример выше.. Outbound по умолчанию — bypass, нужен для корректной работы белого-списка в настройках TUN-режима (при использовании кастомных правил, необходимости особой нет туда лезть), можно включить, так скажем на будущее :)
После описания необходимых правил (можно и до редактирования кастомных маршрутов) нужно добавить профиль подключения к прокси из буфера или отсканировав QR на экране (варианты добавления профилей порадовали). Включить TUN режим (важно для UDP трафика, используется голосовыми каналами Guilded). И соответственно запустить добавленный профиль.
Итог
Осталась последняя задача, запускать при загрузке ОС с активацией последнего профиля в TUN режиме (он не включается по умолчанию, прав не хватает при автозапуске, добавление в HKLM что-то проблему не решило), найду ответ дополню пост :)
Гибкое проксирование трафика (встречаем Clash for Windows)
Спасибо @Mistuha, за комментарий, когда искал решение описанной задачи плюнул на Clash for Windows, слету показалось сложным, но все-таки подробнее изучил решение, в отличии от ProxyCap умеет работать с V2Ray и в TUN режиме. Пожалуй сам остановлюсь на нем, поскольку предложенная альтернатива — NekoBox (под Windows — NekoRay) последний раз обновлялась с почти год назад (если кому интересно все же могу выкатить пост по нему). Заметил на гите бетку NekoRay, если пощупаю выкачу пост, снова спасибо @Mistuha :)
Нам понадобятся
Прокси (Shadowsocks, VMess, с этими протоколами CWF умеет работать, проверено)
Программы и домены, трафик которых будем вертеть — Google Chrome, Firefox...
О протоколах
Shadowsocks:
Лучше использовать, если вам нужна простота и скорость.
Подходит для большинства пользователей, которые не хотят углубляться в детали.
VMess (V2Ray):
Лучше использовать, если вам важна высокая безопасность и расширенные функции.
Подходит для сложных сетей и пользователей, которые требуют гибкости в настройках.
Лучше защищает трафик и предлагает дополнительные возможности, такие как мультиплексирование.
Если вы новичок, Shadowsocks может быть удобнее. Для более опытных пользователей с повышенными требованиями к безопасности стоит рассмотреть VMess.
Не имеет значения где раздобудете прокси, у меня к примеру имеется виртуальный сервер с 3X-UI на борту, где я и создал подключение с протоколом Shadowsocks (тут пример моей конфигурации) и VMess (для данного протокола ниже).
Примеры файлов конфигураций (.yaml) скармливаемый в Clash for Windows
Для Shadowsocks
proxies:
- name: "My Shadowsocks Proxy"
type: ss
server: *.*.*.*
port: 55223
cipher: chacha20-ietf-poly1305
password: BnGHogsywi0ZpTgSnjca2ELit5XhMnG/l9pTCiHjHTI=
udp: true
proxy-groups:
- name: "Proxy"
type: select
proxies:
- "My Shadowsocks Proxy"
- DIRECT
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-SUFFIX,www.myip.com,Proxy
- DOMAIN-KEYWORD,myip,Proxy
- DOMAIN-KEYWORD,2ip,Proxy
- PROCESS-NAME,firefox.exe,Proxy
- PROCESS-NAME,Guilded.exe,Proxy
# - GEOIP,RU,DIRECT
# - GEOIP,US,DIRECT
- MATCH,DIRECT
Для VMess (V2Ray)
proxies:
- name: "My V2Ray Proxy"
type: vmess
server: *.*.*.*
port: 27789
uuid: 1f829011-0a5f-4e1c-a797-57aa709ec672
alterId: 0
cipher: auto
tls: false
network: tcp
ws-opts:
path: "/"
headers:
Host: ""
proxy-groups:
- name: "Proxy"
type: select
proxies:
- "My V2Ray Proxy"
- DIRECT
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-SUFFIX,www.myip.com,Proxy
- DOMAIN-KEYWORD,myip,Proxy
- DOMAIN-KEYWORD,2ip,Proxy
- PROCESS-NAME,firefox.exe,Proxy
- PROCESS-NAME,Guilded.exe,Proxy
# - GEOIP,RU,DIRECT
# - GEOIP,US,DIRECT
- MATCH,DIRECT
Описание параметров конфигурации
Вот полное описание параметров конфигурации Clash for Windows, которое объединяет оба ваших конфига (для Shadowsocks и V2Ray):
Раздел proxies
proxies: Главный раздел для определения всех прокси-серверов, доступных в конфигурации.
name: Имя для идентификации прокси-сервера. Например, "My Shadowsocks Proxy" или "My V2Ray Proxy".
type: Тип прокси-сервера. Возможные значения:
ss: для Shadowsocks.
vmess: для V2Ray.
server: IP-адрес или доменное имя прокси-сервера. Например, 102.130.133.251.
port: Порт, на котором прокси-сервер принимает соединения. Например, 55223 для Shadowsocks и 27789 для V2Ray.
cipher: Алгоритм шифрования, используемый для защиты данных. Например, chacha20-ietf-poly1305 для Shadowsocks и auto для V2Ray, который выбирает наиболее подходящий метод.
password: Пароль для аутентификации на прокси-сервере. Применяется только для Shadowsocks.
uuid: Уникальный идентификатор пользователя (UUID) для аутентификации в V2Ray. Например, 1f829011-0a5f-4e1c-a797-57aa709ec672.
alterId: Значение, определяющее дополнительную идентификацию (обычно используется в V2Ray). Для V2Ray может быть 0.
tls: Логическое значение (true/false), указывающее, используется ли шифрование TLS для V2Ray. Например, false.
network: Протокол передачи данных для V2Ray, например, tcp для использования TCP-протокола.
ws-opts: Настройки для WebSocket (если используется). Включает:
path: Путь для WebSocket-соединения, например, "/".
headers: Дополнительные заголовки, такие как Host, которые могут быть необходимы для маршрутизации трафика.
Раздел proxy-groups
proxy-groups: Раздел для определения групп прокси-серверов, доступных для выбора в интерфейсе Clash.
name: Название группы прокси-серверов. Например, "Proxy".
type: Тип группы, например:
select: Позволяет пользователю вручную выбирать прокси из списка.
url-test: Автоматически выбирает лучший прокси по времени отклика (не используется в ваших конфигурациях).
proxies: Список названий прокси-серверов, входящих в эту группу. Например, список может содержать "My Shadowsocks Proxy" и "My V2Ray Proxy".
Раздел rules
rules: Этот раздел определяет правила маршрутизации, которые управляют тем, какой трафик будет проксироваться и каким образом.
DOMAIN-SUFFIX: Прокси для всех запросов к доменам с указанным суффиксом.
DOMAIN-KEYWORD: Прокси для всех запросов к доменам, содержащим указанное ключевое слово.
PROCESS-NAME: Прокси для трафика, исходящего от конкретного процесса.
GEOIP: Правило для маршрутизации трафика на основе географического положения IP-адресов.
MATCH: Правило по умолчанию, которое применяется, если ни одно из предыдущих правил не сработало.
Заключение
Эти параметры помогают настроить и очень гибко управлять проксированием трафика, обеспечивая возможность выбора между несколькими прокси-серверами и контролируя, как и какой трафик проходит через них.
Подробное описание моих правил (для общего понимания)
DOMAIN-SUFFIX,google.com,Proxy
Это правило указывает проксировать все запросы к доменам, оканчивающимся на google.com через группу прокси Proxy. Например, любые страницы, такие как www.google.com, mail.google.com, drive.google.com будут направлены через прокси.
DOMAIN-SUFFIX,www.myip.com,Proxy
Аналогично первому правилу, все запросы к www.myip.com будут проходить через прокси Proxy. Это используется для того, чтобы тестировать IP-адрес через сайт www.myip.com.
DOMAIN-KEYWORD,myip,Proxy
Это правило указывает, что любые домены, содержащие ключевое слово myip в любом месте, будут проксироваться через Proxy. Например, такие домены как myip.com, checkmyip.net и т. д. будут направлены через прокси.
DOMAIN-KEYWORD,2ip,Proxy
Здесь указано, что все домены, содержащие слово 2ip, также будут проксироваться через Proxy. Это может включать сайты вроде 2ip.ru, которые используют этот поддомен для проверки IP-адресов.
PROCESS-NAME,firefox.exe,Proxy
Это правило указывает, что все трафики, исходящие от процесса firefox.exe, должны быть направлены через прокси Proxy. Это означает, что при использовании браузера Firefox весь интернет-трафик будет проходить через прокси.
PROCESS-NAME,Guilded.exe,Proxy
Здесь указано, что весь трафик приложения Guilded.exe (клиент для геймеров, аналог Discord) будет направлен через прокси Proxy.
Закомментированные строки не действуют (так как перед ними стоит символ #), но их можно легко активировать, убрав комментарий. Сейчас они отключены, и вот их назначение:
GEOIP,RU,DIRECT
Это правило отключено, но если бы оно было активным, оно направляло бы весь трафик с геолокацией Россия (RU) напрямую (не через прокси), минуя прокси-сервер. Оно могло бы быть полезным, если вы не хотите проксировать запросы к российским сайтам.
GEOIP,US,DIRECT
Это правило, если активировать, перенаправляло бы трафик для всех IP-адресов, относящихся к США (US) напрямую, также минуя прокси. Это может быть полезно, если не требуется проксировать сайты с американскими IP.
MATCH,DIRECT
Правило MATCH является универсальным, оно действует как правило "по умолчанию". Если ни одно из вышеуказанных правил не сработало, то оно применяет это правило и направляет все оставшиеся запросы напрямую (DIRECT).
Резюме для приложений:
Firefox и Guilded: Все их трафики полностью идут через прокси.
Chrome: Нет явного правила для chrome.exe, следовательно, его трафик будет направляться напрямую, если он не попадает под доменные правила.
Сайты с доменами google.com, myip.com, 2ip.ru: Эти домены всегда будут проксироваться, независимо от браузера или процесса.
Сайты с американскими и российскими IP-адресами: Сейчас их трафик идет через прокси, так как правила для GEOIP,RU и GEOIP,US закомментированы.
Перейдем к Clash for Windows
Основная настройка софта производится на вкладке General
Для работы в режиме TUN обязательно необходимо установить Service Mode
Файлы конфигурации можно добавить с помощью Drag and Drop (перетащив в окно программы). Далее выбираем конфигурацию, согласно которой необходимо работать (выбранная отмечена зеленым)
На вкладке Proxies можно выбрать способ проксирования, в данном случае согласно правилам, описанным в файлах конфигурации
Connections отражает текущие соединения
Программа работает следующим образом: имеются два подключения DIRECT (поднимается по умолчанию для всего трафика) и PROXY (добавляется вручную), весь трафик идет через нее. Согласно способу проксированию, при необходимости правилам, определенный трафик уходит через PROXY. В режиме DIRECT на вкладке Proxies весь трафик будет проходить через локальный прокси, но не будет направляться на внешний прокси-сервер, соответственно правила игнорируются.
Итог
Заворачивание трафика определенных программ в прокси (на примере Guilded — аналог Discord)
Сегодня пришел к выводу, что маршрутизировать подсети, заведомо используемые той или иной программой, реально плохая затея, избыточно.. я лишь только думал ранее об этом. Если софт помимо своих серверов обращается еще и к таким провайдерам как Google, Amazon и т.д., то пихать их подсети в роутинг бездумно не стоит.. К примеру, что сам словил, сервер игровой сессии может висеть на адресе из завернутого диапазона, как итог — пинг выше нормы и потери :)
Кучу маршрутов для конкретных адресов совать в Keenetic мне же не очень понравилось, в файл конфигурации туннеля тоже. Начал искать варианты.. Нашел..
Нам понадобятся
Прокси (Shadowsocks, по крайней мере на нем тестировал)
ProxyCap (Rsload в помощь)
Программа, трафик которой будем вертеть — Guilded (аналог Discord), потому что..
Не имеет значения где раздобудете прокси, у меня к примеру имеется виртуальный сервер с 3X-UI на борту, где я и создал подключение с протоколом Shadowsocks. Обратите внимание на параметр сеть — TCP/UDP, ваш прокси должен уметь работать с обоими протоколами.
А теперь по порядку..
После установки ProxyCap обязательно необходимо перезагрузить компьютер. Далее открываем конфигурацию и создаем подключение
Type: shadowsocks (нам важна поддержка UDP, SOCKS5 его поддерживает, но я не проверял)
Hostname: IP-адрес или соответственно имя хоста (сервера)
Port: порт, на котором работает ваш прокси-сервер
Password: пароль пользователя прокси (см. добавл. пользователя к подключению в 3X-UI)
После создания подключения проверяем, что все работает :)
И самое главное, для чего это все.. В конфигурации переходим к правилам, создаем новое, указываем исполняемый файл программы, которую необходимо пускать через прокси, если софт использует UDP протокол (Guilded его использует для голосовых каналов) — ставим соответствующую галку
Итог
Диапазоны адресов, арендованные Discord'ом, что используются серверами для поддержки работы голосовых каналов
UPD:
Диапазоны серверов, пойманных для войсов, от сторонних провайдеров
Страна: США
IP диапазон: 34.0.0.0 - 34.3.2.255
CIDR: 34.0.0.0/15, 34.3.2.0/24, 34.2.0.0/16, 34.3.0.0/23
Название провайдера: Google LLC
ASN: 15169
Страна: США
IP диапазон: 35.192.0.0 - 35.207.255.255
CIDR: 35.192.0.0/12
Название провайдера: Google LLC
ASN: 15169
Страна: США
IP диапазон: 35.208.0.0 - 35.247.255.255
CIDR: 35.240.0.0/13, 35.224.0.0/12, 35.208.0.0/12
Название провайдера: Google LLC
ASN: 15169
Страна: Нидерланды
IP диапазон: 5.200.14.128 - 5.200.14.255
CIDR: 5.200.14.128/25
Название провайдера: i3Dnet
ASN: 49544
Страна: Сингапур
IP диапазон: 34.64.0.0 - 34.64.255.255
CIDR: 34.64.0.0/16
Название провайдера: Google Asia Pacific Pte. Ltd.
ASN: 139070
Отмечу, что не стоит их использовать для роутинга, поскольку обладателями являются орг. предоставляющие свои сервера, часть серверов из диапазонов могут использовать те или иные программы, игры.. Тут более конкретные списки.
Домены:
dis.gd
discord.co
discord.com
discord.design
discord.dev
discord.gg
discord.gift
discord.gifts
discord.media
discord.new
discord.store
discord.tools
discordapp.com
discordapp.net
discordmerch.com
discordpartygames.com
discord-activities.com
discordactivities.com
discordsays.com
discordstatus.com
discordcdn.com
Порты голосовых каналов (вероятно диапазон не точный):
50000 - 65535
Пока только для одного ASN (49544), @killerofsoul говорил, что Discord также использует еще один номер автономной системы.. поймаю — дополню
Страна: Нидерланды
IP диапазон: 66.22.196.0 - 66.22.199.255
CIDR: 66.22.196.0/22
Название провайдера: discord-nlrtm1-1
Страна: Бразилия
IP диапазон: 66.22.200.0 - 66.22.203.255
CIDR: 66.22.200.0/22
Название провайдера: discord-brcoa1-1
Страна: США
IP диапазон: 66.22.204.0 - 66.22.207.255
CIDR: 66.22.204.0/22
Название провайдера: discord-uschi1-1
Страна: Япония
IP диапазон: 66.22.208.0 - 66.22.211.255
CIDR: 66.22.208.0/22
Название провайдера: discord-jptyo1-1
Страна: США
IP диапазон: 66.22.212.0 - 66.22.215.255
CIDR: 66.22.212.0/22
Название провайдера: discord-usewr1-1
Страна: Россия
IP диапазон: 66.22.216.0 - 66.22.217.255
CIDR: 66.22.216.0/23
Название провайдера: discord-rumow2-1
Страна: Гонконг (Китай)
IP диапазон: 66.22.218.0 - 66.22.219.255
CIDR: 66.22.218.0/23
Название провайдера: discord-hkhkg1-1
Страна: Сингапур
IP диапазон: 66.22.220.0 - 66.22.221.255
CIDR: 66.22.220.0/23
Название провайдера: discord-sgsin1-1
Страна: США
IP диапазон: 66.22.222.0 - 66.22.223.255
CIDR: 66.22.222.0/23
Название провайдера: discord-usatl1-1
Страна: США
IP диапазон: 66.22.224.0 - 66.22.225.255
CIDR: 66.22.224.0/23
Название провайдера: discord-usdal1-1
Страна: США
IP диапазон: 66.22.226.0 - 66.22.227.255
CIDR: 66.22.226.0/23
Название провайдера: discord-uslax1-1
Страна: Корея
IP диапазон: 66.22.228.0 - 66.22.229.255
CIDR: 66.22.228.0/23
Название провайдера: discord-asia-northeast3-1
Страна: США
IP диапазон: 66.22.230.0 - 66.22.230.255
CIDR: 66.22.230.0/24
Название провайдера: discord-ussea1-1
Страна: США
IP диапазон: 66.22.231.0 - 66.22.231.255
CIDR: 66.22.231.0/24
Название провайдера: discord-usqas1-1
Страна: Австралия
IP диапазон: 66.22.232.0 - 66.22.232.255
CIDR: 66.22.232.0/24
Название провайдера: discord-ausyd1-1
Страна: Чили
IP диапазон: 66.22.233.0 - 66.22.233.255
CIDR: 66.22.233.0/24
Название провайдера: discord-clscl1-1
Страна: США
IP диапазон: 66.22.234.0 - 66.22.234.255
CIDR: 66.22.234.0/24
Название провайдера: discord-usscz1-1
Страна: Франция
IP диапазон: 66.22.235.0 - 66.22.235.255
CIDR: 66.22.235.0/24
Название провайдера: discord-frpar1-1
Страна: Аргентина
IP диапазон: 66.22.236.0 - 66.22.236.255
CIDR: 66.22.236.0/24
Название провайдера: discord-arbue1-1
Страна: Швеция
IP диапазон: 66.22.237.0 - 66.22.237.255
CIDR: 66.22.237.0/24
Название провайдера: discord-sesto2-1
Страна: Италия
IP диапазон: 66.22.238.0 - 66.22.238.255
CIDR: 66.22.238.0/24
Название провайдера: discord-itmil1-1
Страна: Индия
IP диапазон: 66.22.239.0 - 66.22.239.255
CIDR: 66.22.239.0/24
Название провайдера: discord-inbom1-1
Страна: ЮАР
IP диапазон: 66.22.240.0 - 66.22.240.255
CIDR: 66.22.240.0/24
Название провайдера: discord-zajnb1-1
Страна: Испания
IP диапазон: 66.22.241.0 - 66.22.241.255
CIDR: 66.22.241.0/24
Название провайдера: discord-esmad1-1
Страна: Арабские Эмираты
IP диапазон: 66.22.242.0 - 66.22.242.255
CIDR: 66.22.242.0/24
Название провайдера: discord-aedxb1-1
Страна: Германия
IP диапазон: 66.22.243.0 - 66.22.243.255
CIDR: 66.22.243.0/24
Название провайдера: discord-defra1-1
Страна: Румыния
IP диапазон: 66.22.244.0 - 66.22.244.255
CIDR: 66.22.244.0/24
Название провайдера: discord-robuh1-1
Страна: США
IP диапазон: 66.22.245.0 - 66.22.245.255
CIDR: 66.22.245.0/24
Название провайдера: discord-usdal1-2
Страна: Бразилия
IP диапазон: 66.22.246.0 - 66.22.246.255
CIDR: 66.22.246.0/24
Название провайдера: discord-brcoa1-2
Страна: Австралия
IP диапазон: 66.22.247.0 - 66.22.247.255
CIDR: 66.22.247.0/24
Название провайдера: discord-ausyd1-2
Страна: Япония
IP диапазон: 66.22.248.0 - 66.22.248.255
CIDR: 66.22.248.0/24
Название провайдера: discord-jptyo1-2
Далее было выявлено, что все пулы выше относятся к следующему диапазону, провайдером которого так же является Discord
Страна: США
IP диапазон: 66.22.192.0 - 66.22.255.255
CIDR: 66.22.192.0/18
Название провайдера: US-DISCORD1-20000919
Стоит отметить, что для голосовых каналов также фигурируют и сервера во владении Google Inc, а также Cloudflare, Inc., об этом ниже..
Зачем приложения используют чужие IP-адреса для голосовых каналов?
Вопрос о том, почему некоторые приложения могут использовать сторонние IP-адреса для голосовых или других каналов, можно объяснить несколькими причинами:
Использование сторонних сервисов для голосовой связи: Многие приложения (особенно игры или платформы для коммуникаций) не создают свои собственные голосовые решения, а используют сторонние сервисы или технологии (например, Twilio, Agora, Discord). Эти сервисы предоставляют API для создания и управления голосовыми каналами. В этом случае голосовые данные могут передаваться через их серверы, а пользователи взаимодействуют с внешними IP-адресами, принадлежащими этим сервисам.
CDN для передачи данных: Для ускорения передачи голосовых данных и минимизации задержек могут использоваться распределенные серверы или сторонние сети (CDN). Это позволяет обеспечивать низкую латентность для голосовых сообщений, так как данные направляются через ближайшие к пользователю сервера.
Безопасность и отказоустойчивость: Использование сторонних серверов может повысить безопасность и надежность голосовой связи, так как такие системы часто имеют механизмы защиты от DDoS-атак, резервирование серверов и другие функции, которые могут быть сложно организовать самостоятельно.
Глобальное покрытие: Некоторые компании могут предоставлять глобальные сети с серверами в разных регионах мира, что позволяет улучшить качество связи для пользователей из разных частей света, что сложно достичь с помощью собственного оборудования.
Много интересного доступно здесь.
Информация с BGPView
Маршрутизация на роутерах Keenetic (версии прошивки от 4.0)
Для использования в клиентах под Windows (и др. ОС) — проще прописать правила роутинга в конфигах, если есть Keenetic (или другая достаточно умная железка) — интереснее использовать полноценный конфиг (заворачивать все — 0.0.0.0/0,::/0) и прописывать правила маршрутизации в веб-морде роутера. Тем самым все устройства в сети будут работать с указанными правилами маршрутизации, в отличие от использования VPN-клиента под Windows (по типу OpenVPN Connect и WireGuard).