瀏覽代碼

fetch proxies from db every task & bump version

zu1k 5 年之前
父節點
當前提交
679c6fa0d4
共有 3 個文件被更改,包括 20 次插入1 次删除
  1. 1 1
      api/router.go
  2. 1 0
      internal/app/task.go
  3. 18 0
      internal/database/proxy.go

+ 1 - 1
api/router.go

@@ -14,7 +14,7 @@ import (
 	"github.com/zu1k/proxypool/pkg/provider"
 )
 
-const version = "v0.3.6"
+const version = "v0.3.7"
 
 var router *gin.Engine
 

+ 1 - 0
internal/app/task.go

@@ -21,6 +21,7 @@ func CrawlGo() {
 		go g.Get2Chan(pc, wg)
 	}
 	proxies := cache.GetProxies("allproxies")
+	proxies = append(proxies, database.GetAllProxies()...)
 	go func() {
 		wg.Wait()
 		close(pc)

+ 18 - 0
internal/database/proxy.go

@@ -1,6 +1,7 @@
 package database
 
 import (
+	"github.com/zu1k/proxypool/pkg/getter"
 	"github.com/zu1k/proxypool/pkg/proxy"
 	"gorm.io/gorm"
 )
@@ -48,3 +49,20 @@ func SaveProxyList(pl proxy.ProxyList) {
 		DB.Create(&proxies)
 	}
 }
+
+func GetAllProxies() (proxies proxy.ProxyList) {
+	proxies = make(proxy.ProxyList, 0)
+	if DB == nil {
+		return
+	}
+
+	proxiesDB := make([]Proxy, 0)
+	DB.Select("link").Find(&proxiesDB)
+
+	for _, proxyDB := range proxiesDB {
+		if proxiesDB != nil {
+			proxies = append(proxies, getter.String2Proxy(proxyDB.Link))
+		}
+	}
+	return
+}