serjs/socks5-server
serjs/socks5-server has 1,107 GitHub stars and 223 forks. Star changes are not measured yet. Last checked 2026-11-09 10:13 UTC. Last push 2026-01-13.
Simple socks5 server using go-socks5 with authentication, allowed ips list and destination FQDNs filtering
Measured star growth
- in 24h
- Update delayed
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalgo-socks5-proxy
Simple socks5 server using go-socks5 with authentication, allowed ips list and destination FQDNs filtering
Examples
Run docker container using default container port 1080 and expose it to world using host port 1080, with auth creds
docker run -d --name socks5 -p 1080:1080 -e PROXY_USER=<PROXY_USER> -e PROXY_PASSWORD=<PROXY_PASSWORD> serjs/go-socks5-proxyRun docker container using specific container port and expose it to host port 1090
docker run -d --name socks5 -p 1090:9090 -e PROXY_USER=<PROXY_USER> -e PROXY_PASSWORD=<PROXY_PASSWORD> -e PROXY_PORT=9090 serjs/go-socks5-proxy
List of supported config parameters
| ENV variable | Type | Default | Description |
|---|---|---|---|
| REQUIRE_AUTH | String | true | Allow accepting socks5 connections without auth creds. Not recommended untill you use other protections mechanisms like Whitelists Subnets using Firewall or Proxy itself |
| PROXY_USER | String | EMPTY | Set proxy user (also required existed PROXY_PASS) |
| PROXY_PASSWORD | String | EMPTY | Set proxy password for auth, used with PROXY_USER |
| PROXY_PORT | String | 1080 | Set listen port for application inside docker container |
| ALLOWED_DEST_FQDN | String | EMPTY | Allowed destination address regular expression pattern. Default allows all. |
| ALLOWED_IPS | String | Empty | Set allowed IP's that can connect to proxy, separator , |
Build your own image:
docker-compose -f docker-compose.build.yml up -d
Just don't forget to set parameters in the .env file (cp .env.example .env) and edit it with your config parameters
Test running service
Assuming that you are using container on 1080 host docker port
Without authentication
curl --socks5 <docker host ip>:1080 https://ipinfo.io - result must show docker host ip (for bridged network)
or
docker run --rm curlimages/curl:7.65.3 -s --socks5 <docker host ip>:1080 https://ipinfo.io
With authentication
curl --socks5 <docker host ip>:1080 -U <PROXY_USER>:<PROXY_PASSWORD> https://ipinfo.io
or
docker run --rm curlimages/curl:7.65.3 -s --socks5 <PROXY_USER>:<PROXY_PASSWORD>@<docker host ip>:1080 https://ipinfo.io
Authors
- Sergey Bogayrets
See also the list of contributors who participated in this project.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,599 starspublic-apis/public-apis
A collective list of free APIs
497,924 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
449,785 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,297 stars