add socks
This commit is contained in:
@ -46,7 +46,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
|
||||
listener.LoggerOption(listenerLogger),
|
||||
)
|
||||
if err := ln.Init(metadata.MapMetadata(svc.Listener.Metadata)); err != nil {
|
||||
listenerLogger.Fatal("init:", err)
|
||||
listenerLogger.Fatal("init: ", err)
|
||||
}
|
||||
|
||||
handlerLogger := log.WithFields(map[string]interface{}{
|
||||
@ -61,7 +61,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
|
||||
handler.LoggerOption(handlerLogger),
|
||||
)
|
||||
if err := h.Init(metadata.MapMetadata(svc.Handler.Metadata)); err != nil {
|
||||
handlerLogger.Fatal("init:", err)
|
||||
handlerLogger.Fatal("init: ", err)
|
||||
}
|
||||
|
||||
s := (&service.Service{}).
|
||||
@ -95,7 +95,7 @@ func chainFromConfig(cfg *config.ChainConfig) *chain.Chain {
|
||||
connector.LoggerOption(connectorLogger),
|
||||
)
|
||||
if err := cr.Init(metadata.MapMetadata(v.Connector.Metadata)); err != nil {
|
||||
connectorLogger.Fatal("init:", err)
|
||||
connectorLogger.Fatal("init: ", err)
|
||||
}
|
||||
|
||||
dialerLogger := log.WithFields(map[string]interface{}{
|
||||
@ -108,7 +108,7 @@ func chainFromConfig(cfg *config.ChainConfig) *chain.Chain {
|
||||
dialer.LoggerOption(dialerLogger),
|
||||
)
|
||||
if err := d.Init(metadata.MapMetadata(v.Dialer.Metadata)); err != nil {
|
||||
dialerLogger.Fatal("init:", err)
|
||||
dialerLogger.Fatal("init: ", err)
|
||||
}
|
||||
|
||||
tr := (&chain.Transport{}).
|
||||
@ -165,22 +165,19 @@ func selectorFromConfig(cfg *config.LoadbalancingConfig) chain.Selector {
|
||||
var strategy chain.Strategy
|
||||
switch cfg.Strategy {
|
||||
case "round":
|
||||
strategy = &chain.RoundRobinStrategy{}
|
||||
strategy = chain.RoundRobinStrategy()
|
||||
case "random":
|
||||
strategy = &chain.RandomStrategy{}
|
||||
strategy = chain.RandomStrategy()
|
||||
case "fifio":
|
||||
strategy = &chain.FIFOStrategy{}
|
||||
strategy = chain.FIFOStrategy()
|
||||
default:
|
||||
strategy = &chain.RoundRobinStrategy{}
|
||||
strategy = chain.RoundRobinStrategy()
|
||||
}
|
||||
|
||||
return chain.NewSelector(
|
||||
strategy,
|
||||
&chain.InvalidFilter{},
|
||||
&chain.FailFilter{
|
||||
MaxFails: cfg.MaxFails,
|
||||
FailTimeout: cfg.FailTimeout,
|
||||
},
|
||||
chain.InvalidFilter(),
|
||||
chain.FailFilter(cfg.MaxFails, cfg.FailTimeout),
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,6 @@ services:
|
||||
metadata:
|
||||
method: AES-256-GCM
|
||||
password: gost
|
||||
key: gost
|
||||
readTimeout: 5s
|
||||
retry: 3
|
||||
listener:
|
||||
@ -40,6 +39,23 @@ services:
|
||||
keepAlive: 15s
|
||||
chain: chain01
|
||||
# bypass: bypass01
|
||||
- name: socks5+tcp
|
||||
url: "socks5://gost:gost@:1080"
|
||||
addr: ":1080"
|
||||
handler:
|
||||
type: socks5
|
||||
metadata:
|
||||
auths:
|
||||
- gost:gost
|
||||
readTimeout: 5s
|
||||
retry: 3
|
||||
notls: true
|
||||
listener:
|
||||
type: tcp
|
||||
metadata:
|
||||
keepAlive: 15s
|
||||
chain: chain-socks4
|
||||
# bypass: bypass01
|
||||
|
||||
chains:
|
||||
- name: chain01
|
||||
@ -99,6 +115,20 @@ chains:
|
||||
dialer:
|
||||
type: tcp
|
||||
metadata: {}
|
||||
- name: chain-socks4
|
||||
hops:
|
||||
- name: hop01
|
||||
nodes:
|
||||
- name: node01
|
||||
addr: ":8081"
|
||||
url: "http://gost:gost@:8081"
|
||||
# bypass: bypass01
|
||||
connector:
|
||||
type: socks4
|
||||
metadata: {}
|
||||
dialer:
|
||||
type: tcp
|
||||
metadata: {}
|
||||
|
||||
bypasses:
|
||||
- name: bypass01
|
||||
|
@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
// Register connectors
|
||||
_ "github.com/go-gost/gost/pkg/connector/http"
|
||||
_ "github.com/go-gost/gost/pkg/connector/socks/v4"
|
||||
_ "github.com/go-gost/gost/pkg/connector/ss"
|
||||
|
||||
// Register dialers
|
||||
@ -10,6 +11,8 @@ import (
|
||||
|
||||
// Register handlers
|
||||
_ "github.com/go-gost/gost/pkg/handler/http"
|
||||
_ "github.com/go-gost/gost/pkg/handler/socks/v4"
|
||||
_ "github.com/go-gost/gost/pkg/handler/socks/v5"
|
||||
_ "github.com/go-gost/gost/pkg/handler/ss"
|
||||
_ "github.com/go-gost/gost/pkg/handler/ssu"
|
||||
|
||||
|
Reference in New Issue
Block a user