abysshint / tor-control-panel

Windows GUI Client for Tor Expert Bundle
MIT License
133 stars 12 forks source link

Directories == only unique #17

Open LeonMskRu opened 4 months ago

LeonMskRu commented 4 months ago

https://live.staticflickr.com/65535/53829068901_5aba5b80f2_o.png https://live.staticflickr.com/65535/53829071306_2dc596a2a0_o.png

98.128.173.1 orport=9001 id=32C1100B5EF19A5BFBB431E8D42781C2D09D31C3 98.128.173.1 orport=9002 id=7A319C431F38CB30A0BC0C49144369A611920725 98.128.173.1 orport=9006 id=80D2CBD50894B6B47FB847CF4A2FDBCD465850A0

185.243.218.46 orport=8120 id=40FDEB144915E345290815534E3725DBBDABA0B0 ipv6=[2a03:94e0:ffff:185:243:218:0:46]:8120 185.243.218.46 orport=8154 id=6827C1E9BB0509578B52871990B3D067586AEFFF ipv6=[2a03:94e0:ffff:185:243:218:0:46]:8154

185.130.46.144 orport=9001 id=9B69DD0B4633E6B7CFDF47DC26D91D3192982653 ipv6=[2a07:e01:3:3d8::1]:9001 185.130.46.145 orport=9001 id=6470D388214FD60FB4962BEF50149D779A725C90 ipv6=[2a07:e01:3:3dc::1]:9001

185.220.101.89 orport=9000 id=AAB787DBC63C53FD783F105CFA8E2894018D5D0B ipv6=[2a0b:f4c2:3::89]:9000 185.220.101.161 orport=11161 id=0CE59DBA1A9A747A428C711892AC093BBA34C38E ipv6=[2a0b:f4c2:1::161]:11161

abysshint commented 4 months ago

А можно больше пояснений? Скриншоты по ссылкам выдают (503 Service Unavailable). Если вы про авто-подбор роутеров, то "уникальность" идёт по отпечатку, а не IP-адресам. Уникальность по IP, нормально так уменьшит количество доступных узлов для авто-подбора, всё таки порты у них разные. Сейчас, уникальность в авто-подборе подразумевает, что если роутер выбран в одной из позиций (Входной, Средний или Выходной), то он не будет больше участвовать в авто-подборе других позиций. Уникальность не распространяется на подбор каталогов.

Как вариант: предоставить пользователю выбирать уровень уникальности, по отпечатку, по IP-адресу, по CIDR /24 (Н-р: 192.168.1.*) или CIDR /16 (Н-р: 192.168.*.*).

LeonMskRu commented 4 months ago

ну я думал у тебя что то типа. EnforceDistinctSubnets 0|1. If 1, Tor will not put two servers whose IP addresses are "too close" on the same circuit. Currently, two addresses are "too close" if they lie in the same /16 range. тем более в setting / general / main есть эта галка

и как раз каталоги ИМХО важней из разных сетей. как минимум ни из одной /24 и уж тем более не один ИП желательно /16 понятно что серверов мало. но в случае чего "дохнет" так же много сразу (бан РКН. оффлайн сервера. етк) причем я менял и на ping и на balanced и выбирало одни и те же relay тут вопрос скорее вообще в выборе в том числе и bridges/limit/random и директории даже random в директориях выдает серии ИП

95.141.32.124:44444 95.141.32.124:55555

185.220.101.44:10044 185.220.101.88:9000 185.220.101.106:993 185.220.101.175:10175

192.42.116.178:9004 192.42.116.185:9001

LeonMskRu commented 4 months ago

и кстати твой unique и EnforceDistinctSubnets это не одно и то же ? по смыслу и выбору

abysshint commented 4 months ago

Ещё раз напишу, на данный момент "Уникальность" не распространяется на подбор каталогов. Подбор каталогов как и роутеров в целом - это фича TCP, поэтому независимо что будет подобрано в TCP, оно ещё обработается tor-ом опцией EnforceDistinctSubnets и так же в одной цепочке не будут узлы из одного семейства (Family).

Каталоги стоят особняком от узлов, которые используются при построении цепочек, потому что запрос к каталогу идёт через цепочку с одним узлом (ONEHOP_TUNNEL). Там важно только чтобы узел не был исключён через ExcludeNodes.

В целом согласен, что для каталогов важна уникальность по IP-адресу, потому что блокируются в основном именно по IP, но если отсекать каталоги целыми подсетями, то можно исключить новые tor-узлы, которые будут подняты у тех же провайдеров.

LeonMskRu commented 4 months ago

да я понял про "сейчас" как рандом "работает" == не понял. или оно тоже по и так уникальным fingerprint "случайно" выбирает ? но почему тогда серии ип остаются ? я уже специально из за особенностей TCP и сканера сам стал grep relay (страны/flags/etc) / сканером проверяю ipv4+ipv6 из полученого JSON / и запускаю sort -k 2b,2 -u (unique) на полученные IP чтобы не было как в начале issue

наверно проще/удобней/понятней будет добавить новые фильтры и для мостов и для твоего авто-подбора 1) Random 2) Random_IP_CIDR/24 3) Random_IP_CIDR/16 и что то типа (это по желанию и возможности) 4) Random_IP_Country например список стран nl fr fi lu se gb ch ro no cz ru bg dk it is es at hu gr be ie hr pt ищем по ОДНОМУ ип в каждой стране (если они конечно есть) опять/снова по одному ИП в каждой стране и так до тех пор пока не наберется нужное кол-во серверов да каких то стран будет больше. каких то вообще не будет но зато не будет почти все ноды из 2-3 стран

про новые ноды... ну когда банят IPv4 там их очень мало вообще для чеголибо и почти все UnStable уж пару новых ИП на тех же сетях погоды ИМХО не сделают. вот сейчас всего ТРИ Stable+Alive ;\ еще десяток это по IPv6 через мосты https://imgur.com/ebq9Tp3

LeonMskRu commented 4 months ago

а это тоже так и задумано ? из 20 выбранных по "auto select relays" только 6 ALIVE https://i.imgur.com/4sHq1K1.png https://imgur.com/4sHq1K1

abysshint commented 4 months ago

Скорее всего с момента последнего авто-подбора проводилось сканирование, которое и отсеяло мёртвые, при этом в настройках резервных каталогов не включена галочка "Исключать неподходящие".

LeonMskRu commented 4 months ago

меняю фильтр other / auto select relays (сейчас стоит ping) запускаю руками Change node lists -> Auto select relays

галка включена исключать недоступные после "Apply" не-Alive исчезают сразу же

но да. сканирование было давно может как при добавлении мостов пересканировать "доступность" при ручном обновлении списков (только то что выбрало. а не весь список. чтобы оно сразу не мозолило глаза.)

LeonMskRu commented 4 months ago

auto select relays из setting/other и auto select relays из relays/change node list это разное ? смотрю пустые директории. жму обновление "вручную" находит мои же мосты. но находит же ... https://www.flickr.com/photos/200778714@N04/53837976972/sizes/o/

настройки автоподбора в опциях вот такие https://www.flickr.com/photos/200778714@N04/53838874981/sizes/o/

abysshint commented 4 months ago

из relays/change node list вы запускаете авто-подбор вручную. Из setting/other/network scanner авто-подбор запускается сразу после автоматического сканирования (если оно включено). Оба авто-подбора используют одни и те же настройки, которые находятся в setting/other/auto select relays. Данные для авто-подбора основаны на текущем состоянии консенсуса, т.е. если последнее сканирование было 3 часа назад, то данные ручного авто-подбора, сделанные "сейчас" будут актуальнее, чем данные авто-подбора после сканирования 3 часовой давности. То, что подбираются ваши же "мосты" не удивительно, потому что у вас не "мосты", а живые узлы консенсуса, которые выступают в качестве моста, а резервные каталоги ретрансляторов подбираются как раз из живых узлов консенсуса.