This commit is contained in:
ginuerzh
2021-11-15 12:55:05 +08:00
parent 3fe5084629
commit ce3d62759a
38 changed files with 788 additions and 291 deletions

View File

@ -47,6 +47,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
})
ln := registry.GetListener(svc.Listener.Type)(
listener.AddrOption(svc.Addr),
listener.ChainOption(chains[svc.Listener.Chain]),
listener.LoggerOption(listenerLogger),
)
if err := ln.Init(metadata.MapMetadata(svc.Listener.Metadata)); err != nil {
@ -59,8 +60,8 @@ func buildService(cfg *config.Config) (services []*service.Service) {
})
h := registry.GetHandler(svc.Handler.Type)(
handler.ChainOption(chains[svc.Chain]),
handler.BypassOption(bypasses[svc.Bypass]),
handler.ChainOption(chains[svc.Handler.Chain]),
handler.BypassOption(bypasses[svc.Handler.Bypass]),
handler.LoggerOption(handlerLogger),
)

View File

@ -13,6 +13,8 @@ services:
addr: ":28000"
handler:
type: http
chain: chain01
# bypass: bypass01
metadata:
proxyAgent: "gost/3.0"
retry: 3
@ -25,13 +27,13 @@ services:
type: tcp
metadata:
keepAlive: 15s
chain: chain01
# bypass: bypass01
- name: ss
url: "ss://chacha20:gost@:8000"
addr: ":28338"
handler:
type: ss
# chain: chain01
# bypass: bypass01
metadata:
method: chacha20-ietf
password: gost
@ -43,26 +45,26 @@ services:
type: tcp
metadata:
keepAlive: 15s
# chain: chain01
# bypass: bypass01
- name: socks5
url: "socks5://gost:gost@:1080"
addr: ":21080"
handler:
type: socks5
# chain: chain-ss
# bypass: bypass01
metadata:
auths:
- gost:gost
readTimeout: 5s
retry: 3
notls: true
bind: true
udp: true
# udpBufferSize: 4096 # range [512, 66560]
listener:
type: tcp
metadata:
keepAlive: 15s
chain: chain-ss
# bypass: bypass01
- name: socks5+tcp
url: "socks5://gost:gost@:1080"
addr: ":21081"
@ -93,6 +95,7 @@ services:
failTimeout: 30s
handler:
type: forward
chain: chain-ss
metadata:
readTimeout: 5s
retry: 3
@ -100,7 +103,38 @@ services:
type: udp
metadata:
keepAlive: 15s
chain: chain-ss
- name: kcp-forward-tunnel
addr: ":8388"
forwarder:
targets:
- 127.0.0.1:28338
handler:
type: forward
metadata:
readTimeout: 5s
retry: 3
listener:
type: kcp
metadata:
keepAlive: 15s
- name: rtcp
addr: ":28100"
forwarder:
targets:
- 192.168.8.8:80
handler:
type: forward
metadata:
readTimeout: 5s
retry: 3
listener:
type: rtcp
chain: chain-socks5
metadata:
keepAlive: 15s
mux: true
chains:
- name: chain01
@ -179,7 +213,7 @@ chains:
- name: hop01
nodes:
- name: node01
addr: ":11080"
addr: ":21080"
url: "http://gost:gost@:8081"
# bypass: bypass01
connector:

View File

@ -26,6 +26,7 @@ import (
_ "github.com/go-gost/gost/pkg/listener/obfs/http"
_ "github.com/go-gost/gost/pkg/listener/obfs/tls"
_ "github.com/go-gost/gost/pkg/listener/quic"
_ "github.com/go-gost/gost/pkg/listener/rtcp"
_ "github.com/go-gost/gost/pkg/listener/tcp"
_ "github.com/go-gost/gost/pkg/listener/tls"
_ "github.com/go-gost/gost/pkg/listener/tls/mux"