Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 15-Apr-2019 | - | ||||
.gitignore | H A D | 15-Apr-2019 | 252 | 23 | 17 | |
.travis.yml | H A D | 15-Apr-2019 | 33 | 5 | 4 | |
LICENSE | H A D | 15-Apr-2019 | 1.1 KiB | 21 | 16 | |
README.md | H A D | 15-Apr-2019 | 1 KiB | 46 | 34 | |
auth.go | H A D | 15-Apr-2019 | 3.8 KiB | 152 | 102 | |
credentials.go | H A D | 15-Apr-2019 | 403 | 18 | 12 | |
request.go | H A D | 15-Apr-2019 | 8.9 KiB | 365 | 274 | |
resolver.go | H A D | 15-Apr-2019 | 530 | 24 | 16 | |
ruleset.go | H A D | 15-Apr-2019 | 998 | 42 | 29 | |
socks5.go | H A D | 15-Apr-2019 | 4.3 KiB | 173 | 111 |
README.md
1go-socks5 [![Build Status](https://travis-ci.org/armon/go-socks5.png)](https://travis-ci.org/armon/go-socks5) 2========= 3 4Provides the `socks5` package that implements a [SOCKS5 server](http://en.wikipedia.org/wiki/SOCKS). 5SOCKS (Secure Sockets) is used to route traffic between a client and server through 6an intermediate proxy layer. This can be used to bypass firewalls or NATs. 7 8Feature 9======= 10 11The package has the following features: 12* "No Auth" mode 13* User/Password authentication 14* Support for the CONNECT command 15* Rules to do granular filtering of commands 16* Custom DNS resolution 17* Unit tests 18 19TODO 20==== 21 22The package still needs the following: 23* Support for the BIND command 24* Support for the ASSOCIATE command 25 26 27Example 28======= 29 30Below is a simple example of usage 31 32```go 33// Create a SOCKS5 server 34conf := &socks5.Config{} 35server, err := socks5.New(conf) 36if err != nil { 37 panic(err) 38} 39 40// Create SOCKS5 proxy on localhost port 8000 41if err := server.ListenAndServe("tcp", "127.0.0.1:8000"); err != nil { 42 panic(err) 43} 44``` 45 46