Skip to content

tarampampam/3proxy-docker

Repository files navigation

Docker image with 3proxy

Build Status Release Status Image size Docker Pulls License

Why was this image created?

3proxy is an awesome and lightweight proxy server. This image contains the stable version and can be configured using environment variables. By default, it uses anonymous proxy settings to hide client information and logs in JSON format.

Page on hub.docker.com can be found here.

TCP ports:

Port number Description
3128 HTTP proxy
1080 SOCKS proxy

Supported tags

Registry Image
GitHub Container Registry ghcr.io/tarampampam/3proxy
Docker Hub tarampampam/3proxy

All supported image tags can be found here.

Since v1.8.2 architecture arm64 (and amd64 of course) is supported:

$ docker run --rm mplatform/mquery ghcr.io/tarampampam/3proxy:1.8.2
Image: ghcr.io/tarampampam/3proxy:1.8.2
 * Manifest List: Yes (Image type: application/vnd.docker.distribution.manifest.list.v2+json)
 * Supported platforms:
   - linux/amd64
   - linux/arm64

Supported environment variables

Variable name Description Example
PROXY_LOGIN Authorization login (empty by default) username
PROXY_PASSWORD Authorization password (empty by default) password
EXTRA_ACCOUNTS Additional proxy users {"evil":"live", "guest":"pass"}
PRIMARY_RESOLVER Primary nameserver (dns resolver; 1.0.0.1 by default) 8.8.8.8:5353/tcp
SECONDARY_RESOLVER Secondary nameserver (dns resolver; 8.8.4.4 by default) 2001:4860:4860::8844
MAX_CONNECTIONS Maximal connections count (1024 by default) 2056
PROXY_PORT HTTP proxy port number (3128 by default) 8080
SOCKS_PORT SOCKS proxy port number (1080 by default) 8888
EXTRA_CONFIG Additional 3proxy configuration (will be added to the end of the config file, but before the proxy and flush) # line 1\n# line 2
LOG_OUTPUT Log output file path (/dev/stdout by default, set /dev/null to disable logging) /tmp/3proxy.log

How can I use this?

For example:

$ docker run --rm -d \
    -p "3128:3128/tcp" \
    -p "1080:1080/tcp" \
    ghcr.io/tarampampam/3proxy:latest

Or with auth & resolver settings:

$ docker run --rm -d \
    -p "3128:3128/tcp" \
    -p "1080:1080/tcp" \
    -e "PROXY_LOGIN=evil" \
    -e "PROXY_PASSWORD=live" \
    -e "PRIMARY_RESOLVER=2001:4860:4860::8888" \
    ghcr.io/tarampampam/3proxy:latest

Releasing

Publishing new versions is very simple: just make the required changes in this repository, update the changelog file, and "publish" a new release using the repository's releases page.

Docker images will be built and published automatically.

The new release will overwrite the latest docker image tag in both registries.

Support

Issues Issues

If you find any errors, please, make an issue in the current repository.

License

WTFPL. Use anywhere for your pleasure.