Ник Пост Дата
404kg(Max)

Как должен выглядеть конфиг для запуска бинарного Tor?
Сейчас у меня такой, сделал по инструкциям из сети т.к. документация не гуглится офицальная.

ClientTransportPlugin obfs4 exec D:\Soft\Tor\Tor\PluggableTransports\obfs4proxy.exe
Bridge obfs4 77.72.132.85:60942 108891B7875D12AADD0DDB06C88FBFED0DF48F91 cert=5T1zoNf9IvnUJ5PW8QrqvMs2FtTk5Zovxd4hPFFu8wSbo338e/yerVmH8bVGuREqZx/0CA iat-mode=0
Bridge obfs4 84.113.179.53:9999 9429DA1EBF5C50112776350
C4C0AF4ECC3D3E0F9 cert=DyGA0K+G8fax021WpttnsOgegCTk9Vc6xkgd/qK6wZg/0U7DawhsmNs+4HxiTDn1hkRoUg iat-mode=0
UseBridges 1
DataDirectory D:\Soft\Tor\Tor
GeoIPFile D:\Soft\Tor\Data\Tor\geoip
GeoIPv6File D:\Soft\Tor\Data\Tor\geoip6
Log notice file D:\Soft\Tor\Tor\log.txt
ExtORPort auto
ContactInfo yourname@example.com
Nickname PonteMilvio

После запуска командой tor.exe -f D:\Soft\Tor\Tor\torrc консоль молчит, нет соединения. должно быть bootstraped 100% done


Создавать и настраивать torrc приходится из-за того что Tor блокируется, bootstraped висит на 5%. Тут же просто мосты другие укажу которые работают.

2023-05-24T14:05:23.911Z
Xunlei

Вам конфигурация клиента через транспорт obfs4 необходима?

CacheDirectory ..\Data\Tor\cache
DataDirectory ..\Data\Tor
GeoIPFile ..\Data\Tor\geoip
GeoIPv6File ..\Data\Tor\geoip6

SafeLogging 0

ClientOnly 1
AutomapHostsOnResolve 1

AvoidDiskWrites 1
HardwareAccel 1

ExcludeExitNodes {US},{RU},{BY}

NewCircuitPeriod 300

OutboundBindAddress 192.168.1.1
SocksPort [::1]:9050
DNSPort [::1]:9053

UseBridges 1
ClientTransportPlugin obfs4 exec ..\Tor\PluggableTransports\obfs4-client.exe

# Мосты
Bridge obfs4 …
Bridge obfs4 …
…

Сейчас актуальная версия 0.4.7.13, и похоже дальше переход будет на arti.

2023-05-24T15:02:37.275Z
anon94384997

Потому что лог выводится в D:\Soft\Tor\Tor\log.txt. Закомментируйте Log notice, чтобы выводило в консоль.

2023-05-24T17:45:54.934Z
MD5(MD5)

Поскольку в новых версиях нету obfs4-client.exe то в конфиге нужно заменить

UseBridges 1
ClientTransportPlugin obfs4 exec …\Tor\PluggableTransports\obfs4-client.exe

На
UseBridges 1
ClientTransportPlugin obfs4 exec …\Tor\PluggableTransports\lyrebird.exe

Верно?

2024-09-15T09:18:14.301Z
Xunlei

Да, формат мостов старый, екзешник поменять и должно заработать (если мост разумеется не заблокирован).

2024-09-15T09:19:31.758Z
MD5(MD5)

Есть момент с конфигом:
UseBridges 1
ClientTransportPlugin obfs4 exec /path to lyrebird.exe/
перед адресом моста надо добавить Bridge иначе выкатывает ошибку конфига

Какой аргумент для запуска tor.exe надо указывать для добавления нужного конфига ? по умолчанию он подхватывает из папки Roaming\ещк в Windows

2024-09-15T10:42:35.248Z
Xunlei

Да, в примере так и написано.

Что-то вроде такого в ярлыке должно быть:
"C:\Program Files\tor-win64\Tor\tor.exe" -f "..\Data_Lyrebird\Tor\configuration.txt"

Вот вам иконочка ещё: Tor.ico.xz (50.0 KB)

2024-09-15T10:46:03.461Z
MD5(MD5)

Спасибо за ответ. Ещё один вопросик:
если в конфиге torrc не указана строка GeoIPv6File или указан правильный путь до файла geoip6 то запуск tor.exe останавливается после пункта Opened Socks и так висит. Но если указать неправильный путь до файла geoip6 в строке GeoIPv6File после сообщения [warn] Failed to open GeoIP file всё успешно работает. В связи с этим вопрос, как отключить в конфиге ipv6?

2024-09-16T11:59:23.692Z
Xunlei

В примере OutboundBindAddress адрес IPv4, этого достаточно, чтобы тор и мосты не лазили по IPv6 (по крайней мере, у себя не разу не видел IPv6 подключений). Этот параметр может быть объявлен несколько раз для перечисления возможных адресов для биндинга (в том числе и IPv6). Есть ещё опция OutboundBindAddressPT только для транспортных плагинов.

Как ультимативное решение — разрешить в брандмауэре защитника Windows для транспорта подключение только по TCP к 0.0.0.0/0 (либо запретить 2000::/3).

2024-09-16T12:32:14.840Z
Xunlei

Или вы спрашиваете, как сделать подключения на выходной ноде только через IPv4? Тогда используйте ClientUseIPv6 0 и AddressDisableIPv6 1.

2024-09-16T12:44:35.933Z
MD5(MD5)

Попробовал запускать с этими параметрами, но увы tor виснет так же на строке “Opened Socks listener connection (ready) on 127.0.0.1:9050”. И пока что выход это прописывать неверный путь в конфиге для GeoIPv6File

2024-09-19T08:50:01.643Z
Xunlei

Вроде стал понимать проблему, пробуйте запустить тор прокси на виртуальной машине с вашим конфигом, если заработает — то это какая-то проблема с вашей ОС, в которой, возможно, поломан IPv6.
Должно быть в логах что-то вроде такого:

[notice] Opening Socks listener on [::1]:9050
[notice] Opened Socks listener connection (ready) on [::1]:9050
[notice] Opening DNS listener on [::1]:9053
[notice] Opened DNS listener connection (ready) on [::1]:9053

Актуальная версия.

Посмотрел код функции geoip_load_file, да, сначала он открывает файл tor_fopen_cloexec, затем пишет в лог Parsing GEOIP %s file %s., затем парсит. Похоже у вас зависает на fopen, можно попробовать удалить файл и заново его распаковать из архива, попробовать открыть, попробовать сократить длину пути каталога, попробовать использовать только латиницу в пути.

2024-09-19T11:42:38.020Z
MD5(MD5)

Попробовал на виртуалке Win 7 и Win 10 версии 13.5.3 и 14.0a5. С путями к исполняемым файлам вроде всё ок. И такой же залип на “Opened Socks listener connection (ready) on 127.0.0.1:9050”

2024-09-20T14:01:55.197Z
Xunlei

Windows 7 вроде уже не должно работать начиная с какой-то версии.

Так почитайте первое сообщение и третье, где написано, что нужно убрать Log notice.

2024-09-20T14:05:58.235Z
MD5(MD5)

На win 7 до сих пор запускается )))
Действительно, стоило закомментить строчку Log notice как GeoIPv6File успешно распарсился и tor запустился. Спасибо!
(Просто как то не уловил связь между логгированием и залипанием при открытии geoip6)

2024-09-20T14:22:16.141Z
denium

Потому что с Log notice лог идёт в файл. Но не совсем сразу, а на некотором этапе. Без Log notice лог будет в терминале. В обоих случаях тор работает.

2024-09-20T16:11:35.580Z
Verity-Freedom

А это вы первичный автор конфигурации или тоже её откуда-то взяли? В любом случае в отличие от того тролля, meeeeeh, полагаю вас хоть в кой-то степени профессионалом, а не диванным держателем двухста obfs 4.

Я с ней работал. Из неё взяты SafeLogging 0, HardwareAccel 1, AutomapHostsOnResolve 1, ну и UseBridges 1. Пользу остального не совсем понял. Очень много работал применительно именно к Ютубу, как в общем-то в своей теме и сказал. Отсюда хорватские выходные ноды, ибо с множеством других кантринодов при просмотре Ютуба возникают ошибки. Что я собственно и на ntc когда-то вроде обсуждал. Поэтому я смотрел пользу параметров для стабилизации Ютуба. По итогу разницу чувствовал только от замены выходных нодов.

ExcludeExitNodes {US},{RU},{BY} - не совсем имеет смысл, зачем исключать только {US} из западных стран? Чем {US} хуже чем например {DE}? По какой-то причине казахские ноды также на Ютуб давали те же геоблокировки, что и россиянам с белорусами. AvoidDiskWrites 1 убрал, ибо программа и так совсем немного весит. NewCircuitPeriod 300 тоже убрал, ибо не увидел на тот момент разницы с различными значениями с ним и без него. Оптимизировал конфиг для предельно конкретных вещей и на тот момент это был просмотр Ютуба. Я вам могу показать результаты и разницу, если получу стопроцентную воспроизводимость.

2024-09-21T19:04:36.541Z
Verity-Freedom

Возможно Ютуб стабильнее всего работает именно на хорватских выходных ибо они, как и сказал meeeeeh (после того как ему указали по лбу их существование), все в одной подсети находятся, и Ютуб не считает подозрительным такой трафик, а возможно дело всё же в их сравнительной непопулярности (до того как я повлиял на их использование россиянами для обхода замедления).

2024-09-21T19:11:01.933Z
Xunlei

Я открыл исходники тора, перечитал параметры в файле документации

Что-то натяпляпил, что показалось важным, что-то видел у других, уже не помню (начал пользоваться на постоянку с 2013-ого года).

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

Эту рекомендацию где-то встречал для затруднения временной атаки, мне в принципе особой разницы нет.

Уже больше года урлы *.youtube.com начал пускать в обход тора через другую проксю по причине невыносимости ежедневного разгадывания светофоров, мне это было проще сделать, чем регулярно добавлять в исключение забаненые выходные ноды.

2024-09-22T00:01:49.992Z
Verity-Freedom

@Xunlei сегодня несколько часов монтировал большое видео с ответами на всю высказанную критику, надеюсь посмотрите, скоро выложу его публично здесь.

2024-09-22T01:33:19.176Z
Xunlei

Как бы то оно не было, если не сегодня, то завтра тунели отвалятся и появятся новые. Придётся бегать смотреть работающие тунели (obfs4 у меня работает 5% от предлагаемых). Был бы инструмент по аналогии https://torscan-ru.ntc.party/ для поиска незаблокированных тунелей — пользы будет больше (и вреда — РКН может просто начать парсить список).

2024-09-22T01:46:02.405Z
Verity-Freedom

@Xunlei Ответ разработчика портативного Тора на критику сообщества NTC

2024-09-22T01:46:06.234Z
robin_blood

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

2024-10-01T05:05:07.754Z
Xunlei

Не знаю, предполагаю что и нельзя без модификиции (удобный недостаток для time атаки). Подобным вопросом задавался для выбора релеев для dnscrypt, по итогу просто маршруты захардкодил.

2024-10-01T09:12:19.429Z
robin_blood

Жаль, придется вручную собирать…спасибо за ответ. Насчет dncrypt не понят, там же другая система, есть ли смысл? Всегда выбираю один сервер, до которого меньше пинг и anon, до которого тоже пинг небольшой и все

2024-10-01T11:19:02.839Z
Xunlei

Если выбирать по пингу то смысла точно не будет, т. к. релей вероятнее попадётся от того же оператора, что и сервер. Для повышения resiliency настроил шесть серверов.

2024-10-01T11:35:27.586Z
robin_blood

Или я чего то непонимаю, или мы о разных вещах говорим. Там же проименовано все. Запускаю по дефолту без выбранного сервера, он чекает и дает список по пингу, выбираю из первых один нужный оптимальный (не всегда самый первый и близкий), а потом выбираю близкий релей исходя из страны первого так как пинг суммируется. Это если я dncrypt сервера использую. Сейчас временно на DOH, а там с ODOH тяжко идет, так что без релея

2024-10-01T12:13:20.721Z
Verity-Freedom

Вот такая ошибка при просмотре Ютуба возникает:

Если использую больше одного ip-диапазона в экзитах за раз. То есть два экзита сами по себе (если сначала вписал один, потом удалил и вписал другой) не вызывают никаких проблем. Проблемы возникают если я использую их вместе. Также проблем не возникает если на одном диапазоне используется множество экзитов.

Речь идёт о нидерландском 5.255.124.150 и хорватском 45.95.169.227, у них обоих пропускная способность в районе 20 mb/s (на практике по спидтесту получается выше, в районе 30-40 mb/s) и они сравнительно непопулярны. На вебтуннелях получается скорость приемлемая для просмотра 4К на Ютубе. На диапазоне 45.95.169.223/26 такой ошибки не возникает, но скорость там не всегда достаточная для просмотра видео в 4К (45.95.169.227 самый быстрый на этом диапазоне). Притом ошибка, как и вся борьба с Тором у Ютуба, возникает только на некоторых видеороликах. Я тестировал ту самую blue lagoon. Это если что вот.

Может у кого есть идеи как это фиксить? КРОМЕ того чтобы захардкодить под ютуб только определённый экзит. Я автор портативного Тор Эксперта которым пользуется в районе 1000 человек, занимался оптимизацией под 4К, и выскочила эта проблема. Если использовать самые популярные торовские ip-шники, там вообще своеобразный блок на них стоит, с ошибкой “видео недоступно”, который не прорвать никак. А вот это я надеялся хоть как-то прорвать, никак не получается, защита Ютуба тригерится.

2024-10-26T13:45:18.767Z
Xunlei

Когда количество активных мостов в моей конфигурации превысило 64 начал получать Bootstrapped 100% (done): Done лишь через минут пять после запуска, чтобы вернуть скорость старта добавил параметр:

MaxClientCircuitsPending 64

Ещё для snowflake и webtunnel мостов полезная опция для тех, у кого ISP не предоставляет IPv6:

ClientPreferIPv6ORPort 0
2024-12-19T17:27:20.315Z
0x7f

а зачем столько мостов? если они постоянно отваливаются можно скачать валдиковский чекер мостов, посадить его в папку /etc/tor/ и запустить

#!/bin/bash 
        while true
        do
                rm -f /etc/tor/bridges.conf
                python torparse.pyz --torrc --outfile /etc/tor/bridges.conf
                systemctl restart tor
                sleep 1h
        done

и каждый час скрипт будет автоматически приносить свежие мосты которые будут точно работать, при желании можно без sleep обойтись, но мне неохота его в cron пихать.

если винда то в принципе можно и батник сделать который делает по сути то же самое, не думаю что его сильно менять придётся.

2024-12-21T06:26:15.602Z
LeonMskRu(Leon MskRu)

не все сидят на vanilla
у меня например резервный конфиг с 128+ webtunnel хотя бы часть работает и ладно

Спойлер

https://photos.app.goo.gl/adnhgtgm4BD7fZHv7
https://photos.app.goo.gl/UadawdQZjjBN3kX5A

2024-12-21T11:48:36.701Z
MD5(MD5)

Вопрос знатокам:
как в конфиге тора задать опцию смену exit-node в определенный промежуток времени?
и
как настроить браузер Firefox на использование тора? никак не хочет ходить по ссылкам .onion, некоторые рекомендуют изменить в конфиге network.dns.blockDotOnion на false, но и это не помогает, хотя в TorBrowser (который с torproject.org) иммеет network.dns.blockDotOnion = True, что как то вообще не логично (или я чего то недогоняю)

2024-12-21T14:43:01.710Z
Xunlei

Конкретно exit-node не знаю, но полностью перестроить маршрут каждые 5 минут:

NewCircuitPeriod 300

Помимо этого нужен чтобы файрфокс резолвил .onion имена. Это делается либо через включение опции Proxy DNS when using SOCKS v5, либо необходимо создать зону .onion на вашем DNS резолвере и отфорвардить на порт DNS тора, который задается DNSPort в torc (желательно отключив кэширование для этой зоны).

2024-12-21T14:52:16.681Z
denium

А network.proxy.socks_remote_dns вы включили? По умолчанию отключен.

2024-12-21T14:52:47.328Z
LeonMskRu(Leon MskRu)

эти опции тоже надо?

AutomapHostsOnResolve 1
AutomapHostsSuffixes .exit,.onion

2024-12-21T14:59:40.056Z
Xunlei

Нужно, если есть необходимость в резолвинге .onion зоны при DNS запросе. Если только браузер ходит передавая адрес через Proxy DNS when using SOCKS v5, то не обязательно.

@LeonMskRu почитай ЛС

2024-12-21T15:02:44.030Z
MD5(MD5)

Спасибо!
с network.proxy.socks_remote_dns работает.
однако смысл опции network.dns.blockDotOnion остается загадкой.

2024-12-21T15:05:53.457Z
MD5(MD5)

Спасибо за ответ. Я правильно понимаю, что при использовании tor все DNS запросы идут через exit-node?

2024-12-21T15:08:55.325Z
Xunlei

Если настроен Proxy DNS when using SOCKS v5 и проксификация через TOR, то да. Для избегания этого я настроил между тором и браузером менеджер тунелей GOST для локального резолвинга с политиками блокировок и кешированием.

2024-12-21T15:11:32.129Z
denium

смысл опции network.dns.blockDotOnion остается загадкой

Настройка network.dns.blockDotOnion=true (именно true) нужна, чтобы если:

  1. network.proxy.socks_remote_dns=false (т.е. DNS идёт не через socks прокси, а напрямую) или
  2. Если прокси отключен
    то чтобы dns запрос onion сайта не отправлялся на системный dns резолвер. Т.к. это лишено смысла и небезопасно:
  3. Системный dns резолвер не знает про onion.
  4. Нечего ему знать какие onion сайты запрашивает браузер.

Так что network.dns.blockDotOnion=true это лисий дефолт, в том числе тор браузера.

2024-12-21T16:33:00.425Z
denium

Вот ещё полезная настройка network.http.referer.hideOnionSource=true
Отключает referer, когда onion сайты запрашивают контент из обычного веба или ссылаются на него. Чтобы веб ресурсы или сайты не знали что к ним обращаются с onion сайта. По умолчанию она вроде false, кроме тор браузера. А в Pale Moon и Basilisk её не портировали. Но есть такие:
network.http.referer.spoofSource=true (вроде при переходе на внешние домены отключает referer, любые домены, т.е. referer работает только в пределах сайта).
network.http.sendRefererHeader=0 (полностью отключает referer).

2024-12-21T16:39:51.124Z
MD5(MD5)

При параметре NewCircuitPeriod маршрут перестраивается, но exit-node может оставаться тем же. Если кому будет полезно то это можно делать через включенный в конфиге ControlPort и какой нибудь питоно-скрипт или подобное https://stem.torproject.org/

2024-12-22T15:29:15.378Z
Xunlei

Да, он не обязан менятся, иначе случайное распределение будет уже не равномерным, а зависимым. Видимо без написания скрипта автоматизации не обойтись.

2024-12-22T15:35:05.466Z