package main import ( "github.com/armon/go-socks5" ) type Socks struct { config *Config } func NewSocksServer(c *Config) Socks { return Socks{config: c} } func (socks Socks) Listen() error { conf := &socks5.Config{} server, err := socks5.New(conf) if err != nil { return err } return server.ListenAndServe("tcp", socks.config.Listen) }