Ein Onion Service ist im Grunde genommen nur eine Website, die du nicht auf dem normalen Weg besuchen kannst. Um auf diese Site zugreifen zu können, musst du dich vorher mit dem TOR-Netzwerk verbinden. Ab und zu wird so ein Service auch “Hidden Service” genannt.
Das TOR-Netzwerk (TOR steht für “The Onion Router”) ist ein Netzwerk von Servern, die es ermöglichen, die IP-Adresse eines Benutzers zu verbergen und somit die Privatsphäre für die Benutzer der Website zu wahren.
Besonders nützlich ist das Netzwerk für Menschen, die in Ländern leben, in denen die Freiheit der Meinungsäußerung eingeschränkt ist oder die Angst haben, dass ihre Aktivitäten im Internet von Regierungen oder anderen Organisationen überwacht werden.
Mehr Informationen findest du hier: https://www.torproject.org/
Der erste Schritt besteht im Download des speziellen TOR-Browsers. Diesen kannst du hier herunterladen. Sobald du den Browser installiert und gestartet hast, bist du automatisch mit dem TOR-Netzwerk verbunden und kannst mit anonym im Internet surfen und Onion Services besuchen.
Die Adressen von Onion Services sehen etwas komplizierter aus, da sie Ergebnisse von kryptografischen Operationen sind. Willst du diese Site als Onion Service aufrufen, lautet die Adresse so: http://thackba7mvjj3tgoiebbu7xm4w5rbrk5g3bwgndsfuala3kxmhclbgad.onion
Es gibt viele Möglichkeiten einen Onion Service zu hosten. Eine gute Anleitung kannst du hier finden: https://community.torproject.org/onion-services/setup/
Ich verwende zurzeit einen Docker-Container, der die Verbindung zum TOR-Netzwerk aufbaut. Hier ein kleines Beispiel für eine docker-compose.yaml
:
version: '3.8'
services:
tor:
container_name: tor
hostname: tor
image: docker.io/osminogin/tor-simple:latest
restart: always
user: root
volumes:
- config:/etc/tor
- data:/var/lib/tor
volumes:
config:
data:
Wenn zum ersten Mal ein Onion Service gestartet wird, wird (wenn keine Konfiguration vorliegt) ein neuer Hostname erstellt und die nötigen kryptografischen Schlüssel erstellt. Wenn man aber einen bestimmten Hostnamen haben will bzw. dieser mit einer bestimmten Zeichenkette anfangen soll, bleibt einem nur das wiederholte Erstellen der Daten. Um dies zu vereinfachen, gibt es aber auch Programme. Ich nutze dabei dieses: https://github.com/cathugger/mkp224o