3proxy/3proxy

By 3proxy

Updated about 1 year ago

3proxy tiny proxy server

Image
Networking
30

100K+

3proxy/3proxy repository overview

Docker images for https://github.com/z3APA3A/3proxy

2 docker configurations are provided, defaul (full) and ':minimal' for devel and stable 3proxy versions. :latest is a full configuration for stable version.

Default configuration:

Dockerfile with fully dunctional busibox:glibc based 3proxy installation, requires mounting configuration file.

to build: docker build -f Dockerfile.full -t 3proxy .

to run: by default 3proxy uses safe chroot environment with chroot to /usr/local/3proxy with uid/gid 65535/65535 and expects configuration file to be placed in /usr/local/etc/3proxy. Paths in configuration file must be relative to /usr/local/3proxy, that is use /logs instead of /usr/local/3proxy/logs. nserver in chroot is required for DNS resolution. An example:

echo nserver 8.8.8.8 >/path/to/local/config/directory/3proxy.cfg
echo proxy -p3129 >>/path/to/local/config/directory/3proxy.cfg
docker run -p 3129:3129 -v /path/to/local/config/directory:/usr/local/3proxy/conf -name 3proxy.full 3proxy

/path/to/local/config/directory in this example must contain 3proxy.cfg if you need 3proxy to be executed without chroot with root permissions, replace /etc/3proxy/3proxy.cfg by e.g. mounting config dir to /etc/3proxy ot by providing config file /etc/3proxy/3proxy.cfg

docker run -p 3129:3129 -v /path/to/local/config/directory:/etc/3proxy -name 3proxy 3proxy

use log without pathname in config to log to stdout or mount volume for logs. plugins are located in /usr/local/3proxy/libexec (/libexec for chroot config). Some proxy types (e.g. SOCKSv5 UDPASSCOC, SOCKSv5 BIND functionality, ftp proxy) require access to ephemeral port, you may use e.g. --network host mode or -P for docker run.

:minimal docker configuration:

Dockerfile for "interactive" minimal 3proxy execution, no configuration mounting is required, configuration is accepted from stdin. Use end command to indicate the end of configuration. Use log for stdout logging.

This is busybox based docker with only 3proxy executable and empty non-writable "run" directory.

plugin is not supported

Build:

docker build -f Dockerfile.minimal -t 3proxy.minimal .

Run example:

docker run -i -p 3129:3129 --name 3proxy 3proxy.minimal or docker start -i 3proxy

send this to standard input (example):

chroot run 65535 65535
nserver 8.8.8.8
nscache 65535
log
proxy -p3129
end

use "chroot run 65536 65536" in config for safe chroot environment. nserver is required for DNS resolutions in chroot.

Some proxy types (e.g. SOCKSv5 UDPASSCOC, SOCKSv5 BIND functionality, ftp proxy) require access to ephemeral port, you may use e.g. --network host mode or -P to docker run.

:minimal without version specified uses current stable version.

Tag summary

Content type

Image

Digest

sha256:608816531

Size

6.3 MB

Last updated

about 1 year ago

Requires Docker Desktop 4.37.1 or later.