From ec148f036d95c3681a70cf06526578ee7715302a Mon Sep 17 00:00:00 2001 From: yusing Date: Tue, 4 Feb 2025 03:26:54 +0800 Subject: [PATCH] treat fileserver as http route --- internal/route/provider/stats.go | 24 ++++++++++------------- internal/route/route.go | 7 +++---- internal/route/routes/routequery/query.go | 4 ++-- internal/route/types/route_type.go | 5 ++--- 4 files changed, 17 insertions(+), 23 deletions(-) diff --git a/internal/route/provider/stats.go b/internal/route/provider/stats.go index 6105f7f..ebc2b57 100644 --- a/internal/route/provider/stats.go +++ b/internal/route/provider/stats.go @@ -17,11 +17,10 @@ type ( NumUnknown uint16 `json:"unknown"` } ProviderStats struct { - Total uint16 `json:"total"` - RPs RouteStats `json:"reverse_proxies"` - FileServers RouteStats `json:"file_servers"` - Streams RouteStats `json:"streams"` - Type types.ProviderType `json:"type"` + Total uint16 `json:"total"` + RPs RouteStats `json:"reverse_proxies"` + Streams RouteStats `json:"streams"` + Type types.ProviderType `json:"type"` } ) @@ -56,22 +55,19 @@ func (stats *RouteStats) AddOther(other RouteStats) { } func (p *Provider) Statistics() ProviderStats { - var rps, fileServers, streams RouteStats + var rps, streams RouteStats for _, r := range p.routes { switch r.Type() { - case route.RouteTypeReverseProxy: + case route.RouteTypeHTTP: rps.Add(r) case route.RouteTypeStream: streams.Add(r) - default: - fileServers.Add(r) } } return ProviderStats{ - Total: rps.Total + streams.Total, - RPs: rps, - FileServers: fileServers, - Streams: streams, - Type: p.t, + Total: rps.Total + streams.Total, + RPs: rps, + Streams: streams, + Type: p.t, } } diff --git a/internal/route/route.go b/internal/route/route.go index d97ccee..ec46168 100644 --- a/internal/route/route.go +++ b/internal/route/route.go @@ -140,13 +140,12 @@ func (r *Route) TargetURL() *net.URL { func (r *Route) Type() types.RouteType { switch r.Scheme { - case types.SchemeHTTP, types.SchemeHTTPS: - return types.RouteTypeReverseProxy + case types.SchemeHTTP, types.SchemeHTTPS, types.SchemeFileServer: + return types.RouteTypeHTTP case types.SchemeTCP, types.SchemeUDP: return types.RouteTypeStream - default: - return types.RouteTypeFileServer } + panic(fmt.Errorf("unexpected scheme %s for alias %s", r.Scheme, r.Alias)) } func (r *Route) HealthMonitor() health.HealthMonitor { diff --git a/internal/route/routes/routequery/query.go b/internal/route/routes/routequery/query.go index 4d5694d..33a2070 100644 --- a/internal/route/routes/routequery/query.go +++ b/internal/route/routes/routequery/query.go @@ -147,11 +147,11 @@ func HomepageConfig(useDefaultCategories bool, categoryFilter, providerFilter st func RoutesByAlias(typeFilter ...route.RouteType) map[string]route.Route { rts := make(map[string]route.Route) if len(typeFilter) == 0 || typeFilter[0] == "" { - typeFilter = []route.RouteType{route.RouteTypeReverseProxy, route.RouteTypeStream} + typeFilter = []route.RouteType{route.RouteTypeHTTP, route.RouteTypeStream} } for _, t := range typeFilter { switch t { - case route.RouteTypeReverseProxy: + case route.RouteTypeHTTP: routes.GetHTTPRoutes().RangeAll(func(alias string, r route.HTTPRoute) { rts[alias] = r }) diff --git a/internal/route/types/route_type.go b/internal/route/types/route_type.go index 5ae919f..6d13d17 100644 --- a/internal/route/types/route_type.go +++ b/internal/route/types/route_type.go @@ -3,7 +3,6 @@ package types type RouteType string const ( - RouteTypeStream RouteType = "stream" - RouteTypeReverseProxy RouteType = "reverse_proxy" - RouteTypeFileServer RouteType = "file_server" + RouteTypeStream RouteType = "stream" + RouteTypeHTTP RouteType = "http" )