Opened 7 years ago

Closed 3 years ago

Last modified 2 years ago

#10848 closed task (duplicate)

Tor should be an HTTP proxy server

Reported by: ben Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: http-connect
Cc: nikita, dmr Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


Tor accepts connections (from applications that want to use the Tor network) using the SOCKS protocol.

However, SOCKS is a very old and very limited protocol, and is rarely used in the wild. Not many applications support it, and the existing (non-Tor/-SSH) SOCKS server implementations are 10-20 years old and very simple and buggy.

In contrast, HTTP proxies are widespread, and there are several good implementations of it. Many companies are allowing outward connections only via HTTP proxies. As a result, many client-side applications have native support for HTTP proxies.

For non-HTTP apps, HTTP proxies have the CONNECT command that gives a raw socket to the target server. It's used primarily for SSL, but can be used for other protocols, too.

For HTTP, as an added bonus, the HTTP proxy sees all headers that the client sends, and thus has much richer meta-data to make decisions for circuits etc.. Also, a client can send additional metadata in X-Tor-Foo headers that is intended only for Tor, e.g. grouping requests based on windows or similar. This is what #6733 tries to achieve.

Note: This isn't a request for Tor to connect to an HTTP proxy. That support already exists. It's for Tor to be an HTTP proxy.

Child Tickets

Change History (8)

comment:1 Changed 7 years ago by nickm

Milestone: Tor: unspecified

comment:2 Changed 7 years ago by nikita

Cc: nikita@… added

comment:3 Changed 7 years ago by arma

Cc: nikita added; nikita@… removed

comment:4 Changed 3 years ago by nickm

Resolution: duplicate
Severity: Normal
Status: newclosed

Closing as duplicate of #22407.

comment:5 Changed 3 years ago by ben

Resolution: duplicate
Status: closedreopened

comment:6 Changed 3 years ago by nickm

Resolution: duplicate
Status: reopenedclosed

comment:7 Changed 3 years ago by nickm

Please, let's leave this closed; #22407 is where we're tracking it now.

comment:8 Changed 2 years ago by dmr

Cc: dmr added
Keywords: http-connect added

Closed (ack), but adding keyword for easier lookup of relevant tickets.

Note: See TracTickets for help on using tickets.