0

In my torrc config (pastebin) I use: HTTPTunnelPort 8118 for configure HTTP proxy listener on 8118 port, right?

I also use latest Windows 10 2004 19041.508 and Tor 0.4.4.5. In Windows 10 proxy settings I set the 127.0.0.1:8118 as system proxy:

enter image description here

so when I open my Chrome I go to https://www.checkip.org/ website and see the exit nodes IP address used now.

But but if I try to access an unsecured website that does not support https, by just http, I get the following message in my browser:

This is an HTTP CONNECT tunnel, not an HTTP proxy.
It appears you have configured your web browser to use this Tor port as an HTTP proxy.

This is not correct: This port is configured as a CONNECT tunnel, not an HTTP proxy. Please configure your client accordingly. You can also use HTTPS; then the client should automatically use HTTP CONNECT.

See https://www.torproject.org/documentation.html for more information.

The same I have experiences in WSL (Ubuntu 18.04). At the end of my .bashrc I added following lines:

export http_proxy=127.0.0.1:8118
export https_proxy=127.0.0.1:8118

then when I trying to make get request with curl to not https secured website I'm getting the following output in my terminal:

<html>
<head>
<title>This is an HTTP CONNECT tunnel, not a full HTTP Proxy</title>
</head>
<body>
<h1>This is an HTTP CONNECT tunnel, not an HTTP proxy.</h1>
<p>
It appears you have configured your web browser to use this Tor port as
an HTTP proxy.
</p><p>
This is not correct: This port is configured as a CONNECT tunnel, not
an HTTP proxy. Please configure your client accordingly.  You can also
use HTTPS; then the client should automatically use HTTP CONNECT.</p>
<p>
See <a href="https://www.torproject.org/documentation.html">https://www.torproject.org/documentation.html</a> for more information.
</p>
</body>
</html>

So my general question: how to configure tor/torrc correctly to use tor as HTTP proxy?

1

To be clear, this will not make all of your applications anonymous, and you will certainly leak information when applications either don't use the proxy, use it incorrectly, or send identifying information over the proxy. In addition, non-TLS HTTP traffic will be readable by the exit relay. If you're not concerned about anonymity...

Tor only provides a CONNECT proxy and not a GET proxy. This means that you can only make HTTPS connections through Tor's proxy. If you want a GET proxy to make HTTP requests (without TLS), you will need to add another proxy in front of Tor that will act as an HTTP proxy, but forward requests to Tor's SOCKS proxy.

I don't know of any Windows applications to do this, but you could look into running DeleGate (seems to no longer be maintained) using Cygwin, Polipo (also unmaintained), Privoxy, or some person's http-proxy-to-socks nodejs tool. I also see various other scripts around the internet that claim to do this. If you're familiar with Python, it would probably not be difficult to write one if you cannot find a better option.

| improve this answer | |
  • Thanks. I note tor use different exit nodes for socks and https proxy at the same time – Mikhail Oct 4 at 6:12
  • @Mikhail: Yes, tor uses stream isolation to make sure that connections on different proxy ports use different circuits. – Steve Oct 4 at 22:30
  • your answer helps to me partially. I chose to use http-proxy-to-socks node.js tool for the purposes with command: hpts -s 127.0.0.1:9050 -p 8080. Tor socks proxy listen on 9050 port by default. But unfortunately it's look like Windows 10 don't have tools to setting defferent proxy for different protocols. In my case I need to use http:8080 (which is socks:9050 actually) to connect to http not TLS and http:8118 to connect by https – Mikhail Oct 5 at 0:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.