Настройка прокси только для Discord через DLL (плюс голосовые звонки без прокси)

@hdrover дайте совет как вбить socks5

К сожалению, в ближайшую неделю сам проверить не смогу. На самом деле с socks5 не тестировал, но думал, что это работает (потому что видел в wireshark пакеты от socks5, когда указывал протокол socks5). DLL делает в плане прокси 2 вещи:

  1. Подменяет переменные окружения HTTP_PROXY и HTTPS_PROXY на то, что задано в конфиге
  2. Подменяет командную строку запуска, добавляя параметр --proxy-server со значением из конфига

Если делать что-то одно, то не работает (разные части дискорда используют разные механизмы).

Точно знаю, что часть с --proxy-server использует движок Chromium.
Вот документация: https://source.chromium.org/chromium/chromium/src/+/main:net/docs/proxy.md
И тут четко указано, что можно использовать socks5 вот так: socks5://foo:1080.

Что именно внутри дискорда использует переменные окружения - я не знаю, не разбирался. Но просто видел в отладчике, что эти переменные окружения активно запрашиваются. В целом переменные распространены. И почти весь софт, который я знаю, который использует эти переменные окружения, принимает в качестве значения строку с указанием протокола socks5.

Мне надо поэкспериментировать. Но смогу только через неделю. Например, может нужно для socks5 подменять переменную ALL_PROXY. Если получится, то обновлю DLL.

Пока что могу только посоветовать проверить вариант с указанием протокола socks5://ip:port. Если не работает, то получается, что пока что socks5 не работает.

Похоже socks5 все-таки не поддерживается, только https. Сначала происходит процесс обновления. Перед ним запрашиваются следующие переменные окружения:
HTTPS_PROXY, https_proxy, REQUEST_METHOD, HTTP_PROXY, http_proxy, NO_PROXY, no_proxy
Переменной ALL_PROXY в списке нет. Скорее всего обновление делается через запросы в node.js, а там по умолчанию socks5 не поддерживается. Если пропустить процесс обновления, то всё заработало бы, но, к сожалению, его никак не сбросить.
Добавить поддержку socks5 можно было бы, но это много работы. Видимо поправлю документацию, удалю про socks5.

Жаль. Единственный вариант тогда использовать gost только.

Решение определенно имеет право на жизнь. Ибо в целом прокси без пароля - это плохо. А множество хромиум приложений всё равно не работает с сокс5 паролями Потому в любом случае все поднимают локальные прокси через локалхост 127.0.0.1 и всякие nekoray и его аналоги.

Мне нравится что голос и видео в этом решении работают не через прокси сервер. Это позволяет не забивать канал на впс, снижает пинг. Т.к. голосовой траффик идет напрямую.

Я бы добавил еще, что в наше время в любом случае нужно поднимать какой-то локальный прокси для того же youtube и многих других сайтов (через удаленный сервер с vless или чем-то похожим в плане сложности детектирования). Так что локальный https-прокси на localhost - это уже обыденность.

Добавил поддержку socks5 прокси. В конфиге нужно добавить протокол socks5:

proxy = socks5://127.0.0.1:1080

Релиз: Release drover v0.3 · hdrover/discord-drover · GitHub

Если никто не пишет, это значит всё работает:) Спасибо.

Если не сложно не могли бы рассказать как использовать socks5 через dll который вы обновили, т.к там же нужен логин пароль.

использовал совет человека, выше вписав socks5:IP:PORT:LOG:PASS
дс запустился а вот войс все так же мертвый, прокси socks5 поставил его на роутер, возможно ли проблема из за этого?

Поддержку SOCKS5 я добавил, но еще не добавил поддержку логина с паролем :frowning: Но если дискорд запускается, то это значит, что ваш прокси не требует логина с паролем (иначе бы не запустилось).

Но голос идет в любом случае без прокси через манипуляции с пакетами (по аналогии с GoodbyeDPI и пр.). Это особенность данной библиотеки. Если у вас голос не работает, то, возможно, у вас используется другое оборудование ТСПУ, где текущий обход не работает. Вы можете попробовать тестовую версию с другим алгоритмом, которую я делал для другого пользователя: https://github.com/user-attachments/files/17686324/version.zip

А в чем разница между этими DLL и Полноценное проксирования Discord через SOCKS5 (включая голосовые звонки) ?

Плюсы моей (этой): поддержка http и socks5, более простая и надежная реализация (меньше лезем в работу процесса, используем встроенные в Discord механизмы проксирования), обход блокировки голоса и видео через манипуляции с пакетами без необходимости использования прокси для UDP (принцип схожий с GoodbyeDPI и пр.), соответственно более быстрая работа голоса и видео.
Минусы этой: нет поддержки прокси с логином и паролем, нет проксирования UDP (то есть нельзя зайти в голосовой канал, если не работает встроенный сюда обход DPI).

Плюсы чужой: полноценное проксирование UDP, поддержка socks5 с логином и паролем.
Минусы чужой: нет поддержки http-прокси, голос и видео идут через прокси (немного медленнее).

Ну и моя появилась раньше, чужая позже.

В итоге, я бы рекомендовал мою, если у вас с ней работает обход DPI (работают голосовые каналы). И чужую, если голос и видео с моей не работают, если вашему прокси нужны логин с паролем.

Спасибо!

Добавил установщик и чуть улучшил обход ограничений для UDP:

Добавил поддержку HTTP прокси с логином и паролем. Скорее всего это последняя версия. Добавлять какие-то новые функции не планирую.