fix marker for selector
This commit is contained in:
parent
2148d10def
commit
8253c41de6
@ -22,7 +22,7 @@
|
||||
- [x] [Prometheus监控指标](https://gost.run/tutorials/metrics/)
|
||||
- [x] [动态配置](https://gost.run/tutorials/api/config/)
|
||||
- [x] [Web API](https://gost.run/tutorials/api/overview/)
|
||||
- [ ] Web UI
|
||||
- [ ] GUI/WebUI
|
||||
|
||||
## 概览
|
||||
|
||||
@ -81,7 +81,11 @@ docker run --rm gogost/gost -V
|
||||
|
||||
## 工具
|
||||
|
||||
### WebUI(非官方)
|
||||
### GUI
|
||||
|
||||
[go-gost/gostctl](https://github.com/go-gost/gostctl)
|
||||
|
||||
### WebUI
|
||||
|
||||
[cnwhy/gost-ui](https://github.com/cnwhy/gost-ui)
|
||||
|
||||
|
@ -81,7 +81,11 @@ docker run --rm gogost/gost -V
|
||||
|
||||
## Tools
|
||||
|
||||
### WebUI (Unofficial)
|
||||
### GUI
|
||||
|
||||
[go-gost/gostctl](https://github.com/go-gost/gostctl)
|
||||
|
||||
### WebUI
|
||||
|
||||
[cnwhy/gost-ui](https://github.com/cnwhy/gost-ui)
|
||||
|
||||
|
@ -32,34 +32,26 @@ func buildService(cfg *config.Config) (services []service.Service) {
|
||||
log := logger.Default()
|
||||
|
||||
for _, loggerCfg := range cfg.Loggers {
|
||||
if lg := logger_parser.ParseLogger(loggerCfg); lg != nil {
|
||||
if err := registry.LoggerRegistry().Register(loggerCfg.Name, lg); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.LoggerRegistry().Register(loggerCfg.Name, logger_parser.ParseLogger(loggerCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, autherCfg := range cfg.Authers {
|
||||
if auther := auth_parser.ParseAuther(autherCfg); auther != nil {
|
||||
if err := registry.AutherRegistry().Register(autherCfg.Name, auther); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.AutherRegistry().Register(autherCfg.Name, auth_parser.ParseAuther(autherCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, admissionCfg := range cfg.Admissions {
|
||||
if adm := admission_parser.ParseAdmission(admissionCfg); adm != nil {
|
||||
if err := registry.AdmissionRegistry().Register(admissionCfg.Name, adm); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.AdmissionRegistry().Register(admissionCfg.Name, admission_parser.ParseAdmission(admissionCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, bypassCfg := range cfg.Bypasses {
|
||||
if bp := bypass_parser.ParseBypass(bypassCfg); bp != nil {
|
||||
if err := registry.BypassRegistry().Register(bypassCfg.Name, bp); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.BypassRegistry().Register(bypassCfg.Name, bypass_parser.ParseBypass(bypassCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
@ -68,79 +60,59 @@ func buildService(cfg *config.Config) (services []service.Service) {
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if r != nil {
|
||||
if err := registry.ResolverRegistry().Register(resolverCfg.Name, r); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.ResolverRegistry().Register(resolverCfg.Name, r); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, hostsCfg := range cfg.Hosts {
|
||||
if h := hosts_parser.ParseHostMapper(hostsCfg); h != nil {
|
||||
if err := registry.HostsRegistry().Register(hostsCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.HostsRegistry().Register(hostsCfg.Name, hosts_parser.ParseHostMapper(hostsCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, ingressCfg := range cfg.Ingresses {
|
||||
if h := ingress_parser.ParseIngress(ingressCfg); h != nil {
|
||||
if err := registry.IngressRegistry().Register(ingressCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.IngressRegistry().Register(ingressCfg.Name, ingress_parser.ParseIngress(ingressCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, routerCfg := range cfg.Routers {
|
||||
if h := router_parser.ParseRouter(routerCfg); h != nil {
|
||||
if err := registry.RouterRegistry().Register(routerCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.RouterRegistry().Register(routerCfg.Name, router_parser.ParseRouter(routerCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, sdCfg := range cfg.SDs {
|
||||
if h := sd_parser.ParseSD(sdCfg); h != nil {
|
||||
if err := registry.SDRegistry().Register(sdCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.SDRegistry().Register(sdCfg.Name, sd_parser.ParseSD(sdCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, observerCfg := range cfg.Observers {
|
||||
if h := observer_parser.ParseObserver(observerCfg); h != nil {
|
||||
if err := registry.ObserverRegistry().Register(observerCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.ObserverRegistry().Register(observerCfg.Name, observer_parser.ParseObserver(observerCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
for _, recorderCfg := range cfg.Recorders {
|
||||
if h := recorder_parser.ParseRecorder(recorderCfg); h != nil {
|
||||
if err := registry.RecorderRegistry().Register(recorderCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.RecorderRegistry().Register(recorderCfg.Name, recorder_parser.ParseRecorder(recorderCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for _, limiterCfg := range cfg.Limiters {
|
||||
if h := limiter_parser.ParseTrafficLimiter(limiterCfg); h != nil {
|
||||
if err := registry.TrafficLimiterRegistry().Register(limiterCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.TrafficLimiterRegistry().Register(limiterCfg.Name, limiter_parser.ParseTrafficLimiter(limiterCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
for _, limiterCfg := range cfg.CLimiters {
|
||||
if h := limiter_parser.ParseConnLimiter(limiterCfg); h != nil {
|
||||
if err := registry.ConnLimiterRegistry().Register(limiterCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.ConnLimiterRegistry().Register(limiterCfg.Name, limiter_parser.ParseConnLimiter(limiterCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
for _, limiterCfg := range cfg.RLimiters {
|
||||
if h := limiter_parser.ParseRateLimiter(limiterCfg); h != nil {
|
||||
if err := registry.RateLimiterRegistry().Register(limiterCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.RateLimiterRegistry().Register(limiterCfg.Name, limiter_parser.ParseRateLimiter(limiterCfg)); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
for _, hopCfg := range cfg.Hops {
|
||||
@ -148,10 +120,8 @@ func buildService(cfg *config.Config) (services []service.Service) {
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if hop != nil {
|
||||
if err := registry.HopRegistry().Register(hopCfg.Name, hop); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.HopRegistry().Register(hopCfg.Name, hop); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
for _, chainCfg := range cfg.Chains {
|
||||
@ -159,10 +129,8 @@ func buildService(cfg *config.Config) (services []service.Service) {
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if c != nil {
|
||||
if err := registry.ChainRegistry().Register(chainCfg.Name, c); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := registry.ChainRegistry().Register(chainCfg.Name, c); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
|
2
go.mod
2
go.mod
@ -6,7 +6,7 @@ toolchain go1.22.2
|
||||
|
||||
require (
|
||||
github.com/go-gost/core v0.0.0-20240508132029-8d554ddcf77c
|
||||
github.com/go-gost/x v0.0.0-20240508132615-754b2fdeacd4
|
||||
github.com/go-gost/x v0.0.0-20240607125747-ce60160cd78b
|
||||
github.com/judwhite/go-svc v1.2.1
|
||||
)
|
||||
|
||||
|
8
go.sum
8
go.sum
@ -53,8 +53,6 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
|
||||
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
|
||||
github.com/go-gost/core v0.0.0-20240424153155-5d6c2115fa15 h1:X7rvyLzslfgA+A7VKlUr//l798na8ZywuFyGcGfDUl8=
|
||||
github.com/go-gost/core v0.0.0-20240424153155-5d6c2115fa15/go.mod h1:j08tDHkFzk7dfOeLhl3RWsASdf9YWWRfWBUQqbQvx3A=
|
||||
github.com/go-gost/core v0.0.0-20240508132029-8d554ddcf77c h1:1ahtn+3bQB50at5ubWDOrA4yja8vWpWNrGSRaCztNWg=
|
||||
github.com/go-gost/core v0.0.0-20240508132029-8d554ddcf77c/go.mod h1:j08tDHkFzk7dfOeLhl3RWsASdf9YWWRfWBUQqbQvx3A=
|
||||
github.com/go-gost/gosocks4 v0.0.1 h1:+k1sec8HlELuQV7rWftIkmy8UijzUt2I6t+iMPlGB2s=
|
||||
@ -67,10 +65,8 @@ github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c=
|
||||
github.com/go-gost/relay v0.5.0/go.mod h1:lcX+23LCQ3khIeASBo+tJ/WbwXFO32/N5YN6ucuYTG8=
|
||||
github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451 h1:xj8gUZGYO3nb5+6Bjw9+tsFkA9sYynrOvDvvC4uDV2I=
|
||||
github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451/go.mod h1:/9QfdewqmHdaE362Hv5nDaSWLx3pCmtD870d6GaquXs=
|
||||
github.com/go-gost/x v0.0.0-20240426125656-332a3a1cd09f h1:L8Bj0PkvP1INong0K/0CLPB01fCspyPaS/1QB28yCZc=
|
||||
github.com/go-gost/x v0.0.0-20240426125656-332a3a1cd09f/go.mod h1:4n4ge2x0JVzyJQX0oim2e3T+CNDY6k82XCUIAfFgs4s=
|
||||
github.com/go-gost/x v0.0.0-20240508132615-754b2fdeacd4 h1:gTMdNotqegfi46XDrfCJLh0ifIbzYjpnRfojdJHSw68=
|
||||
github.com/go-gost/x v0.0.0-20240508132615-754b2fdeacd4/go.mod h1:8A0ew3migxwXqkOZPKypVGd/W/lwy+/PMpC9qktkbKk=
|
||||
github.com/go-gost/x v0.0.0-20240607125747-ce60160cd78b h1:yTeX7tkFfBleyQMzOAYsP/SKHVtvf8f98VGv0H4iox0=
|
||||
github.com/go-gost/x v0.0.0-20240607125747-ce60160cd78b/go.mod h1:8A0ew3migxwXqkOZPKypVGd/W/lwy+/PMpC9qktkbKk=
|
||||
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
|
||||
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
||||
|
Loading…
Reference in New Issue
Block a user