add metadata interface
This commit is contained in:
@ -9,6 +9,7 @@ import (
|
|||||||
"github.com/go-gost/gost/pkg/components/dialer"
|
"github.com/go-gost/gost/pkg/components/dialer"
|
||||||
"github.com/go-gost/gost/pkg/components/handler"
|
"github.com/go-gost/gost/pkg/components/handler"
|
||||||
"github.com/go-gost/gost/pkg/components/listener"
|
"github.com/go-gost/gost/pkg/components/listener"
|
||||||
|
"github.com/go-gost/gost/pkg/components/metadata"
|
||||||
"github.com/go-gost/gost/pkg/config"
|
"github.com/go-gost/gost/pkg/config"
|
||||||
"github.com/go-gost/gost/pkg/logger"
|
"github.com/go-gost/gost/pkg/logger"
|
||||||
"github.com/go-gost/gost/pkg/registry"
|
"github.com/go-gost/gost/pkg/registry"
|
||||||
@ -59,7 +60,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
|
|||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
ln.Init(listener.Metadata(svc.Listener.Metadata))
|
ln.Init(metadata.MapMetadata(svc.Listener.Metadata))
|
||||||
s.WithListener(ln)
|
s.WithListener(ln)
|
||||||
|
|
||||||
var chain *chain.Chain
|
var chain *chain.Chain
|
||||||
@ -78,7 +79,7 @@ func buildService(cfg *config.Config) (services []*service.Service) {
|
|||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
h.Init(handler.Metadata(svc.Handler.Metadata))
|
h.Init(metadata.MapMetadata(svc.Handler.Metadata))
|
||||||
s.WithHandler(h)
|
s.WithHandler(h)
|
||||||
|
|
||||||
services = append(services, s)
|
services = append(services, s)
|
||||||
@ -111,7 +112,7 @@ func buildChain(cfg *config.Config) (chains []*chain.Chain) {
|
|||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
cr.Init(connector.Metadata(v.Connector.Metadata))
|
cr.Init(metadata.MapMetadata(v.Connector.Metadata))
|
||||||
tr.WithConnector(cr)
|
tr.WithConnector(cr)
|
||||||
|
|
||||||
d := registry.GetDialer(v.Dialer.Type)(
|
d := registry.GetDialer(v.Dialer.Type)(
|
||||||
@ -122,7 +123,7 @@ func buildChain(cfg *config.Config) (chains []*chain.Chain) {
|
|||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
d.Init(dialer.Metadata(v.Dialer.Metadata))
|
d.Init(metadata.MapMetadata(v.Dialer.Metadata))
|
||||||
tr.WithDialer(d)
|
tr.WithDialer(d)
|
||||||
|
|
||||||
node.WithTransport(tr)
|
node.WithTransport(tr)
|
||||||
|
@ -10,12 +10,13 @@ services:
|
|||||||
type: http
|
type: http
|
||||||
metadata:
|
metadata:
|
||||||
proxyAgent: "gost/3.0"
|
proxyAgent: "gost/3.0"
|
||||||
|
auths:
|
||||||
|
- user1:pass1
|
||||||
|
- user2:pass2
|
||||||
listener:
|
listener:
|
||||||
type: tcp
|
type: tcp
|
||||||
metadata:
|
metadata:
|
||||||
keepAlive: 15s
|
keepAlive: 15s
|
||||||
username: gost
|
|
||||||
password: gost
|
|
||||||
# chain: chain01
|
# chain: chain01
|
||||||
|
|
||||||
chains:
|
chains:
|
||||||
@ -40,8 +41,7 @@ chains:
|
|||||||
type: http
|
type: http
|
||||||
metadata:
|
metadata:
|
||||||
userAgent: "gost/3.0"
|
userAgent: "gost/3.0"
|
||||||
username: gost
|
auth: username:password
|
||||||
password: gost
|
|
||||||
dialer:
|
dialer:
|
||||||
type: tcp
|
type: tcp
|
||||||
metadata: {}
|
metadata: {}
|
||||||
|
Reference in New Issue
Block a user