J'ai récemment mis en place un miroir .onion de mon site web.
\ Pourquoi ? Parce que pourquoi pas ? Et aussi parce que je peux. Oh, et la liberté d'expression, la lutte contre la censure et tout ce genre de choses.
\ J'aimerais prétendre que c'était un grand défi technologique, mais pour être tout à fait franc, il s'agissait de 3 commandes et 4 lignes de configuration.
\ Si vous aussi, vous souhaitez devenir membre du dark web, voici comment j'ai procédé :
Avant d'aborder le "comment", je devrais probablement donner un bref aperçu de ce à quoi ressemblait ma stack avant d'entrer dans l'Onionverse :
Tout d'abord, nous devons installer Tor. Sur Debian, il est directement disponible dans les dépôts par défaut :
sudo apt update sudo apt install tor
Ensuite, nous devons configurer Tor pour créer un service caché pour notre site web. Ouvrez le fichier de configuration de Tor (/etc/tor/torrc) dans votre éditeur de texte CLI préféré (ce devrait être vim, sinon vous êtes mort pour moi). Je n'ai aucun intérêt à faire fonctionner un relais ou un nœud de sortie sur mon VPS, j'ai donc apporté quelques modifications minimales au fichier de configuration, qui devrait ressembler à ceci (commentaires supprimés pour plus de clarté) :
# Disable SOCKS proxy since we aren't making outbound connections # through Tor SocksPort 0 # Make sure Tor runs as a daemon (i.e. in the background) RunAsDaemon 1 # Setup the hidden service on port 80, this is where we tell Tor to # create a .onion service for our web server HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 # Disable inbound connections, since we aren't running a relay or # exit node ORPort 0 # Disable directory services, since we won't be mirroring directory # information to other Tor nodes DirPort 0
\ C'est tout. Tout le reste devrait être commenté en utilisant des caractères #.
Maintenant, nous devons redémarrer le service Tor pour appliquer nos modifications :
sudo systemctl restart tor
Après le redémarrage de Tor, il générera un nouveau service caché pour nous. Nous pouvons trouver notre nouvelle adresse .onion dans le HiddenServiceDir que nous avons spécifié précédemment (/var/lib/tor/hidden_service/). Ce répertoire n'est lisible que par l'utilisateur debian-tor, nous devrons donc utiliser sudo pour lire le fichier hostname à l'intérieur :
sudo cat /var/lib/tor/hidden_service/hostname
\ Ce qui sera imprimé sur le terminal est votre nouvelle adresse .onion. Elle devrait ressembler à ceci :
jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion
Mon serveur Caddy sert mon site web sur le port 80 sans aucune restriction d'IP ou de domaine, je n'ai donc pas besoin de modifier ma configuration Caddy. Cependant, si vous avez explicitement configuré votre serveur Caddy pour qu'il ne réponde qu'à certains domaines ou adresses IP, vous devrez ajouter un nouveau bloc de site pour votre adresse .onion, qui ressemblera à ceci :
http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion:80 { # Set up a reverse proxy, or serve static files, etc. }
\ Comme vous ne pouvez pas obtenir de certificats HTTPS pour les adresses .onion, vous devrez servir votre site en HTTP simple. Je ne suis pas sûr que cela soit généralement considéré comme acceptable au sein du réseau Tor (peut-être que l'un de mes dizaines de lecteurs pourra m'éclairer), mais je n'exige pas le HTTPS pour mon site de toute façon, donc cela fonctionne pour mes besoins.
Si vous voulez que les gens trouvent votre site .onion, vous devrez le faire connaître quelque part. Je suis un fan de subtilité, j'ai donc mis en place un en-tête Onion-Location sur mon site principal qui pointe vers mon adresse .onion. De cette façon, toute personne visitant mon site régulier avec un navigateur compatible Tor sera automatiquement informée de l'existence de mon miroir .onion sans pop-ups intrusifs, bannières ou éléments d'interface supplémentaires.
\ Pour ce faire, vous voudrez ajouter un en-tête à votre bloc de site Caddy principal comme ceci :
header { Onion-Location http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion{uri} }
\ La raison pour laquelle j'ajoute ce {uri} à la fin est que si quelqu'un visite une page spécifique sur mon site principal (par exemple https://flower.codes/some-post), l'en-tête Onion-Location le dirigera vers la page équivalente sur mon site .onion (http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion/some-post), ce qui (du moins pour moi) ajoute une certaine élégance à l'expérience.
Je plaisante.
\ À ce stade, votre miroir .onion devrait être opérationnel. Vous pouvez le tester en visitant votre adresse .onion dans n'importe quel navigateur compatible Tor (comme le navigateur Tor ou même Brave, qui intègre le support de Tor).


