Tor, I2P et proxys
Maigret peut faire passer ses vérifications par un proxy HTTP/SOCKS, par le réseau Tor ou par I2P. Trois options de ligne de commande couvrent trois objectifs distincts, et savoir laquelle il vous faut est le point de confusion le plus fréquent.
--proxy ou --tor-proxy (et --i2p-proxy)
La question la plus posée (voir l”issue #544) :
Vous voulez que toutes les vérifications passent par Tor (par exemple sous Tails OS, derrière un blocage national, ou parce que votre IP est soumise à une limitation de débit). → Utilisez
--proxyen le pointant sur votre port SOCKS Tor :maigret <username> --proxy socks5://127.0.0.1:9050Vous voulez atteindre les sites ``.onion`` de la base de Maigret, tandis que le reste de la recherche continue d’utiliser votre connexion habituelle. → Utilisez
--tor-proxy:maigret <username> --tor-proxy socks5://127.0.0.1:9050--tor-proxyn’est consulté que pour les sites dont l”urlest un hôte.onion. Pour tous les autres sites, Maigret utilise votre connexion directe (ou--proxys’il est défini). Sans--tor-proxy, les sites.onionsont silencieusement ignorés.
Le même partage vaut pour --i2p-proxy : il n’est consulté que pour les hôtes .i2p, jamais pour les sites du web classique.
Valeurs par défaut : --tor-proxy vaut socks5://127.0.0.1:9050 et --i2p-proxy vaut http://127.0.0.1:4444. --proxy n’a pas de valeur par défaut. Maigret ne lance pas tor ni de routeur I2P à votre place : démarrez le démon d’abord.
Tor Browser ou tor système : les numéros de port
Le port SOCKS dépend de l’installation de Tor :
Le démon ``tor`` système (
apt install tor,brew install tor, Tails) écoute sur9050.Le Tor Browser Bundle embarque son propre
tor, qui écoute sur9150.
Si la connexion est refusée, essayez l’autre port :
# system tor
maigret <username> --proxy socks5://127.0.0.1:9050
# Tor Browser running in the background
maigret <username> --proxy socks5://127.0.0.1:9150
Une remarque sur les résultats via Tor
La plupart des WAF publics (Cloudflare, DDoS-Guard, AWS WAF, Akamai) bloquent les nœuds de sortie Tor par défaut, en général plus agressivement que les IP de datacenter. Une recherche via Tor produit donc typiquement plus de UNKNOWN et moins de CLAIMED que la même recherche depuis une connexion résidentielle. Ce n’est pas un bug de Maigret, c’est le prix de l’anonymat.
Options recommandées pour une recherche via Tor :
maigret <username> --proxy socks5://127.0.0.1:9050 --timeout 60 --retries 2
--timeout 60— les circuits Tor ajoutent 1 à 3 secondes par requête ; les 30 s par défaut provoquent de faux dépassements de délai.--retries 2— les nouvelles tentatives couvrent les défaillances passagères de circuit, fréquentes sur Tor.Éventuellement
-n 20— baisser la concurrence (100 par défaut) réduit le risque de se faire limiter par les nœuds de sortie.
Si votre objectif est surtout de contourner les WAF (et non de rester anonyme), un proxy résidentiel fera en général bien mieux que Tor. Voir la section « Lots of sites fail / timeout / return 403 » dans TROUBLESHOOTING.md.
Utilisation sous Tails OS
Tails force toutes les connexions sortantes à passer par Tor, au niveau réseau. Maigret n’a besoin d’aucune configuration particulière pour s’y conformer : pointer --proxy sur le démon Tor de Tails suffit :
maigret <username> --proxy socks5://127.0.0.1:9050 --timeout 60
Ce qui n’est pas nécessaire :
torsocks maigret …ettorify maigret …— ces commandes enveloppent les appels de sockets de la libc, mais le client HTTP de Maigret (aiohttp/curl_cffi) contourne la libc pour ses entrées-sorties réseau : l’enveloppe n’a donc aucun effet. Utilisez--proxyà la place.--tor-proxy— sous Tails, tout doit passer par Tor (le système l’impose), donc le mode de niche « uniquement les .onion via Tor » qu’offre--tor-proxyne s’applique pas.
Installation via Tor sous Tails
pip lui-même ne connaît rien à Tor ; sous Tails, il faut l’envelopper avec torsocks :
torsocks pip install --user maigret
Après l’installation, le binaire se trouve dans ~/.local/bin/maigret. Si vous obtenez maigret: command not found, ajoutez ~/.local/bin au PATH ou lancez-le avec python3 -m maigret <nomdutilisateur>.
Conserver Maigret d’une session Tails à l’autre
Tails efface ~/.local/ à chaque redémarrage, sauf si vous configurez le stockage persistant pour le conserver. Cela relève de la configuration de Tails, pas de celle de Maigret : voir la documentation officielle de Tails.
Une recette pas à pas proposée par un utilisateur (conserver ~/.local/lib/python3.9 et ~/.local/bin, et adapter .bashrc) se trouve dans l”issue #544. Prenez-la comme point de départ : la version de Python et les rouages internes de Tails changent d’une version de Tails à l’autre.
Les rapports sous Tails : où les enregistrer
Le répertoire reports/ par défaut se trouve à côté du répertoire de travail et disparaît avec la session amnésique. Pour enregistrer les rapports à un endroit persistant, passez -fo :
maigret <username> --html -fo "/home/amnesia/Persistent/maigret-reports"
ou définissez "reports_path" dans votre settings.json avec un chemin persistant. Voir Paramètres.
Équivalents programmatiques (bibliothèque Python)
Les mêmes options sont disponibles via l’API Python. Voir Utilisation en tant que bibliothèque : les arguments nommés correspondants sont proxy=, tor_proxy= et i2p_proxy=, et ils acceptent les mêmes formats d’URL que les options de la ligne de commande.
Voir aussi
Options de ligne de commande — la référence complète des trois options.
TROUBLESHOOTING.md — des recettes rapides pour les sites
.onion/ I2P et pour les 403 provoqués par un WAF.Utilisation en tant que bibliothèque — les options de proxy pour un usage embarqué.