proxy

httpie

proxy tools are essential for routing traffic through intermediary servers, enabling users to access restricted content, enhance privacy, and analyze network traffic. They provide various functionalities, including anonymity, load balancing, and content filtering.

HTTPie

A command-line HTTP client that simplifies API testing by formatting requests and responses for better readability.

Options:

  • -v: Enable verbose output for detailed request and response information.
  • --download: Automatically download responses instead of displaying them.
  • --follow: Follow redirects to the final URL.

Installation:

> sudo apt update && sudo apt install httpie

Start and Verify:

  • Start: HTTPie doesn’t require a persistent process to run; simply call it as needed.
  • Verify: http --version

Example to Fetch a Webpage:

> http GET http://example.com

Privoxy

A web proxy with advanced filtering capabilities, aimed at protecting privacy, managing cookies, and removing unwanted content.

Options:

  • -c [config file]: Specify the configuration file to use.
  • --no-daemon: Run in the foreground instead of as a daemon.

Installation:

> sudo apt update && sudo apt install privoxy

Start and Verify:

  • Start: sudo systemctl start privoxy
  • Verify: sudo systemctl status privoxy

Example to Fetch a Webpage (via Privoxy on port 8118):

> curl -x http://localhost:8118 http://example.com


Proxychains

A tool that allows users to run any program through a proxy server, including SOCKS and HTTP proxies.

Options:

  • -q: Quiet mode; suppress output except for errors.
  • -n: Disable DNS resolution via the proxy.

Installation:

> sudo apt update && sudo apt install proxychains

Start and Verify:

  • Start: Configure /etc/proxychains.conf to specify proxy settings (e.g., add socks5 127.0.0.1 9050 for Tor).
  • Verify: proxychains curl ifconfig.me (to confirm the IP address shown is from the proxy)

Example to Fetch a Webpage through Proxychains:

> proxychains curl http://example.com


Proxytunnel

A tool for tunneling TCP connections through HTTP proxies, which is useful for bypassing network restrictions.

Options:

  • -p [proxy server]: Specify the proxy server to connect through.
  • -r [remote server]: Define the remote server to connect to.
  • -d: Enable debug mode for more verbose logging.

Installation:

> sudo apt update && sudo apt install proxytunnel

Start and Verify:

  • Start: Proxytunnel doesn’t require a background service; configure as needed in each command.
  • Verify: Run proxytunnel -h to check for installed version and options.

Example to Fetch a Webpage via Proxytunnel:

> proxytunnel -p proxy.example.com:8080 -d example.com:80


Shadowsocks

An open-source secure socks5 proxy, designed to protect privacy and bypass network restrictions.

Options:

  • -c [config path]: Specify the path to the configuration file.
  • -m [method]: Set the encryption method to use.

Installation:

> sudo apt update && sudo apt install shadowsocks

Start and Verify:

  • Start: sslocal -c /path/to/config.json (for local use)
  • Verify: curl --socks5 127.0.0.1:1080 http://ifconfig.me to verify IP change

Example to Fetch a Webpage:

> curl --socks5 127.0.0.1:1080 http://example.com


Squid

A caching proxy server that improves web performance by caching frequently requested content and controlling access.

Options:

  • -d: Enable debug logging.
  • -z: Initialize the cache directories.
  • -N: Run without forking, keeping the process in the foreground.

Installation:

> sudo apt update && sudo apt install squid

Start and Verify:

  • Start: sudo systemctl start squid
  • Verify: sudo systemctl status squid

Example to Fetch a Webpage via Squid:

> curl -x http://localhost:3128 http://example.com


Tinyproxy

A lightweight HTTP/HTTPS proxy designed to be simple and efficient, making it suitable for resource-constrained environments.

Options:

  • -d: Run in debug mode for verbose output.
  • -c [config path]: Specify the path to the configuration file.

Installation:

> sudo apt update && sudo apt install tinyproxy

Start and Verify:

  • Start: sudo systemctl start tinyproxy
  • Verify: sudo systemctl status tinyproxy

Example to Fetch a Webpage via Tinyproxy:

> curl -x http://localhost:8888 http://example.com


Tor

A free software for enabling anonymous communication over the Internet, Tor protects users’ identities by routing their traffic through a network of volunteer-operated servers. Options:

  • -c [control path]: Specify the path to the Tor control socket.
  • -h: Use hidden services for anonymous access.

Installation:

> sudo apt update && sudo apt install tor

Start and Verify:

  • Start: sudo systemctl start tor
  • Verify: curl --socks5 127.0.0.1:9050 http://ifconfig.me to confirm Tor routing

Example to Fetch a Webpage via Tor:

> curl --socks5 127.0.0.1:9050 http://example.com




Additional Options

Each proxy tool may have further options, such as:

  • Configuration Files: Set up custom configurations for each tool.
  • Logging Levels: Adjust verbosity for debugging and tracking activity.
  • Authentication Details: Specify credentials for proxies that require login.