ByeDPI: обсуждение

Скорее всего это из-за tlsrec. Он ломает некоторые сайты, поэтому его следует использовать лишь на заблокированных.

Попробовал собрать под OpenWrt 21/22/23, вдруг пригодится. Пакеты .ipk здесь - Releases · spvkgn/ByeDPI-OpenWrt · GitHub

На отдельном устройстве запущен ciadpi с параметрами –fake -1 --md5sig
На этом устройстве Ютюб работает без проблем. Если попытаться начать смотреть видео на другом устройстве, предварительно настроив прокси, то Хром сыпет ошибками 403 при попытке достучаться к googlevideo.com, FF выдает ошибку NS_BINDING_ABORTED. В какую сторону копать?

На чем у вас byedpi поднят, на Linux? net.ipv4.ip_forward включен?

Включен.

С других устройств телнет на порт прокси проходит?
Попробуйте поиграть с настройками QUICK и Kyber в браузере. Отключить временно плагины, фаервол, антивирус, чтобы исключить их влияние.
У меня такая же схема как у вас, только я использую один параметр -d 1, этого пока хватает.

Круто. --obb вообще классно себя показывает в работе.

У меня отлично работает (все сайты, YT в браузере и YT на android) только при определенном сочетании “-d1 -s3”.
Если увеличить сплит до 4 - 7 уже проблемы на android, если поменять местами “-s3 -d1” - проблемы в Лисе.

Интересно, как конкретно работает отсылка с “-d1 -s3” ? Это 2-XX, 2-3, 4-XX, 1 ? В чем разница если поменять местами -d и -s (и есть ли она)?

1-3 → 3-e → 0-1
Если наоборот, то сработает только -s 3 (-d 1 не сработает, т.к. первый байт уже отправлен).

Спасибо, теперь понятно, почему -s -d не спасает )

Не получается заставить работать в связке с tun2socks: byedpi вылетает с первой же попытки подключения, достигнув исчерпания файловых дескрипторов:

<...>
accept: fd=1019
new event: fd: 1017, evt: EV_DESYNC, mod_iter: 2413
desync params index: 0
host: x.com (22)
split: pos=0-2 (2), m: DESYNC_DISORDER
send: pos=2-68
new event: fd: 1019, evt: EV_REQUEST, mod_iter: 2417
new event: fd: 1019, evt: EV_REQUEST, mod_iter: 2417
new conn: fd=1020, addr=104.244.42.1:80
new event: fd: 1020, evt: EV_CONNECT, mod_iter: 2420
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=1021
new event: fd: 1019, evt: EV_DESYNC, mod_iter: 2417
desync params index: 0
host: x.com (22)
split: pos=0-2 (2), m: DESYNC_DISORDER
send: pos=2-68
new event: fd: 1021, evt: EV_REQUEST, mod_iter: 2422
new event: fd: 1021, evt: EV_REQUEST, mod_iter: 2422
new conn: fd=1022, addr=104.244.42.1:80
new event: fd: 1022, evt: EV_CONNECT, mod_iter: 2424
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=1023
accept: No file descriptors available
exit

Запускал так:
ciadpi -x 2 -i 127.0.0.1 -p 10801 -d 2
tun2socks -device tun0 -proxy socks5://127.0.0.1:10801 -interface enp4s0
При этом сам по себе byedpi с такими параметрами работает. Также работает и tun2socks в связке с shadowsocks. То есть не получается подружить именно byedpi с tun2socks.

В чём может быть проблема?

Может параметр - interface для tun2socks не нужен? Shadowsocks тоже на localhost “сидел”?

У меня видимо глупый вопрос. Можно ли просто сделать чтобы сайты быстрее открывались? т.е. чтобы DPI не мог шерстить трафик не лез в личную жизнь. И может ли такой вопрос касаться и udp протокола тоже?

Может параметр - interface для tun2socks не нужен? Shadowsocks тоже на localhost “сидел”?

Без параметра -interface тоже не работает. Shadowsocks запущен также, как byedpi, на 127.0.0.1, и через него работает.

Хотел спросить вот тут –auto=none в конце лишняя или нет, так как работает и так и так, но как синтаксически верно ?:
ciadpi.exe -i 127.0.0.1 -p 10800 --hosts russia-youtube.txt -s 2 --auto=none --hosts russia-blacklist.txt -o 2 –auto=none

Спойлер

Если коротко, вот решение:

useradd ciadpi
usermod -g mygroup ciadpi

ip r add default via 192.168.1.1 dev enp4s0 metric 1 table 110
ip rule add uidrange 1001-1001 lookup 110 pref 29000

sudo -u ciadpi ciadpi -i 127.0.0.1 -p 10801 -d 2

1001 - uid нового юзера.
192.168.1.1 - ваш шлюз.

Правильно с –auto=none, но и без будет работать, т.к. при использовании ограничителей создается пустая группа, на случай, если –auto=none забудут прописать.

Скажите, пожалуйста, а просто “–auto” без “=torst”, “=none” и т.п. вообще что-либо делает?

--auto без параметров эквивалентен --auto=torst, сделано так ради совместимости с предыдущей версией, где был просто -A без аргументов. Однако так писать лучше не стоит.

Подскажите, отсутствие --proto эквивалентно указанию его со всеми возможными параметрами?