1
0
Эх сурвалжийг харах

fetch proxies from db every task & bump version

zu1k 5 жил өмнө
parent
commit
679c6fa0d4

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