如何在Linux中将Wget与Tor Bundle一起使用


10

我是Linux Mint(Lisa)和Tor捆绑用户,试图在Tor上使用wget。按照我在这里找到的说明进行操作之后,运行wget时得到的只是一个输出文件,内容为“ 514 Authentication required”。

这是我做的事情:我下载了Linux的最新版本的Tor Bundle(版本2.2.35-9)并将其解压缩。我跑了./start-tor-browser。然后在Vidalia中进入设置->高级,然后取消选中“自动配置ControlPort”。(稍后,我还尝试将“身份验证”更改为“无”,但这仍然无法正常工作。)IP地址设置为localhost,端口为9051。

从终端我说:

export http_proxy="http://127.0.0.1:9051"
wget -proxy=on www.whatismyip.com

这给了我一个输出文件,上面写着“需要514身份验证”,而不是www.whatismyip.com。有任何想法吗?


我已经阅读到TOR和Vidalia都具有配置文件,在其中查找“用户”或“密码”一词,然后查看是否不是您所想的那样,也许那里有一些用户名或密码。
barlop 2012年

Answers:


17

在Ubuntu或Debain上,安装软件包“ torsocks”

sudo apt-get install torsocks

之后,像这样使用wget:

torsocks wget http://foo.onion/data.bar

对我不起作用。05:19:02 libtorsocks(22594): SOCKS server refused connectionTor在9050端口上运行,似乎是这只野兽在127.0.0.1:80上完成了它
holms

1
torify --help说,torify is now just a wrapper around torsocks(1) for backwards compatibility.
palswim

4

Tor独立服务器仅包含用于连接到Tor网络的SOCKS代理,并且Tor浏览器捆绑包未添加任何其他代理。

处理需要HTTP代理的程序的常用方法是安装自己的代理(例如Privoxy或Polipo),然后将该代理链接到Tor。例如,在Privoxy的配置中,您可以指定:

forward-socks5  /  127.0.0.1:9050 .

然后,Privoxy侦听端口8118,并将HTTP代理设置配置为http://localhost:8118

不幸的是,Linux Mint似乎没有在其存储库中携带这两个软件包中的任何一个。您可能会考虑切换发行版,或者自己编译。



3

使用Torify,它是torsocksand Tor 的简单包装,例如:

$ torify curl ifconfig.me
$ torify wget -qO- -U curl ifconfig.me

在使用之前,请确保您的Tor服务器已启动并正在运行。

另请参阅:如何从终端匿名程序?在Tor SE


对于大多数人来说,这可能是最简单的解决方案。
A.Danischewski

至于torify --helptorify is now just a wrapper around torsocks(1) for backwards compatibility.,所以这个答案是相同的torsocks答案
palswim

0

也许www.whatismyip.com正在检查X-Forwarded-For标头并触发错误。

我建议您测试另一个(这是我自己的,所以我知道这里没有任何类型的检测,只是您的公共地址):http : //sputnick-area.net/ip

编辑:我认为您应该-proxy在不在时删除开关man wget。IIRC,wget可以检测代理本身。:

wget -q -O - www.whatismyip.com

我对sputnick-area.net/ip有同样的问题。但是好主意,测试一下是个好主意。
Asher Walther 2012年

请参阅上面我编辑过的帖子
Gilles Quenot 2012年

可能也会从手册页中删除-q,而-q与抑制输出有关。什么是-0?
barlop 2012年

1
-q只是隐藏进度表
Gilles Quenot 2012年

1
您尚未回答问题= /
holms,2012年

0

proxychains也可以执行以下配置

袜子5 127.0.0.1 9150

$ proxychains curl ifconfig.me ProxyChains-3.1(http://proxychains.sf.net)| DNS请求| ifconfig.me | S链|-<>-127.0.0.1:9150-<><>-4.2.2.2:53-<><>-确定| DNS响应| ifconfig.me是219.94.235.40 | S链|-<>-127.0.0.1:9150-<><>-219.94.235.40:80-<><>-OK 178.63.97.34


0

折磨似乎对我有用:

 torify wget https://www.some_url.com

这是我的网络服务器上的access.log条目:

207.244.70.35 - - [13/Sep/2018:03:57:25 +0000] "GET / HTTP/1.1" 200 8446 "-" "Wget/1.17.1 (linux-gnu)" "207.244.70.35" response-time=0.02

207.244.70.35不是我的真实IP,因此此命令有效

这是一个Python脚本,它执行与我在这里找到的相同的操作

#! /usr/bin/python3
import subprocess
from subprocess import Popen, PIPE
import sys
import os


# use torify to make a wget 
class Wgettor():
    def __init__(self, url):
        if not self.__is_activated():
            print("Ensure Tor service is running")
            sys.exit()
        else:
            self.url = url
            self.wget()

    # ensure Tor service is running
    def __is_activated(self):
        service_cmd = "service --status-all | grep tor"
        p = subprocess.Popen(service_cmd,
                             shell=True,
                             stdout=PIPE).communicate()[0]
        return "+" in str(p)

    def wget(self):
        prox = [
            "torify", "wget", self.url
        ]
        os.system(" ".join(prox))


if __name__ == "__main__":
    Wgettor("https://www.some_url_here.com")
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.