在命令行中使用http proxy包裹tor socks代理

时间:2018-03-29 16:47:09

标签: proxy tor socks

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

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

由于tor是一个socks代理,我想使用http代理,我通过polipo安装apt并配置如下

# 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-as-a-http-proxy/

1 个答案:

答案 0 :(得分:2)

你应该改变:

export http_proxy=127.0.0.1:9050 https_proxy=127.0.0.1:9050

export http_proxy=127.0.0.1:8123 https_proxy=127.0.0.1:8123

您将代理环境变量设置为Tor的SOCKS代理,而不是polipo HTTP代理。

如果你从apt安装了Tor,你也可以尝试:

torify wget https://torproject.org

这会强制你运行它的程序使用Tor的SOCKS代理。

或者,只需使用内置SOCKS支持的curl:

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