- Notifications
You must be signed in to change notification settings - Fork4
A fully featured implementation of the SOCKS 5 protocol in golang. Command CONNECT ✅, BIND 🛠, UDP ASSOCIATE ✅.
License
ezh0v/socks5
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation

A fully featured implementation of the SOCKS 5 protocol in golang.
| CONNECT | BIND | UDP ASSOCIATE |
|---|---|---|
| ✅ - implemented | 🛠 - in progress | ✅ - implemented |

go get github.com/ezh0v/socks5Create your.go file. For example:main.go.
package mainimport ("context""log""os/signal""syscall""github.com/ezh0v/socks5")funcmain() {ctx,stop:=signal.NotifyContext(context.Background(),syscall.SIGINT,syscall.SIGTERM)deferstop()srv:=socks5.New()gofunc() {iferr:=srv.ListenAndServe();err!=nil {log.Fatal(err)}}()<-ctx.Done()iferr:=srv.Shutdown();err!=nil {log.Fatal(err)}}
Run your server:
go run main.goThe following curl example shows how to use the proxy server:
curl -x socks5://127.0.0.1:1080 http://example.comSee thetests andexamples for more information about package.
Why can't connect to socks proxy server?
Not all applications and browsers support socks authentication or socks protocol. You may needextension for Chrome or another browser.
If you have any questions, you can ask inGitHub Discussions.
- The proof of work for the UDP association was done usingqBittorrent - a BitTorrent client.
Feel free to open tickets or send pull requests with improvements. Thanks in advance for your help!
Please follow thecontribution guidelines.
All source code is licensed under theMIT License.
Logo is based on the Go Gopher mascot originally designed byEgon Elbre and which is also licensed under theCC0 1.0 Universal License.
About
A fully featured implementation of the SOCKS 5 protocol in golang. Command CONNECT ✅, BIND 🛠, UDP ASSOCIATE ✅.
Topics
Resources
License
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.