Господа! У меня серьезные проблемы, и я пишу это, потому что я не мог найти решение где-либо еще в Интернете.
Мне иногда нужно использовать tor, и это официально не запрещено, но это довольно опасно в районе, где я живу. Поэтому я хотел настроить маршрутизатор с OpenWrt и настроить соединение так, чтобы определенная часть трафика (который приходит с разных машин) передавалась через сеть tor, но (так!) используя мосты, которые я предоставляю.
В соответствии с тем, что я могу понять, для того, чтобы установить полностью функционирующее соединение через мосты, первым делом я должен был загрузить эти два пакета, поэтому я сделал:
opkg install tor
opkg install obfsproxy
Я должен отметить, что obfsproxy со всеми его зависимостями, такими как python и т.д., Занимает довольно много места во флэш-памяти, а у меня всего 32 МБ. Поэтому для того, чтобы уместить все, мне пришлось подключить флэш-накопитель USB и расширить файловую систему, используя это руководство с веб-сайта OpenWrt. Я думаю, что это важно сказать, потому что каким-то образом это, вероятно, повлияло на то, что будет дальше.
После этого я подумал, что мне нужно отредактировать torrc, который я не смог найти (хотя я знаю, что иногда он может отсутствовать), поэтому я создал мой файл в /var/lib/tor, где OpenWrt по умолчанию размещает tor и его конфигурацию (это в хотя бы то, что мне удалось выяснить). Итак, в этом файле я разместил эти строки:
UseBridges 1
TransPort 9040
Exitpolicy reject *:*
ExtORPort auto
ClientTransportPlugin obfs4 exec /usr/bin/obfsproxy managed
#I placed my bridges here
bridge obfs4 ----------------
bridge obfs4 ----------------
bridge obfs4 ----------------
#I excluded the exit nodes which could be potentially run by the authorities of this area
ExcludeExitNodes {XX}
После этого я начал использовать Tor
/etc/init.d/tor start
И это не сработало, хотя после нескольких попыток это началось.
Я не мог проверить соединение с помощью
torify curl -s https://check.torproject.org/ | grep -m 1
Поэтому мне пришлось заглянуть в журнал моего роутера. Я также мог наблюдать, что tor загружался с использованием конфигурации по умолчанию, и не было никакой информации о том, что он должен был использовать мосты. И я действительно не хочу рисковать, не будучи на 100% уверенным, что эта штука работает с мостами.
Поэтому я попытался создать контрольный порт, чтобы проверить схемы и получить информацию о мостах, поэтому я добавил это в torrc
ControlPort 9051
CookieAuthentication 1
И использовал этот скрипт Python для проверки схемы. Но скрипт не работал должным образом, и, кроме того, он приводил к системному отказу, прерыванию ssh-соединения с маршрутизатором, и единственное, что я смог сделать, - это установить маршрутизатор в режим восстановления и переустановить ОС.
Где я сделал не так? И как мне правильно настроить мосты tor в OpenWrt?
ОБНОВЛЕНИЕ.1 Кажется, я нашел какую-то подсказку. Я попытался повторить все шаги и посмотреть, где проблема возникает в первый раз. Все это время я пытался найти решения, проверил различные файлы конфигурации, но ничего не смог найти.
Кажется, первый конфликт возникает, когда я устанавливаю obfsproxy. Когда у меня были установлены только tor и obfsproxy, а мосты сконфигурированы в torrc (расположенном в месте, которое я наконец нашел по совету Томека из комментария), используя текст, который вы можете найти выше в этом посте, я попытался запустить
tor
И одна из первых строчек кометы была:
failed to parce/validate config: 'unknown option usr/lib/python2.7/site-packages/obfsproxy/transport/scramblesuit/__init__.pyc' failing
Есть идеи по этому поводу?
Кстати, я попытался впоследствии удалить пакет obfsproxy и удалить его зависимости, используя
opkg remove --autoremove '*'
И это привело меня к сбою системы, поэтому мне пришлось переустановить OpenWrt снова.