Скручивание URL-адреса.onion через http-прокси не возвращает ожидаемый источник

Эта проблема

Я тестирую HTTP-прокси, который включает в себя SOCKS-прокси (TOR). Он работает нормально для обычных URL, но я получаю странные результаты с некоторыми адресами.onion.

В этом примере я указываю на "скрытую вики". Вывод выглядит как мусор:

$ curl --proxy localhost:8118 http://kpvz7ki2v5agwt35.onion/

m�AO�@�����ۑp��ĖPbj

Фон

Использование скрытого сервиса факела работает нормально:

$ curl --proxy localhost:8118 http://xmh57jrzrnw6insl.onion/

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TORCH: Tor Search!</title>...

Точно так же нормальные URL кажутся нормальными:

$ curl --proxy localhost:8118 https://check.torproject.org/ | grep Congratulations

<img alt="Congratulations. Your browser is configured to use Tor." src="/images/tor-on.png">
Congratulations. Your browser is configured to use Tor.<br>

Прокси создается с помощью Polipo со следующей конфигурацией:

proxyName = "localhost"
proxyAddress = "127.0.0.1"
proxyPort = 8118

allowedClients = 127.0.0.1
allowedPorts = 1-65535

cacheIsShared = false
chunkHighMark = 67108864

socksParentProxy = "localhost:9050"
socksProxyType = socks5


diskCacheRoot = ""
localDocumentRoot = ""

disableLocalInterface = true
disableConfiguration = true
disableVia = true

dnsUseGethostbyname = yes

maxConnectionAge = 5m
maxConnectionRequests = 120

serverMaxSlots = 8
serverSlots = 2

tunnelAllowedPorts = 1-65535

Возможные причины

Мои мысли о возможной причине:

  1. Сервер отвечает мусором как своего рода мера против веб-сканирования.
  2. Что-то не так с тем, как я обрабатываю ответ.
  3. Полипо все испортил.
  4. Что-то другое...

Мысли?

1 ответ

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

Если я могу спросить, почему вы просто не называете порт socks на 9050, который поставляет Tor Project?

Кроме того, почему бы точно не указать, какой протокол вас интересует, носки 4, 4a или 5? С помощью curl вы можете даже указать, что dns выполняется через Tor. Если вы этого не сделаете, то, конечно, ваш DNS-распознаватель не будет знать, где находятся скрытые сервисы. Поместите эту строку в ваш файл.curlrc

proxy = socks5h://127.0.0.1:9050

а потом

curl -v http://xmh57jrzrnw6insl.onion/

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

Другие вопросы по тегам