go-socks5
go-socks5 copied to clipboard
support get get random port number
package main
import(
"fmt"
"net"
socks5 "github.com/hktalent/go-socks5"
)
func ss5(nl chan net.Listener){
conf := &socks5.Config{}
// fmt.Println(conf)
server, err := socks5.New(conf)
if err != nil {
panic(err)
}
// random port "0.0.0.0:0"
if err := server.ListenAndServe("tcp", "0.0.0.0:0",nl);err != nil {
// Create SOCKS5 proxy on port 10080
// if err := server.ListenAndServe("tcp", "0.0.0.0:10080"); err != nil {
panic(err)
}
}
func main() {
xxx := make(chan net.Listener, 10)
go ss5(xxx)
// so get my random port number
x := <-xxx
port := x.Addr().(*net.TCPAddr).Port
fmt.Println(port)
}