diff options
| -rw-r--r-- | go.mod | 10 | ||||
| -rw-r--r-- | go.sum | 6 | ||||
| -rw-r--r-- | main.go | 30 |
3 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,10 @@ +module go.metala.org/socks5srv + +go 1.24.1 + +require ( + github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 + github.com/spf13/pflag v1.0.6 +) + +require golang.org/x/net v0.37.0 // indirect @@ -0,0 +1,6 @@ +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= @@ -0,0 +1,30 @@ +package main + +import ( + "log" + + "github.com/armon/go-socks5" + flag "github.com/spf13/pflag" +) + +func main() { + var ( + bind string + ) + + flag.StringVarP(&bind, "bind", "b", "0.0.0.0:1080", "SOCKS5 server bind address and port") + flag.Parse() + + // Create a SOCKS5 server + conf := &socks5.Config{} + server, err := socks5.New(conf) + if err != nil { + panic(err) + } + + log.Printf("SOCKS5 server listeting at '%s'...", bind) + if err := server.ListenAndServe("tcp", bind); err != nil { + panic(err) + } + +} |
