Sign inSign up

but3k4/privoxy

By but3k4

•Updated over 1 year ago

Minimal Privoxy proxy with dynamic SOCKS5 support via environment variables.

Image
Networking
Security
0

308

but3k4/privoxy repository overview

ā šŸ§… Privoxy (Dockerized)

Minimal Privoxy⁠ container based on Alpine Linux.

Designed for local proxying or tunneling traffic through a SOCKS5 server (e.g., NordVPN, Tor), using dynamic environment configuration.

⁠🐳 Quick Start

Run a default instance of Privoxy using Podman:

podman run -d --name privoxy \
  --network=host \
  -e SOCKS5_SERVER="your_nordvpn_socks5_server" \
  -e SOCKS5_PORT=1080 \
  -e SOCKS5_USER="your_nordvpn_username" \
  -e SOCKS5_PASSWORD="your_nordvpn_password" \
  docker.io/but3k4/privoxy:latest

Or with Docker:

docker run -d --name privoxy \
  --network=host \
  -e SOCKS5_SERVER="your_nordvpn_socks5_server" \
  -e SOCKS5_PORT=1080 \
  -e SOCKS5_USER="your_nordvpn_username" \
  -e SOCKS5_PASSWORD="your_nordvpn_password" \
  docker.io/but3k4/privoxy:latest

āœ… Note: Since the container uses --network=host, port mappings (-p) are not needed.

ā šŸ”§ Environment Variables

VariableDefaultDescription
LISTEN_PORT8118Port Privoxy listens on
SOCKS5_SERVER127.0.0.1Upstream SOCKS5 server IP or hostname
SOCKS5_PORT1080Upstream SOCKS5 port
SOCKS5_USER(empty)SOCKS5 Username (optional)
SOCKS5_PASSWORD(empty)SOCKS5 Password (optional)

āœ… If SOCKS5_USER and SOCKS5_PASSWORD are empty, Privoxy connects without authentication.

ā šŸ“‹ Podman/Docker Compose Example

You can also deploy Privoxy using Podman Compose or Docker Compose:

version: "3.9"

services:
  privoxy:
    image: docker.io/but3k4/privoxy:latest
    container_name: privoxy
    network_mode: "host"
    environment:
      - SOCKS5_SERVER=your_nordvpn_socks5_server
      - SOCKS5_PORT=1080
      - SOCKS5_USER=your_nordvpn_username
      - SOCKS5_PASSWORD=your_nordvpn_password
    restart: unless-stopped

āž”ļø Then launch it with:

podman-compose up -d

Or with Docker:

docker-compose up -d

āœ… Note: network_mode: "host" is used, so no ports need to be mapped manually.

⁠🧩 Example Use Case (VPN Tunneling)

  1. Privoxy forwards HTTP/HTTPS traffic to a SOCKS5 server (e.g., NordVPN SOCKS5 proxy).
  2. Squid or browsers can use Privoxy as an HTTP proxy. Example Squid configuration:
cache_peer privoxy parent 8118 0 no-query no-digest name=privoxy

āž”ļø Now traffic flows: Squid → Privoxy → SOCKS5 → Internet šŸ”’

ā šŸ“¦ Image Details

FieldValue
Base Imagealpine:latest
Installedprivoxy
Exposed Port8118
Default CMDprivoxy --no-daemon
Size~6MB

⁠🪪 License

This project uses packages from Alpine Linux and Privoxy, both of which are licensed under open-source licenses.

⁠✨ Additional Notes

Future improvements could include:

  • Docker labels
  • GitHub Action for auto-push
  • Multi-architecture builds (e.g., amd64, arm64)

Feel free to contribute or fork! šŸŽÆ

Tag summary

Content type

Image

Digest

sha256:6a31862ce…

Size

3.9 MB

Last updated

over 1 year ago

docker pull but3k4/privoxy