23 lines
350 B
Go
23 lines
350 B
Go
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)
|
|
}
|