feat(ipinfo): support GeoIP (#26)

Co-authored-by: E99p1ant <[email protected]>
This commit is contained in:
Li4n0
2021-06-12 22:04:45 +08:00
committed by GitHub
co-authored by E99p1ant
parent d1013c2416
commit dc43b6973a
20 changed files with 284 additions and 77 deletions
+27
View File
@@ -0,0 +1,27 @@
package ipinfo
import (
"github.com/li4n0/revsuit/internal/ipinfo/geoip"
"github.com/li4n0/revsuit/internal/ipinfo/qqwry"
log "unknwon.dev/clog/v2"
)
var db Database
func Area(ip string) string {
if db != nil {
return db.Area(ip)
}
return ""
}
func Init(config Config) {
switch config.Database {
case "qqwry":
db = qqwry.New()
case "geoip":
db = geoip.New(config.GeoLicenseKey)
default:
log.Fatal("wrong ip location database type: %q", config.Database)
}
}