bol-van / zapret

DPI bypass multi platform
8.35k stars 635 forks source link

Маски в листах #444

Open voronczoff opened 1 month ago

voronczoff commented 1 month ago

Если в листе исключений поставить: visualstudio.com то хост: marketplace.visualstudio.com не будет исключен.

Есть ли возможность использовать маски типа *visualstudio.com ?

voronczoff commented 1 month ago

Сорри, увидел в ридми:

Поддомены учитываются автоматически. Например, строчка "ru" вносит в список ".ru". Строчка ".ru" в списке не сработает.

Но тогда это баг: пока явно не добавил marketplace.visualstudio.com, плагины в вскоде не обновлялись.

bol-van commented 1 month ago

Скорее всего вы в чем-то ошиблись. Не подтверждаю такое поведение. Может пробел стоит в хостлисте где-то Смотреть надо --debug, там все понятно будет

voronczoff commented 1 month ago

У меня уже несколько таких кейсов, когда при добавлении домена 3го уровня перестает фильтровать, хотя до этого был указан в файле исключений домен 2го уровня. Попробую подебажить.

ARGS="--daemon --bind-addr 192.168.0.1 --port 999 --disorder --tlsrec=sni --split-pos=2 --pidfile $PIDFILE --hostlist-exclude $PASSLISTFILE"

bol-van commented 1 month ago

Нужен --debug лог (1 уровня хватит) с проблемой и сам хост файл как есть. Куда-нить залить.

bol-van commented 1 month ago
echo visualstudio.com >/tmp/1
./tpws --socks --debug --port 1080 --split-pos=2 --hostlist-exclude=/tmp/1
adding low-priority default empty desync profile
we have 1 user defined desync profile(s) and default low priority profile 0
Loading hostlist /tmp/1
loading plain text list
Loaded 1 hosts from /tmp/1
Prepare bind 0 : addr= iface= v6=0 link_local=unwanted wait_ifup=0 wait_ip=0 wait_ip_ll=0
Binding 0 to [::]:1080
Running as UID=1000 GID=1000
socks mode
initialized multi threaded resolver with 15 threads
Legs : local:1 remote:0
Socket fd=7 (local) connected from [::1]:40686
socks target for fd=7 is : 81.19.72.32:80
desync profile search for hostname='' ipv6=0 tcp_port=80
desync profile 0 matches
Legs : local:1 remote:1
Socket fd=10 (remote) connected from : x.x.x.x:53580
tampering tcp segment with size 71 to 81.19.72.32:80
using cached desync profile 0
Data block looks like http request start : GET /
request hostname: lenta.ru
desync profile search for hostname='lenta.ru' ipv6=0 tcp_port=80
* Hostlist check for profile 1
Checking exclude hostlist
Hostlist check for lenta.ru : negative
Hostlist check for ru : negative
desync profile 1 matches
desync profile changed by revealed hostname !
Splitting at pos 2
Socket fd=10 (partner_fd=7, remote=1) EPOLLHUP so_error=0 (No error information)
Socket fd=10 (partner_fd=7, remote=1) closed, connection removed. total_read=389 total_write=71 event_count=3
Socket fd=7 (partner_fd=0, remote=0) closed, connection removed. total_read=71 total_write=389 event_count=4
Legs : local:0 remote:0

Legs : local:1 remote:0
Socket fd=7 (local) connected from [::1]:33778
socks target for fd=7 is : [2620:1ec:a92::175]:80
desync profile search for hostname='' ipv6=1 tcp_port=80
desync profile 0 matches
Legs : local:1 remote:1
Socket fd=10 (remote) connected from : [xxxxxxxxxxxxxx]:58544
tampering tcp segment with size 91 to [2620:1ec:a92::175]:80
using cached desync profile 0
Data block looks like http request start : GET /
request hostname: marketplace.visualstudio.com
desync profile search for hostname='marketplace.visualstudio.com' ipv6=1 tcp_port=80
* Hostlist check for profile 1
Checking exclude hostlist
Hostlist check for marketplace.visualstudio.com : negative
Hostlist check for visualstudio.com : positive
desync profile 0 matches
Socket fd=10 (partner_fd=7, remote=1) EPOLLHUP so_error=0 (No error information)
Socket fd=10 (partner_fd=7, remote=1) closed, connection removed. total_read=998 total_write=91 event_count=3
Socket fd=7 (partner_fd=0, remote=0) closed, connection removed. total_read=91 total_write=998 event_count=4
Legs : local:0 remote:0
bol-van commented 1 month ago

Может быть проблема была в какой-то старой версии. Недавно после введения профилей логика проверки изменилась. Может быть это и починило проблему