Giter Club home page Giter Club logo

byedpi's People

Contributors

dartvader316 avatar dovecoteescapee avatar eltociear avatar hufrea avatar lufog avatar vladiscripts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

byedpi's Issues

auto не ловит некоторые связанные с SSL ошибки после tlsrec

Используя tlsrec не могу зайти на некоторые сайты, которые даже не заблокированы.
ciadpi -i 127.0.0.1 -p 1081 --debug 2 --no-udp --tlsrec 3+s --auto=t,r,c,s,a,n на linux. Браузер firefox и falkon.
Если я правильно понял, если tlsrec не может разблокировать или делает какие-то ошибки, то страница должна открыться без обходов (потому что после auto ничего нет).

Как минимум не могу зайти на сайты: https://pikabu.ru/ и https://coindrop.to/ .

У pikabu пишет, что проблема с сертификатами. MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT . Без byedpi всё норм. У pikabu стоит Let's Encrypt, но я посмотрел другие рандомные сайты с Let's Encrypt (с byedpi). У них такой проблемы нет.

У coindrop.to другая ошибка. SSL_ERROR_RX_RECORD_TOO_LONG. Норм работает без byedpi аналогично.

Вывод с --debug 2. Запускал через браузер falkon, чтобы не было ничего лишнего.

pikabu.ru
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=5
new event: fd: 5, evt: EV_REQUEST, mod_iter: 1
new event: fd: 5, evt: EV_REQUEST, mod_iter: 1
new conn: fd=6, addr=185.178.210.201:443
new event: fd: 6, evt: EV_CONNECT, mod_iter: 3
new event: fd: 5, evt: EV_DESYNC, mod_iter: 1
desync params index: 0
host: pikabu.ru (289)
tlsrec: pos=287, n=517
send: pos=0-522
new event: fd: 6, evt: EV_PRE_TUNNEL, mod_iter: 3
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 1
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 1
close: fds=5,6
coindrop.to
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=5
new event: fd: 5, evt: EV_REQUEST, mod_iter: 1
new event: fd: 5, evt: EV_REQUEST, mod_iter: 1
new conn: fd=6, addr=76.76.21.9:443
new event: fd: 6, evt: EV_CONNECT, mod_iter: 3
new event: fd: 5, evt: EV_DESYNC, mod_iter: 1
desync params index: 0
host: coindrop.to (208)
tlsrec: pos=206, n=517
send: pos=0-522
new event: fd: 6, evt: EV_PRE_TUNNEL, mod_iter: 3
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 3
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 3
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 3
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 1
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 1
recv: Connection reset by peer
close: fds=5,6
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=5
new event: fd: 5, evt: EV_REQUEST, mod_iter: 12
new event: fd: 5, evt: EV_REQUEST, mod_iter: 12
new conn: fd=6, addr=76.76.21.9:443
new event: fd: 6, evt: EV_CONNECT, mod_iter: 14
new event: fd: 5, evt: EV_DESYNC, mod_iter: 12
desync params index: 0
host: coindrop.to (134)
tlsrec: pos=132, n=517
send: pos=0-522
new event: fd: 6, evt: EV_PRE_TUNNEL, mod_iter: 14
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 14
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 12
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 14
close: fds=6,5

Были ещё сайты, у которых одна из этих двух ситуаций, но я забыл их домены.
split и disorder такой проблемы не имеют, но с tlsrec сайты загружаются быстрее.

Не срабатывает правило по --host list.txt для доменов ютуба

Здравствуйте. Прописываю --hosts russia-youtube.txt -s 2 --auto=none, в котором такие домены:
youtube.com youtu.be googlevideo.com ytimg.com
И byedpi никак не реагирует на домены что в нем и ютуб шейпится. Если например взять другие домены, то правило срабатывает. И если просто -s 2 на все использовать без list.txt - то ютуб перестает шейпится

UPD: Вот так --hosts :googlevideo.com -s 2 - тоже не срабатывает.

[Wishlist] Read options from config file

Если есть возможность, было бы здорово добавить опцию для чтения опций запуска из файла конфигурации.
Тогда на openwrt-роутере можно будет запускать как сервис и, возможно, будет смысл сделать конфигурирование через UCI.

В тг

Здравствуйте, спасибо за инструмент, можно вас в ТГ добавить? Пожалуйста

Лицензия byedpi

Хочу добавить пакет в Gentoo, да и вообще интересно - какая у проекта лицензия?

Если это не первостепенный вопрос, можно ли указать какую-нибудь?

Не запускается на архитектуре mips

Хотел запустить на роутере с процессором MediaTek MT7621, но появляется ошибка:
line 3: syntax error: unexpected "("
Скрипты запрета определили бинарники для него как mips32r1-lsb

Спустя время перестает работать

Решил потестить ради интереса, в принципе работает неплохо. Указал в настройках системы прокси (http:// само добавляется), браузеры подхватили.

image

Даже подбирать ничего не пришлось ибо со стандартным

ciadpi --method disorder --split-pos 3

все блокировки обходятся.

Но спустя некоторое количество времени, заблокированные сайты перестают открываться с кодом ERR_CONNECTION_CLOSED. В консоли только простыня из recv: 10054. В такие моменты помогает перезапуск ciadpi, но сайты начинают работать не сразу, а спустя какое-то время 1-2 минуты. За несколько дней столкнулся с данным поведением 3 раза.

Обновлю описание, если появятся какая-то новая/полезная информация.

по поводу oob

К слову --method oob тоже работает, но ломает отображение картинок на некоторых сайтах.

Использование без прокси

Можно ли использовать byedpi по всей системе, как это делают zapret/goodbyedpi, то есть без необходимости указывать прокси сервер в каждой программе?

Контейнер для Mikrotik

Есть готовый микротик, на котором хочу поднять ваш докер контейнер, но проблема в том, что образ у вас собран для amd64 архитектуры. Нигде не нашел исходный Dockerfile. Не могли бы вы собрать образ для arm?

File "list.txt" on android

Where should I create a white or black list file of domains on android to simply specify its name? Or how to specify the path to a file located not next to the program?

Добавить игнор-лист?

Что насчёт добавить какую-то опцию --ignore, обьявляющую список доменов, которых byedpi косаться не должен?

Компиляция под mipsel 24kc

Есть роутер Xiaomi Mi Router 4c с прошивкой OpenWrt
opkg print-architecture выдает

arch all 1
arch noarch 1
arch mipsel_24kc 10

Пробовал скомпилировать командой
mips-linux-gnu-gcc -march=24kc -O2 packets.c main.c conev.c proxy.c desync.c mpool.c extend.c -I . -o ciadpi

выдает файл, который при попытке запуска на роутере выдает ошибку
/tmp/ciadpi: line 1: syntax error: unexpected "("

Пробовал так же архитектуры
24kec, mips1, mips32r2, выдает такие же ошибки

на роутере не могу скомпилировать, ведь gcc вмесит 40 МиБ, на роутере столько места нет

FreeBSD target binary?

Шутки про то, как пропатчить КДЕ под БСД уже были? Хотелось бы узнать у уважаемого автора - возможно ли собрать бинарь под FreeBSD, конкретно под актуальный Opnsense (FreeBSD 14.1)? В том смысле, будут ли релизы под FreeBSD?

Если нет, то хотя бы какую-то наводку для ламеров, как ловчее из исходников собрать рабочий вариант, если это возможно. Спасибо.

Поднять на роутере Keenetic

Здравствуйте. Идея такая поднять этот прокси на роутере Кинетик с Entware. В самом Кинетике есть компонент прокси соединения, его замкнуть на поднятый сервер. И все соединения будут проходить через прокси на роутере. Но что то не получается. Может сориентируете какие параметры надо указать?
Прослушиваемый IP - 127.0.0.1?
I --conn-ip - тут тоже не пойму, этот IP что мне раздает провайдер или IP роутера в локалке?
И как считаете реализуемо такое?

mipsel

Не могли бы Вы добавить сборку для mipsel?

Происходит сброс соединения

Вроде настроил как положено. Запускаю строкой ciadpi -i 127.0.0.1 -I 192.168.100.207 --fake -1 --ttl 8 , в браузере прописал сокс прокси 127.0.0.1 с портом 1080, и когда захожу на ютуб в консоле сыплет сообщениями recv: Connection reset by peer. И видео понятное дело не загружаются.

Logo

Maybe it's time to choose a program logo? For example, ByeDPIAndroid uses an image of a dove.

Может быть пришло время выбрать логотип программы? Например, ByeDPIAndroid использует изображение голубя.

logo.svg

readme.txt -> README.md

Описание приложения в readme.txt сложновато читать, поскольку нет оформления разметкой MD markdown. Хотя в тексте коды этой разметки присутствуют - ### в заголовках разделов.
Чтобы разметка работала надо переименовать readme.txt в README.md.

Инструкция и примеры

--hosts list.txt --disorder 3 --auto=none  
Применять запутывание только для доменов из list.txt

--hosts list.txt --auto=none --disorder 3  
Не применять запутывание для доменов из list.txt

Боже мой, автор что у тебя в голове. Ты может и гений в этом, но нельзя же так. Сделай человеческое описание и простые логичные параметры вроде --wрitelist и --blacklist. Если один параметр можно или нужно указывать несколько раз, значит он не полноценный и не продуманный. --fake -1 идёт описание параметра и потом пример с непонятно откуда рождённой -1 без какого-либо комментария. Включи в релиз типичные примеры с конфигами которые сразу можно пробовать запускать, добавь листы с этим ютюбом неладным, ты ведь видишь всё. И да это упрёк, возмущение и пожелание. Такие знания и опыт.. ну поменяй ты фантик и подход.

Program crashing with segmentation fault

На Windows 11 23H2 (22631.3447), приложение вылетает при использовании --fake -1 --ttl 3. Вылет происходит на всех версиях, начиная с 0.7 и по 0.10.

Как спровоцировать вылет:

  • запустить ciadpi с аргументами --disorder 1 --fake -1 --ttl 3 --debug 2 (без --debug 2 тоже вылетит, но не сразу);
  • открыть YouTube, походить по ссылкам, по обновлять страницу.
Старое описание

После последних 3х коммитов, приложение стало рандомно вылетать, после 1-2 часов работы. Попытался погонять с отладчиком, в надежде что отладчик ткнет пальцем в проблемное место (так обычно делает отладчик от MS). Но gdb мне так и не удалось нормально настроить. Самое адекватное, что я из него вытащил, с третьего раза (не уверен насколько это полезно):

image

Запускаю с аргументами:
--hosts "E:\Programming\cr-pl.programs\byedpi\white_list.txt" --auto=none --disorder 1 --fake -1 --ttl 3

terminal.txt
debug-console.txt

Попробую пока откатывать по одному коммиту, и проверять когда перестанет падать.

Собираю, этим: GCC 13.2.0 (with POSIX threads) + LLVM/Clang/LLD/LLDB 17.0.6 + MinGW-w64 11.0.1 (UCRT) - release 7 (LATEST)

IPv6 support

Launch command: /opt/ciadpi --ip ::1 --method fake --ttl 1
Website tested: Meduza

General

  • Listens at ::1
  • AAAA resolution
  • Mapped IPv4

Tests

Default (SOCKS5, dual-stack)

  • V6-supported website
  • V6-only website

Forced (SOCKS5, v6-only)

  • V6-supported website
  • V6-only website

Bodge (SOCKS4, dual-stack)

  • V6-supported website - failover to v4 -> fail
  • V6-only website - not supported

My setup (SOCKS4, v6-only)

  • V6-supported website
  • V6-only website - not supported

При запуске вешает контейнер в proxmox

Добрый. Контейнер создан на базе Ubuntu 24.04 LTS (GNU/Linux 6.8.12-1-pve x86_64). Promox на базе NUC. Архив положен в /opt/byedpi - распакован.

-rw-r--r-- 1 root root 70915 Jul 29 20:34 byedpi-12-x86_64.tar.gz
-rwxr-xr-x 1 root root 133776 Jul 29 20:24 ciadpi-x86_64

Снимок экрана 2024-08-08 в 15 54 04

При запуске с ./ciadpi-x86_64 --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1 - да в принципе с любыми ключами вешает контейнер.

Что я делаю не так ?

Support "VPN mode"

I hope you can support VPN mode. Example: WinDivert. Because I need use proxy for another purpose.

Socket family is problematic when setting TTL

When setting TTL for socket in setttl function, passed socket family is not the same as in used socket. Somehow Linux don't give any errors for this and even sets TTL correctly, but while i tested on NetBSD in #75 it gives error:

setsockopt IP_TTL: Protocol option not available (A bad option or level was specified in a getsockopt(2) or setsockopt(2) call.)

Simple patch for main branch to test:

diff --git a/desync.c b/desync.c
index f4a3aba..e9975d6 100644
--- a/desync.c
+++ b/desync.c
@@ -46,10 +46,21 @@ int get_family(struct sockaddr *dst)
     return dst->sa_family;
 }
 
+int socket_family(int fd){
+    struct sockaddr_in fd_addr;
+    socklen_t fd_addr_len = sizeof(fd_addr);
+    getsockname(fd, (struct sockaddr *) &fd_addr, &fd_addr_len);
+    
+    return fd_addr.sin_family;
+}
+
 
 int setttl(int fd, int ttl, int family) {
     int _ttl = ttl;
     
+    printf("PASSED:ipv%c \n", family == AF_INET6 ? '6' : '4');
+    printf("DETECTED:ipv%c \n", socket_family(fd) == AF_INET6 ? '6' : '4');
+    fflush(stdout);
     if (family == AF_INET) {
         if (setsockopt(fd, IPPROTO_IP,
                  IP_TTL, (char *)&_ttl, sizeof(_ttl)) < 0) {

And when running with ./ciadpi -p 8080 -g 1 even on Linux, it prints after connecting to any domain:

PASSED:ipv4
DETECTED:ipv6

Using my socket_family to detect socket family makes setting TTL correct without any error in NetBSD, however somehow it breaks setting TTL on Linux. So i think this problem is something bigger and not good to fix with workaround for NetBSD i did in 87e368f .

Каждый день приходится подбирать новые параметры

Добрый день!
Ютуб с новыми параметрами 1-2 дня нормально проигрывает видео. На следующий день, каждый раз воспроизводит около 1 минуты видео и после выдаёт ошибку: "Что-то пошло не так. Обновите страницу или повторите попытку позже."

Последние использованные параметры:
ciadpi -s 2 -d 2
ciadpi --fake 2 --split 3 --ttl 4 -M dcsmix --auto=none

ОС: Ubuntu 24.04
Интернет: мобильный оператор билайн, раздача с модема.

Логи

accept: fd=5
new conn: fd=6, addr=108.177.14.198:443
host: www.youtube.com (171)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=2212
send: pos=2-2212
accept: fd=7
new conn: fd=8, addr=173.194.73.119:443
accept: fd=9
new conn: fd=10, addr=74.125.111.8:443
accept: fd=11
new conn: fd=12, addr=74.125.111.8:443
host: i.ytimg.com (438)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=2236
send: pos=2-2236
host: rr3---sn-5goeenez.googlevideo.com (160)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1986
send: pos=2-1986
host: rr3---sn-5goeenez.googlevideo.com (192)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1986
send: pos=2-1986
accept: fd=13
accept: fd=14
new conn: fd=15, addr=128.75.235.81:443
new conn: fd=16, addr=128.75.235.81:443
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (378)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1781
send: pos=2-1781
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (1405)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1845
send: pos=2-1845
accept: fd=17
new conn: fd=18, addr=173.194.2.22:443
host: rr4---sn-axq7sn7s.googlevideo.com (479)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1807
send: pos=2-1807
close: fds=13,15
accept: fd=13
new conn: fd=15, addr=173.194.2.22:443
host: rr4---sn-axq7sn7s.googlevideo.com (136)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1743
send: pos=2-1743
accept: fd=19
new conn: fd=20, addr=128.75.235.81:443
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (157)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1749
send: pos=2-1749
close: fds=14,16
accept: fd=14
new conn: fd=16, addr=128.75.235.81:443
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (1695)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1749
send: pos=2-1749
accept: fd=21
new conn: fd=22, addr=64.233.163.100:443
host: signaler-pa.youtube.com (500)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=2292
send: pos=2-2292
accept: fd=23
new conn: fd=24, addr=64.233.163.138:443
host: signaler-pa.youtube.com (1769)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=2260
send: pos=2-2260
accept: fd=25
accept: fd=26
new conn: fd=27, addr=128.75.235.81:443
new conn: fd=28, addr=128.75.235.81:443
accept: fd=29
new conn: fd=30, addr=128.75.235.81:443
accept: fd=31
new conn: fd=32, addr=128.75.235.81:443
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (1801)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1845
send: pos=2-1845
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (179)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1781
send: pos=2-1781
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (136)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1845
send: pos=2-1845
host: rr6---sn-8ph2xajvh-p5gl.googlevideo.com (427)
split: pos=0-2 (2), m: DESYNC_SPLIT
split cancel: pos=2-2, n=1813
send: pos=2-1813
close: fds=19,20
close: fds=14,16
close: fds=15,13
close: fds=18,17

ss: invalid version: 0x43 (213)

Запускается, но не работает. После попытки соединения вылазят ошибки. Браузер через прокси данные не получает.

$ ./ciadpi --disorder 1 --auto=torst --tlsrec 1+s
ss: invalid version: 0x43 (213) 
ss: invalid version: 0x43 (213) 
ss: invalid version: 0x43 (213)

Packet mark

Добавить маркировку пакетам, которые были запутаны и не запутаны

socket: Address family not supported by protocol / docker ipv6 disable

Приветствую и благодарю за проделываемую работу ,

На докерхабе есть такой контейнер
image: tazihad/byedpi:latest

Сам бинарник в контейнере запускал с такими параметрами
command: --hosts /hosts.dpi --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1 --auto=none

Подцепился терминалом
docker exec -u 0 -it b783bb6540f sh

В отсутствии tcpdump в контейнере, что странно, просто параллельно запустил еще один бинарь на соседнем порту и стал смотреть с расширенным дебагом
/opt/byedpi/ciadpi -p 1081 --hosts /hosts.dpi --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1 --auto=none

И в терминал валится вот что:

new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=5
new event: fd: 5, evt: EV_REQUEST, mod_iter: 1
new event: fd: 5, evt: EV_REQUEST, mod_iter: 1
socket: Address family not supported by protocol
socket: Address family not supported by protocol
ss error: 97
close: fds=5,-1

Бегло глазами, что могло вызывать подобное и ....
Just had a look at this (needed to boot with ipv6.disable=1 to reproduce the issue) and I arrived at the same patch by @klynastor

И таки да, действительно, машина, в которой запускается на linux хосте имеет

root@root:# dmesg | grep 'Kernel command line'
[    0.066415] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.8.0-40-generic maybe-ubiquity ipv6.disable=1 max_loop=64

Убрал и ребутнулся, проблема исчезла. Как вариант кто-то предложил такой вариант исправить в исходниках ping'a.
Проект хоть и не большой у тебя, но, я думаю, ты быстрее найдешь, как пофиксить в нем сею ошибку.
Спасибо.

    --- iputils-s20200821/ping/ping.c.bak   2020-11-25 00:22:54.000000000 -0500
    +++ iputils-s20200821/ping/ping.c       2020-11-25 00:23:13.000000000 -0500
    @@ -150,8 +150,8 @@
                    /* Report error related to disabled IPv6 only when IPv6 also failed or in
                     * verbose mode. Report other errors always.
                     */
    -               if ((errno == EAFNOSUPPORT && family == AF_INET6) ||
    -                   rts->opt_verbose || requisite)
    +               if ((errno == EAFNOSUPPORT && family == AF_INET6 && requisite) ||
    +                   rts->opt_verbose)
                            error(0, errno, "socket");
                    if (requisite)
                            exit(2);

Double free when empty domain for hosts used

Steps to reproduce

  1. Run ./ciadpi -i 127.0.0.1 -p 8080 --hosts ":"
  2. Stop it

Expected result

Program exit correctly.

Current result

Program gets double free error.
Stacktrace with clang sanitizers compiled:

==231707==ERROR: AddressSanitizer: attempting double-free on 0x602000000010 in thread T0:
    #0 0x557ce328d012 in free ($SRC_PATH/byedpi/ciadpi+0xc0012)
    #1 0x557ce32ce875 in clear_params $SRC_PATH/byedpi/main.c:380:17
    #2 0x557ce32d1660 in main $SRC_PATH/byedpi/main.c
    #3 0x7fb121452249 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #4 0x7fb121452304 in __libc_start_main csu/../csu/libc-start.c:360:3
    #5 0x557ce320a470 in _start ($SRC_PATH/byedpi/ciadpi+0x3d470)

Подсовка DNS

Есть ли шанс, что будет добавлена возможность задавать программе dns, к которому она будет направлять указанные в списке сайты, как в goodbyedpi? Ваша программа даже на андроиде спокойно работает, но указанной функции очень не хватает

first connection thru http / https

Может я кривосмотрящий, но тогда с легкостью можно закрыть данный реквест.

Если браузере или smarttube указать socks 5 и ... ничего не делать, просто вбив или попробовав указать youtube.com, то сначала оба лезут по умолчанию на 80, а не на 443 и получается следующее

new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=5
new event: fd: 5, evt: EV_REQUEST, mod_iter: 107
new event: fd: 5, evt: EV_REQUEST, mod_iter: 107
new conn: fd=6, addr=64.233.165.198:80
new event: fd: 6, evt: EV_CONNECT, mod_iter: 109
new event: fd: 5, evt: EV_DESYNC, mod_iter: 107
desync params index: 0
host: www.youtube.com (22)
modify HTTP: n=313
split: pos=0-3 (3), m: DESYNC_SPLIT
split: pos=3-312 (309), m: DESYNC_FAKE
send: pos=312-313

new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=15
new event: fd: 15, evt: EV_REQUEST, mod_iter: 112
new event: fd: 15, evt: EV_REQUEST, mod_iter: 112
new conn: fd=16, addr=173.194.221.198:443
new event: fd: 16, evt: EV_CONNECT, mod_iter: 114
new event: fd: 15, evt: EV_DESYNC, mod_iter: 112
desync params index: 0
host: www.youtube.com (92)
split: pos=0-3 (3), m: DESYNC_SPLIT
split: pos=3-176 (173), m: DESYNC_FAKE
send: pos=176-177

Но стоит ручками указать https:// .... и тут же пошло все по трубам ютюба )))


host: www.youtube.com (92)
split: pos=0-3 (3), m: DESYNC_SPLIT
split: pos=3-176 (173), m: DESYNC_FAKE
send: pos=176-177
new event: fd: 7, evt: EV_DESYNC, mod_iter: 159
close: fds=7,8
new event: fd: 5, evt: EV_DESYNC, mod_iter: 107
close: fds=5,6
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=5
new event: fd: 5, evt: EV_REQUEST, mod_iter: 172
new event: fd: 5, evt: EV_REQUEST, mod_iter: 172
new conn: fd=6, addr=64.233.165.93:443
new event: fd: 6, evt: EV_CONNECT, mod_iter: 174
new event: fd: 5, evt: EV_DESYNC, mod_iter: 172
desync params index: 0
host: youtube.com (101)
split: pos=0-3 (3), m: DESYNC_SPLIT
split: pos=3-516 (513), m: DESYNC_FAKE
send: pos=516-517
new event: fd: 6, evt: EV_PRE_TUNNEL, mod_iter: 174
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 174
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 172
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 172
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 174
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 172
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 174
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 174
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 174
new event: fd: 6, evt: EV_TUNNEL, mod_iter: 174
new event: fd: 5, evt: EV_TUNNEL, mod_iter: 172
new event: fd: 3, evt: EV_ACCEPT, mod_iter: 0
accept: fd=7
new event: fd: 7, evt: EV_REQUEST, mod_iter: 188
new event: fd: 7, evt: EV_REQUEST, mod_iter: 188
new conn: fd=8, addr=64.233.165.198:443
new event: fd: 8, evt: EV_CONNECT, mod_iter: 190
new event: fd: 7, evt: EV_DESYNC, mod_iter: 188
desync params index: 0
host: www.youtube.com (101)
split: pos=0-3 (3), m: DESYNC_SPLIT
split: pos=3-621 (618), m: DESYNC_FAKE
send: pos=621-622
new event: fd: 8, evt: EV_PRE_TUNNEL, mod_iter: 190
new event: fd: 7, evt: EV_TUNNEL, mod_iter: 188
new event: fd: 7, evt: EV_TUNNEL, mod_iter: 188
new event: fd: 8, evt: EV_TUNNEL, mod_iter: 190
new event: fd: 8, evt: EV_TUNNEL, mod_iter: 190

Есть ли какая либо возможность подставлять изменять автоматом приходящие http на https в самом бинарнике, а не руками потому, что в браузере да, не развалюсь, но вот тот же smarttube заставить делать иначе не получается, а такое у самой прокси похоже потому, что при http - > new conn: fd=6, addr=64.233.165.198:80 ... и отсюда, похоже, редирект на new conn: fd=16, addr=173.194.221.198:443 .... а в таком случае у многих, кто не далек от темы "не будет работать"

Можно ли использовать как полноценный Прокси сервер?

Приветствую, в вашем приложении есть возможнось создания прокси сервера, вопрос могу ли Я его использовать как полноценный прокси, что бы моё приложение гнало весь трафик через ваше приложение если оно запущено?

Пайплайны

А сейчас у проекта релизы руками компайлятся?

Если шо, могу написать пайплайн на гитхаб экшн или ещё где, и кинуть PR, заодно можно добавить сборки под фрибсд и что там ещё люди просили.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.