proxychains-ng README

The project's README from github.com/rofl0r/proxychains-ng. As one markdown file: README.md.

ProxyChains-NG ver 4.17 README

ProxyChains is a UNIX program, that hooks network-related libc functions in DYNAMICALLY LINKED programs via a preloaded DLL (dlsym(), LD_PRELOAD) and redirects the connections through SOCKS4a/5 or HTTP proxies. It supports TCP only (no UDP/ICMP etc).

The way it works is basically a HACK; so it is possible that it doesn't work with your program, especially when it's a script, or starts numerous processes like background daemons or uses dlopen() to load "modules" (bug in glibc dynlinker). It should work with simple compiled (C/C++) dynamically linked programs though.

If your program doesn't work with proxychains, consider using an iptables based solution instead; this is much more robust.

Supported Platforms: Linux, BSD, Mac, Haiku.

*********** ATTENTION ***********

this program can be used to circumvent censorship. doing so can be VERY DANGEROUS in certain countries.

ALWAYS MAKE SURE THAT PROXYCHAINS WORKS AS EXPECTED BEFORE USING IT FOR ANYTHING SERIOUS.

this involves both the program and the proxy that you're going to use.

for example, you can connect to some "what is my ip" service like ifconfig.me to make sure that it's not using your real ip.

ONLY USE PROXYCHAINS IF YOU KNOW WHAT YOU'RE DOING.

THE AUTHORS AND MAINTAINERS OF PROXYCHAINS DO NOT TAKE ANY RESPONSIBILITY FOR ANY ABUSE OR MISUSE OF THIS SOFTWARE AND THE RESULTING CONSEQUENCES.

*** 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)

if you dont install, you can use proxychains from the build directory like this: ./proxychains4 -f src/proxychains.conf telnet google.com 80

Changelog:

Version 4.17

Version 4.16

Version 4.15

Version 4.14

Version 4.13

Version 4.12

Version 4.11

Version 4.10

Version 4.9

Version 4.8.1:

Version 4.8:

Version 4.7:

Version 4.6:

Version 4.5:

Version 4.4:

Version 4.3:

Version 4.2:

Version 4.1

Version 4.0

Version 3.0

When to use it ?

  1. When the only way to get "outside" from your LAN is through proxy server.
  2. To get out from behind restrictive firewall which filters outgoing ports.
  3. To use two (or more) proxies in chain: like: your_host <--> proxy1 <--> proxy2 <--> target_host
  4. To "proxify" some program with no proxy support built-in (like telnet)
  5. Access intranet from outside via proxy.
  6. To use DNS behind proxy.
  7. To access hidden tor onion services.

Some cool features:

Configuration:

proxychains looks for config file in following order: 1) file listed in environment variable PROXYCHAINS_CONF_FILE or provided as a -f argument to proxychains script or binary. 2) ./proxychains.conf 3) $(HOME)/.proxychains/proxychains.conf 4) $(sysconfdir)/proxychains.conf **

** usually /etc/proxychains.conf

Usage Example:

$ proxychains telnet targethost.com

in this example it will run telnet through proxy(or chained proxies) specified by proxychains.conf

Usage Example:

$ proxychains -f /etc/proxychains-other.conf telnet targethost2.com

in this example it will use different configuration file then proxychains.conf to connect to targethost2.com host.

Usage Example:

$ proxyresolv targethost.com

in this example it will resolve targethost.com through proxy(or chained proxies) specified by proxychains.conf

Known Problems:

the following sites may prove useful to check for leaks: https://ipfighter.com/ https://browserleaks.com/webrtc https://dnsleaktest.com http://check.torproject.org - tor specific http://ifconfig.me - can be used via curl http://ifconfig.io/

Community:

#proxychains on irc.libera.chat

Donations:

bitcoins donations are welcome - please send to this address: 1C9LBpuy56veBqw5N33sZMoZW8mwCw3tPh

proxychains-ng (rofl0r/proxychains-ng)

Searching Database…

What is this?ProxyChains-NG is a UNIX program that hooks network-related libc functions in dynamically linked programs via LD_PRELOAD and redirects their TCP connections through SOCKS4a/5 or HTTP proxies. It is the continuation of the unmaintained proxychains project.
So it's not a proxy server itself — how do I use it?Neither a proxy nor a daemon: you prefix a command with it, e.g. proxychains telnet targethost.com, and that program's connections go through the proxies you list in proxychains.conf (looked up via $PROXYCHAINS_CONF_FILE or -f, the current directory, ~/.proxychains/, or /etc).
How do I get it running?Build from source with a C compiler (gcc preferred): ./configure --prefix=/usr --sysconfdir=/etc && make, then optionally sudo make install and sudo make install-config for a default /etc/proxychains.conf. Without installing, run it from the build directory: ./proxychains4 -f src/proxychains.conf telnet google.com 80.
What proxies can I point it at?SOCKS4, SOCKS5 and HTTP CONNECT servers are supported — socks with user/pass auth, HTTP with basic auth. It ships no proxies itself, so you supply your own or a provider's, and different types can even be mixed in a single chain.
Will it work with any program I run through it?No — it hooks TCP only (no UDP/ICMP), and since it works by preloading, simple compiled dynamically linked programs are fine, but scripts, background daemons and programs loading C modules via dlopen() (like perl or python) may fail due to a glibc quirk. musl libc is unaffected.
Which systems does it run on?Linux, BSD, Mac and Haiku are the supported platforms, with Solaris support and Android compilation added in later releases. On macOS 10.11+ SIP prevents hooking system binaries — you must partially disable SIP or copy the binary to your home directory.
Can I trust it to hide my real IP?The README warns that circumventing censorship can be very dangerous in certain countries and says to always verify it works as expected — e.g. through a what-is-my-ip service like ifconfig.me — before any serious use. The authors take no responsibility for misuse.
Can I chain several proxies, even mixing types?Yes. A chain can mix SOCKS4, SOCKS5 and HTTP proxies, and chaining options include exact order as listed, random order with a user-defined chain length, dynamic mode that smartly excludes dead proxies, and round robin.
Does it tunnel DNS lookups too, or can they leak?DNS is resolved remotely through the proxy since version 4.0, which is faster and also lets you open .onion addresses when using Tor. A proxyresolv helper can additionally resolve a single hostname through the chain.
Why NG instead of the original proxychains?The original project is unmaintained; NG continues it and has since added remote DNS resolution, IPv6 support, DNAT and raw proxy types, ports to Haiku and Solaris, and regular fixes like the closerange hook for newer OpenSSH.
Can I push network scanners like nmap through it?Often: it works with most TCP client applications, possibly scanners, as long as they use standard libc calls — but pcap-based scanning does not work, and newer nmap versions misbehave; workarounds include disabling proxy DNS, using a numeric IP, or nmap's native SOCKS support.
Creator
rofl0r
Size
0.7 MB
Stars
10.7K
Age
15y
Commits · 90 Days