用HTTP代理在命令行中包装Tor Socks代理



我已经通过 apt安装了 tor,并且在端口号上侦听9050

# netstat -ntlup | grep tor
tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN      13566/tor       

由于tor是袜子代理,我想使用http代理,所以我通过 apt安装了 polipo,并将其配置为以下

# cat /etc/polipo/config 
logSyslog = true
logFile = /var/log/polipo/polipo.log
allowedClients = 127.0.0.1, 192.168.1.0/24 # Expose your network (modify accordingly)
socksParentProxy = "localhost:9050"
socksProxyType = socks5
proxyAddress = "0.0.0.0"    # IPv4 only

然后,我重新启动torpolipo服务。polipo日志说它在听起来很奇怪的端口号8123!

我知道我必须为http_proxyhttps_proxy设置变量。所以,

# export http_proxy=127.0.0.1:9050 https_proxy=127.0.0.1:9050

但是,wget命令无法使用以下错误到达站点

 # wget https://torproject.org
 --2018-03-29 21:14:28--  https://torproject.org/
Connecting to 127.0.0.1:9050... connected.
Proxy tunneling failed: Tor is not an HTTP ProxyUnable to establish SSL connection.

配置有什么问题?我需要为wget找到一种在bash脚本中使用它的方法。

[1] https://www.marcus-povey.co.uk/2016/03/24/using-tor-tor-as-a-a-http-proxy/

您应该更改:

export http_proxy=127.0.0.1:9050 https_proxy=127.0.0.1:9050

to

export http_proxy=127.0.0.1:8123 https_proxy=127.0.0.1:8123

您将代理环境变量设置为Tor的袜子代理,而不是Polipo HTTP代理。

如果您从apt安装TOR,也可以尝试:

torify wget https://torproject.org

这将迫使您通过它运行的任何程序使用Tor的袜子代理。

或者,只需使用内置袜子支持的卷发:

curl --socks5-hostname 127.0.0.1:9050 https://torproject.org/

最新更新