socks protocol implements by golang, support socks4, socks4a and socks5
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fangdingjun 14c964c1c2 Merge branch 'master' of https://github.com/fangdingjun/socks-go 8 years ago
examples/server change mode 8 years ago
.gitignore minor changes 8 years ago
LICENSE add license file 9 years ago
README.md add protocol data format 8 years ago
socks.go change mode 8 years ago
socks4.go Merge branch 'master' of https://github.com/fangdingjun/socks-go 8 years ago
socks5.go Merge branch 'master' of https://github.com/fangdingjun/socks-go 8 years ago

README.md

socks-go

A socks server implemented by golang, support socks4/4a, socks5.

Only support connect command now.

usage

Usage example:

import socks "github.com/fangdingjun/socks-go"

func main(){
    l, _ := net.Listen("tcp", ":1080")
    for {
        conn, _ := l.Accept()
        s := socks.SocksConn{ClientConn: conn, Dial: nil} // Dial is a function which dial to the upstream server
        go s.Serve() // serve the socks request
    }
}