
Fresh Onions ist ein quelloffener TOR-Spider / Hidden-Service-Onion-Crawler, gehostet auf zlal32teyptf4tvi.onion
Dies ist eine Kopie des Quellcodes für den Hidden Service http://zlal32teyptf4tvi.onion, der einen TOR Hidden Service Crawler / Spider und eine Website implementiert.
Diese Software wird unter der GNU Affero GPL 3 Lizenz zur Verfügung gestellt. Dies bedeutet, dass Sie den Quellcode (und alle Änderungen) zur Verfügung stellen müssen, wenn Sie diese Software als Teil einer vernetzten Software einsetzen, die der Öffentlichkeit zugänglich ist.
Von der GNU-Seite:
Die GNU Affero General Public License ist eine modifizierte Version der gewöhnlichen GNU GPL Version 3. Sie enthält eine zusätzliche Anforderung: Wenn Sie ein modifiziertes Programm auf einem Server ausführen und es anderen Benutzern ermöglichen, damit zu kommunizieren, muss Ihr Server ihnen auch erlauben, den Quellcode der modifizierten Version herunterzuladen, die dort ausgeführt wird
pip install -r requirements.txt
Erstellen Sie MySQL-Datenbank aus schema.sql
Bearbeiten Sie etc/database für Ihre Datenbankkonfiguration
Bearbeiten Sie etc/proxy für Ihre TOR-Einrichtung
script/push.sh someoniondirectory.onion
script/push.sh anotheroniondirectory.onion
Bearbeiten Sie etc/uwsgi_only und setzen Sie BASEDIR auf das Verzeichnis, in dem torscraper installiert ist (z. B. /home/user/torscraper)
Ausführen:
init/scraper_service.sh # Starten des Crawlings
init/isup_service.sh # Aktualisieren des Site-Status
Der torscraper bietet eine optionale Elasticsearch-Funktionalität (standardmäßig aktiviert). Bearbeiten Sie etc/elasticsearch und setzen Sie Variablen oder setzen Sie ELASTICSEARCH_ENABLED=false, um die Funktion zu deaktivieren. Führen Sie scripts/elasticsearch_migrate.sh aus, um die anfängliche Einrichtung nach der Konfiguration durchzuführen.
Wenn Elasticsearch deaktiviert ist, gibt es keine Volltextsuche, aber das Crawlen und Entdecken neuer Sites funktioniert trotzdem.
# Ernten von Onions aus verschiedenen Quellen
1 18 * * * /home/scraper/torscraper/scripts/harvest.sh
# SSH-Fingerabdrücke für neue Sites abrufen
1 4,16 * * * /home/scraper/torscraper/scripts/update_fingerprints.sh
# Sites als echt/fake aus der /r/darknetmarkets Superlist markieren
1 9 * * 1 /home/scraper/torscraper/scripts/get_valid.sh
# Pastebin nach Onions durchsuchen (benötigt bezahltes Konto / IP-Whitelisting)
*/5 * * * * /home/scraper/torscraper/scripts/pastebin.sh
# Portscan neuer Onions
1 */6 * * * /home/scraper/torscraper/scripts/portscan_up.sh
# Stronghold-Paste scrapen
32 */2 * * * /home/scraper/torscraper/scripts/stronghold_paste_rip.sh
# Klone erkennen
16 3 * * * /home/scraper/torscraper/scripts/detect_clones.sh
Fresh Onions läuft auf zwei Servern: einem Frontend-Host mit der Datenbank und der Hidden Service-Website und einem Backend-Host, der den Crawler ausführt. Für den Leser ist wahrscheinlich die Einrichtung des Backends am interessantesten. TOR als Client ist VOLLSTÄNDIG SINGLETHREADED. Ich weiß! Es ist 2017, und neben dem völligen Fehlen von Flugautos läuft TOR in einem einzigen Thread. Das bedeutet, dass Sie, wenn Sie versuchen, einen Crawler auf einer einzelnen TOR-Instanz auszuführen, schnell feststellen werden, dass Ihre CPU bei 100% ausgelastet ist.
Die Lösung für dieses Problem besteht darin, mehrere TOR-Instanzen auszuführen und über eine Art Frontend mit Round-Robin-Verteilung zu verbinden. Der Fresh Onions Crawler verwendet acht Tor-Instanzen.
Debian (und Ubuntu) wird mit einem nützlichen Programm "tor-instance-create" geliefert, um schnell mehrere Instanzen von TOR zu erstellen. Ich habe Squid als Frontend-Proxy verwendet, aber leider kann es keine direkte SOCKS-Verbindung herstellen, daher habe ich "privoxy" als Zwischenproxy verwendet. Sie benötigen eine privoxy-Instanz für jede TOR-Instanz. Es gibt ein Skript in "scripts/create_privoxy.sh", das bei der Erstellung von privoxy-Instanzen auf Debian-Systemen hilft. Es hilft auch, /etc/privoxy/default.filter durch eine leere Datei zu ersetzen, um die CPU-Last durch Entfernen unnötiger Regexes zu reduzieren.
Darüber hinaus könnte diese Ressource https://www.howtoforge.com/ultimate-security-proxy-with-tor bei der Einrichtung von Squid nützlich sein. Wenn Sie nur crawlen und sich nicht um Anonymität kümmern, empfehle ich auch, TOR im tor2web-Modus auszuführen (erfordert Neukompilierung) für erhöhte Geschwindigkeit.