ProxyChains-NG ver 4.17 README
ProxyChains est un programme UNIX qui intercepte les fonctions libc liées au réseau
dans les programmes LIÉS DYNAMIQUEMENT via une DLL préchargée (dlsym(), LD_PRELOAD)
et redirige les connexions via des proxys SOCKS4a/5 ou HTTP.
Il ne prend en charge que TCP (pas UDP/ICMP, etc.).
La façon dont cela fonctionne est fondamentalement un HACK ; il est donc possible que cela
ne fonctionne pas avec votre programme, en particulier s'il s'agit d'un script, ou s'il démarre
de nombreux processus comme des daemons en arrière-plan, ou s'il utilise dlopen() pour charger
des « modules » (bug dans le dynlinker de glibc).
Cela devrait toutefois fonctionner avec des programmes compilés simples (C/C++) liés dynamiquement.
Si votre programme ne fonctionne pas avec proxychains, envisagez plutôt d'utiliser une
solution basée sur iptables ; c'est beaucoup plus robuste.
Plateformes prises en charge : Linux, BSD, Mac, Haiku.
*********** ATTENTION ***********
ce programme peut être utilisé pour contourner la censure.
le faire peut être TRÈS DANGEREUX dans certains pays.
ASSUREZ-VOUS TOUJOURS QUE PROXYCHAINS FONCTIONNE COMME PRÉVU
AVANT DE L'UTILISER POUR QUOI QUE CE SOIT D'IMPORTANT.
cela concerne à la fois le programme et le proxy que vous allez
utiliser.
par exemple, vous pouvez vous connecter à un service « what is my ip »
comme ifconfig.me pour vous assurer que votre vraie ip n'est pas utilisée.
UTILISEZ PROXYCHAINS UNIQUEMENT SI VOUS SAVEZ CE QUE VOUS FAITES.
LES AUTEURS ET MAINTENEURS DE PROXYCHAINS N'ASSUMENT AUCUNE
RESPONSABILITÉ EN CAS D'ABUS OU DE MAUVAISE UTILISATION DE CE LOGICIEL ET
DES CONSÉQUENCES QUI EN RÉSULTENT.
*** Installation ***
needs a working C compiler, preferably gcc
./configure --prefix=/usr --sysconfdir=/etc
make
[optional] sudo make install
[optional] sudo make install-config (installs proxychains.conf)
si vous n'installez pas, vous pouvez utiliser proxychains depuis le répertoire de compilation
comme ceci : ./proxychains4 -f src/proxychains.conf telnet google.com 80
Changelog:
Version 4.17
- ajout d'un hook pour la fonction close_range, corrigeant les versions plus récentes d'openssh
- option fat-binary-m1 pour mac
- correction de la gestion des erreurs DNS dans proxy_dns_old
- simplification du code d'initialisation
- correction du préchargement sur openbsd
- correction du double-close dans les applications multithreadées
- diverses améliorations du script configure
Version 4.16
- correction d'une régression dans la détection des indicateurs de l'éditeur de liens du script configure
- suppression d'une solution de contournement vieille de 10 ans pour la mauvaise signature de getnameinfo de glibc
- prise en charge de la nouvelle méthode de hook DYLD pour OSX Monterey
- correction de compilation pour netbsd
- prise en charge des réseaux locaux IPv6
- message d'erreur plus convivial lorsque execvp échoue
- proxy_getaddrinfo() : remplit ai_socktype si demandé
Version 4.15
- correction du script configure pour une version défectueuse de binutils
- initialisation de rand_seed avec une granularité de la nanoseconde
- ajout de la prise en charge des ipv6 numériques dans getaddrinfo
- correction d'un bug dans getaddrinfo lorsque node est nul et !passive
- ajout de la fonctionnalité dnat
- ajout du type de proxy raw
- ajout de la prise en charge de haiku
- ajout de proxy_dns_old pour émuler le comportement de proxychains 3.1
- ajout de la nouvelle fonctionnalité proxy_dns_daemon (expérimentale)
- diverses autres corrections
Version 4.14
- autoriser la syntaxe alternative proto://user:pass@ip:port pour la proxylist
- correction d'une boucle infinie en mode round robin lorsque tous les proxys sont inaccessibles (#147)
- correction de la compilation sur android (#265)
- correction d'une fuite de descripteurs de fichiers dans les processus forkés (#273)
- saut de la tentative de connexion vers les ip nullroutées
- autoriser les noms d'hôtes pour la proxylist dans des circonstances spécifiques
Version 4.13
- amélioration de la robustesse du thread de résolution DNS et correction d'un segfault
- correction de l'authentification user/pass socks5 sur des serveurs non conformes
- correction d'une fuite de mémoire
- ajout de la prise en charge de Solaris
Version 4.12
- correction de plusieurs problèmes de compilation
- pour MAC
- avec -pie
- avec CC personnalisé
- correctif de compatibilité pour certaines applications GUI (8870140)
- correctif de compatibilité pour certains proxys HTTP (cf9a16d)
- correction de plusieurs avertissements pour une compilation plus propre sur debian
- correction de random_chain sur OSX (0f6b226)
Version 4.11
- prise en charge préliminaire de l'IPv6
- correction d'un bug dans hostsreader
- prise en charge préliminaire pour une utilisation sur OpenBSD (caveat emptor)
Version 4.10
- correction d'une régression dans l'ordre d'édition de liens avec des LDFLAGS personnalisés
- correction d'un segfault dans le code de mappage DNS dans les programmes avec > ~400 résolutions différentes
Version 4.9
- correction d'un problème de sécurité CVE-2015-3887
- ajout d'un hook sendto pour gérer le drapeau MSG_FASTOPEN
- remplacement du problématique hostentdb par hostsreader
- correction de la compilation sur OpenBSD (bien que cela n'y fonctionne pas)
Version 4.8.1:
- correction d'une régression dans la cible install-config du Makefile de 4.8
Version 4.8:
- correction d'un cas limite étrange où getaddrinfo était utilisé avec AI_NUMERICHOST
pour tester une ip numérique au lieu de la résoudre (corrige nmap).
- autorise l'utilisation avec des programmes qui dépendent eux-mêmes de LD_PRELOAD
- rejette les entrées incorrectes dans le fichier de configuration
- affiche le numéro de version au démarrage
Version 4.7:
- nouveau type de chaîne round_robin par crass.
- correction d'un bug avec l'allocation paresseuse lorsque le constructeur GCC n'était pas utilisé.
- nouveau drapeau configure --fat-binary pour créer un binaire/bibliothèque « fat » sur OS X
- retourne EBADF plutôt que EINTR dans le hook close.
il est légal pour un programme de réessayer les appels close() lorsqu'il reçoit
EINTR, ce qui pourrait provoquer une boucle infinie, comme vu dans chromium.
Version 4.6:
- quelques correctifs cosmétiques au Makefile, correction d'un bug lorsqu'une ip non numérique était
utilisée comme adresse de serveur proxy.
Version 4.5:
- hook de close() pour empêcher OpenSSH de toucher à l'infrastructure interne.
cela provoquait un segfault du client ssh lorsqu'il était proxifié.
Version 4.4:
- port FreeBSD
- corrige certains problèmes d'installation sur Debian et Mac.
Version 4.3:
- corrige les programmes qui effectuent des recherches DNS dans des processus enfants (fork()),
comme irssi. pour ce faire, la prise en charge de la compilation sans pthreads
a été sacrifiée.
- corrige la sécurité des threads pour les appels gethostent().
- amélioration de la vitesse de traitement DNS, car la base hostent est mise en cache.
Version 4.2:
- corrige des problèmes de compilation avec la toolchain ubuntu 12.04
- corrige un segfault dans un chemin de code rare
Version 4.1
- prise en charge de mac os x (toutes architectures)
- toutes les fonctions internes sont thread-safe lorsqu'elles sont compilées avec -DTHREAD_SAFE
(par défaut).