** This is an experimental project for study **
Sheerproxy is a preload library for proxying system-wide.
- Robust and quiet: Sheerproxy is designed for proxying system-wide on the operating system. It is took care to ensure that applications do not crash and the operating system does not become unstable. It does not output any logs to stdout or stderr.
- IPv6 support: Sheerproxy supports IPv6 completely for IPv6 adoption.
Sheerproxy uses LD_PRELOAD trick and that hooks network-related libc functions. It only works for dynamically linked programs.
Please compile and install the library. /etc/ld.so.preload will be configured automatically.
./configure
sudo make install
At least one proxy have to be added into /etc/sheerproxy.conf.
http_proxy squid.example.com 3128
By default enable localnet for loopback, linklocal and private address ranges but not for domains and hosts. Please change /etc/sheerproxy.conf to avoid proxying for the private network domain and hosts like below;
always_direct local.example.com
always_direct certain.host.example.com
It's easy to uninstall.
sudo make uninstall
Start the development environment.
cd ./devenv/
docker-compose up -d
Run all the tests.
./tools/run-on-centos.sh ./tools/run-tests.sh
Sheerproxy is inspired by proxychains-ng.