add socks5 udp relay

This commit is contained in:
ginuerzh
2021-11-08 15:26:23 +08:00
parent 16f34d3e94
commit 10f53e18a0
12 changed files with 459 additions and 43 deletions

View File

@ -3,6 +3,10 @@ log:
level: debug # debug, info, warn, error, fatal
format: json # text, json
profiling:
addr: ":6060"
enabled: true
services:
- name: http+tcp
url: "http://gost:gost@:8000"
@ -50,12 +54,29 @@ services:
readTimeout: 5s
retry: 3
notls: true
# udpBufferSize: 4096 # range [512, 66560]
listener:
type: tcp
metadata:
keepAlive: 15s
# chain: chain-socks5
# bypass: bypass01
- name: socks5+tcp
url: "socks5://gost:gost@:1080"
addr: ":11080"
handler:
type: socks5
metadata:
auths:
- gost:gost
readTimeout: 5s
retry: 3
notls: true
# udpBufferSize: 4096 # range [512, 66560]
listener:
type: tcp
metadata:
keepAlive: 15s
chains:
- name: chain01
@ -134,13 +155,13 @@ chains:
- name: hop01
nodes:
- name: node01
addr: ":1081"
addr: ":11080"
url: "http://gost:gost@:8081"
# bypass: bypass01
connector:
type: socks5
metadata:
# notls: true
notls: true
auth: gost:gost
dialer:
type: tcp

View File

@ -2,6 +2,8 @@ package main
import (
stdlog "log"
"net/http"
_ "net/http/pprof"
"github.com/go-gost/gost/pkg/config"
"github.com/go-gost/gost/pkg/logger"
@ -19,6 +21,16 @@ func main() {
}
log = logFromConfig(cfg.Log)
if cfg.Profiling != nil && cfg.Profiling.Enabled {
go func() {
addr := cfg.Profiling.Addr
if addr == "" {
addr = ":6060"
}
log.Info("profiling serve on: ", addr)
log.Fatal(http.ListenAndServe(addr, nil))
}()
}
services := buildService(cfg)
for _, svc := range services {
go svc.Run()