Răsfoiți Sursa

add type len

zu1k 5 ani în urmă
părinte
comite
9f6ae0cb9b
5 a modificat fișierele cu 28 adăugiri și 1 ștergeri
  1. 4 0
      api/router.go
  2. 4 0
      assets/html/index.html
  3. 4 0
      internal/app/task.go
  4. 6 1
      internal/cache/vars.go
  5. 10 0
      pkg/proxy/proxies.go

+ 4 - 0
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,
 		})
 	})

+ 4 - 0
assets/html/index.html

@@ -108,6 +108,10 @@
         <div class='article'>
             <p>自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess节点信息,聚合去重后提供节点列表,每15分钟更新</p>
             <p>汇总节点数量:{{ .all_proxies_count }}</p>
+            <p>ss节点数量:{{ .ss_proxies_count }}</p>
+            <p>ssr节点数量:{{ .ssr_proxies_count }}</p>
+            <p>vmess节点数量:{{ .vmess_proxies_count }}</p>
+            <p>trojan节点数量:{{ .trojan_proxies_count }}</p>
             <p>可用节点数量:{{ .useful_proxies_count }}</p>
             <br>
             <h5><a href="/clash">Clash</a></h5>

+ 4 - 0
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)

+ 6 - 1
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
 )

+ 10 - 0
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
 }