Jak korzystać z Wget z pakietem Tora w systemie Linux

10

Jestem użytkownikiem Linux Mint (Lisa) i Paczki Tora próbującym używać wget nad Tor. Po wykonaniu wskazówek, które tu znalazłem , po uruchomieniu wget otrzymuję tylko plik wyjściowy z informacją: „Wymagane jest uwierzytelnianie 514”.

Oto, co zrobiłem: pobrałem najnowszą wersję pakietu Tor (wersja 2.2.35-9) dla systemu Linux i rozpakowałem ją. Uruchomiłem ./start-tor-browser. Następnie w Vidalii przeszedłem do Ustawienia -> Zaawansowane i odznaczam „Konfiguruj ControlPort automatycznie”. (Później próbowałem również zmienić „Uwierzytelnianie” na „Brak”, ale to nadal nie działało). Adres IP jest ustawiony na localhost, a port to 9051.

Z terminalu powiedziałem:

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

To dało mi plik wyjściowy z napisem „Wymagane uwierzytelnianie 514” zamiast www.whatismyip.com. Jakieś pomysły?

Asher Walther
źródło
przeczytałem, że zarówno TOR, jak i Vidalia mają pliki konfiguracyjne, poszukaj tam słów użytkownik lub hasło i zobacz, czy nie jest tak, jak myślisz, że może jest tam jakaś nazwa użytkownika lub hasło.
barlop

Odpowiedzi:

17

na Ubuntu lub Debain zainstaluj pakiet „torsocks”

sudo apt-get install torsocks

Następnie użyj wget w następujący sposób:

torsocks wget http://foo.onion/data.bar
Produnis
źródło
nie działa dla mnie 05:19:02 libtorsocks(22594): SOCKS server refused connectiontor działa na porcie 9050 i wygląda na to, że ta bestia robi to na 127.0.0.1:80
holms
1
torify --helpmówitorify is now just a wrapper around torsocks(1) for backwards compatibility.
palswim
4

Autonomiczny Tor zawiera tylko proxy SOCKS do łączenia się z siecią Tor, a pakiet przeglądarki Tor nie dodaje żadnych dodatkowych proxy.

Zwykłą metodą postępowania z programami wymagającymi proxy HTTP jest zainstalowanie własnego, takiego jak Privoxy lub Polipo, a następnie połączenie tego proxy z Torem. Na przykład w konfiguracji Privoxy możesz określić:

forward-socks5  /  127.0.0.1:9050 .

Privoxy następnie nasłuchuje na porcie 8118 i konfigurujesz ustawienia proxy HTTP na http://localhost:8118.

Niestety wygląda na to, że Linux Mint nie zawiera żadnego z tych pakietów w swoich repozytoriach. Możesz rozważyć zamianę dystrybucji lub samodzielną kompilację.

Michael Hampton
źródło
Instrukcje krok po kroku tutaj .
Skippy le Grand Gourou
3

Użyj Torify , który jest prostym otokiem dla torsocksTora, na przykład:

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

Przed użyciem upewnij się, że serwer Tor jest uruchomiony.

Zobacz także: Jak anonimizować programy z terminala? w Tor SE

kenorb
źródło
Jest to prawdopodobnie najłatwiejsze rozwiązanie dla większości ludzi.
A.Danischewski
Jak torify --helpmówi, torify is now just a wrapper around torsocks(1) for backwards compatibility.więc ta odpowiedź jest identyczna z odpowiedzią na torsocks .
palswim
0

Być może www.whatismyip.com sprawdza nagłówek X-Forwarded-For i wyzwala błąd.

Polecam przetestować inny (jest to mój, więc wiem, że nie ma żadnych wykrytych informacji, tylko twój adres publiczny): http://sputnick-area.net/ip

Edycja: Myślę, że powinieneś usunąć -proxyprzełącznik, gdy go nie ma man wget. IIRC, wget może wykryć samego proxy. :

wget -q -O - www.whatismyip.com
Gilles Quenot
źródło
Mam ten sam problem ze sputnick-area.net/ip. Ale fajnie myślę, że dobrym pomysłem było przetestowanie tego.
Asher Walther
Zobacz mój edytowany post powyżej
Gilles Quenot
może upuścić -q też wygląda na to, że ze strony podręcznika thta -q dotyczy tłumienia danych wyjściowych. Co to jest -0?
barlop
1
-qpo prostu ukrywa wskaźnik postępu
Gilles Quenot
1
nie odpowiedziałeś na pytanie = /
holms
0

Proxyychains wykonuje również zadanie, z następującą konfiguracją

skarpetki 5 127.0.0.1 9150

$ proxychains curl ifconfig.me ProxyChains-3.1 ( http://proxychains.sf.net ) | Żądanie DNS | ifconfig.me | S-chain | - <> - 127.0.0.1:9150-<><>-4.2.2.2:53-<><>-OK | Odpowiedź DNS | ifconfig.me ma wartość 219.94.235.40 | S-chain | - <> - 127.0.0.1:9150-<><>-219.94.235.40:80-<><>-OK 178.63.97.34

Randomix2
źródło
0

Torify wydawało się działać dla mnie:

 torify wget https://www.some_url.com

Oto wpis access.log z mojego serwera:

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 nie jest moim prawdziwym adresem IP i dlatego to polecenie działa

Oto skrypt Pythona, który robi to samo, co tutaj znalazłem

#! /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")
Kittyboo
źródło