From cc1355d7e97f0130e1456a620ded7c4a5262467d Mon Sep 17 00:00:00 2001 From: Meo597 <197331664+Meo597@users.noreply.github.com> Date: Thu, 5 Nov 2026 06:48:17 +0800 Subject: [PATCH] auto gz --- infra/conf/geodata.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/infra/conf/geodata.go b/infra/conf/geodata.go index 20e7520a2..64390914e 100644 --- a/infra/conf/geodata.go +++ b/infra/conf/geodata.go @@ -2,6 +2,7 @@ package conf import ( "net/url" + "strings" "github.com/robfig/cron/v3" "github.com/xtls/xray-core/app/geodata" @@ -19,11 +20,19 @@ func (c *GeodataAssetConfig) Build() (*geodata.Asset, error) { return nil, errors.New("invalid geodata asset url: ", c.URL).Base(err) } return &geodata.Asset{ - Url: c.URL, + Url: migrateGeodataURL(c.URL), File: c.File, }, nil } +func migrateGeodataURL(assetURL string) string { + if strings.HasSuffix(assetURL, ".dat") && (strings.HasPrefix(strings.ToLower(assetURL), "https://raw.githubusercontent.com/xtls/xray-rules-dat/") || strings.HasPrefix(strings.ToLower(assetURL), "https://github.com/xtls/xray-rules-dat/")) { + errors.PrintDeprecatedFeatureWarning(assetURL, assetURL+".gz") + return assetURL + ".gz" + } + return assetURL +} + func validateHTTPS(s string) error { u, err := url.ParseRequestURI(s) if err != nil {