From 9f6ae0cb9bf4e61612ea8b5b2f2c5aee263c25c8 Mon Sep 17 00:00:00 2001 From: zu1k Date: Fri, 21 Aug 2020 09:53:08 +0800 Subject: [PATCH] add type len --- api/router.go | 4 ++++ assets/html/index.html | 4 ++++ internal/app/task.go | 4 ++++ internal/cache/vars.go | 7 ++++++- pkg/proxy/proxies.go | 10 ++++++++++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/api/router.go b/api/router.go index b1c69e1..7c20a11 100644 --- a/api/router.go +++ b/api/router.go @@ -26,6 +26,10 @@ func setupRouter() { c.HTML(http.StatusOK, "index.html", gin.H{ "domain": domain, "all_proxies_count": cache.AllProxiesCount, + "ss_proxies_count": cache.SSProxiesCount, + "ssr_proxies_count": cache.SSRProxiesCount, + "vmess_proxies_count": cache.VmessProxiesCount, + "trojan_proxies_count": cache.TrojanProxiesCount, "useful_proxies_count": cache.UsefullProxiesCount, }) }) diff --git a/assets/html/index.html b/assets/html/index.html index e9aa78f..987b9ab 100644 --- a/assets/html/index.html +++ b/assets/html/index.html @@ -108,6 +108,10 @@

自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess节点信息,聚合去重后提供节点列表,每15分钟更新

汇总节点数量:{{ .all_proxies_count }}

+

ss节点数量:{{ .ss_proxies_count }}

+

ssr节点数量:{{ .ssr_proxies_count }}

+

vmess节点数量:{{ .vmess_proxies_count }}

+

trojan节点数量:{{ .trojan_proxies_count }}

可用节点数量:{{ .useful_proxies_count }}


Clash
diff --git a/internal/app/task.go b/internal/app/task.go index ffbc4a6..c23c4c4 100644 --- a/internal/app/task.go +++ b/internal/app/task.go @@ -41,6 +41,10 @@ func CrawlGo() { proxies.NameAddCounrty().Sort().NameAddIndex() cache.SetProxies("allproxies", proxies) cache.AllProxiesCount = proxies.Len() + cache.SSProxiesCount = proxies.TypeLen("ss") + cache.SSRProxiesCount = proxies.TypeLen("ssr") + cache.VmessProxiesCount = proxies.TypeLen("vmess") + cache.TrojanProxiesCount = proxies.TypeLen("trojan") // 可用性检测 proxies = proxy.CleanBadProxies(proxies) diff --git a/internal/cache/vars.go b/internal/cache/vars.go index 01aeece..9d6d453 100644 --- a/internal/cache/vars.go +++ b/internal/cache/vars.go @@ -1,6 +1,11 @@ package cache var ( - AllProxiesCount = 0 + AllProxiesCount = 0 + SSRProxiesCount = 0 + SSProxiesCount = 0 + VmessProxiesCount = 0 + TrojanProxiesCount = 0 + UsefullProxiesCount = 0 ) diff --git a/pkg/proxy/proxies.go b/pkg/proxy/proxies.go index 34f0d27..ac57dca 100644 --- a/pkg/proxy/proxies.go +++ b/pkg/proxy/proxies.go @@ -11,6 +11,16 @@ func (ps ProxyList) Len() int { return len(ps) } +func (ps ProxyList) TypeLen(t string) int { + l := 0 + for _, p := range ps { + if p.TypeName() == t { + l++ + } + } + return l +} + func (ps ProxyList) Less(i, j int) bool { return ps[i].BaseInfo().Name < ps[j].BaseInfo().Name }