mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-09-04 09:27:15 +00:00
refactor: replace custom geo manager with Xray-core native geodata auto-update
Remove the panel-side custom geo download feature (service, controller, /panel/api/custom-geo/* endpoints, CustomGeoResource model, UI tab) in favor of Xray-core's native geodata section (https://xtls.github.io/config/geodata.html). - pass the top-level "geodata" key through xray.Config so it survives the template round-trip into the generated config - add a Geodata Auto-Update section to the Xray Updates modal that edits geodata (cron schedule, download outbound, asset list) in the config template and restarts Xray on save - previously downloaded geo files in the bin folder keep working in ext: routing rules; the orphaned custom_geo_resources table is left in place so existing source URLs stay recoverable
This commit is contained in:
@@ -23,6 +23,7 @@ type Config struct {
|
||||
Observatory json_util.RawMessage `json:"observatory,omitempty"`
|
||||
BurstObservatory json_util.RawMessage `json:"burstObservatory,omitempty"`
|
||||
Metrics json_util.RawMessage `json:"metrics"`
|
||||
Geodata json_util.RawMessage `json:"geodata,omitempty"`
|
||||
}
|
||||
|
||||
// Equals compares two Config instances for deep equality.
|
||||
@@ -68,5 +69,8 @@ func (c *Config) Equals(other *Config) bool {
|
||||
if !bytes.Equal(c.Metrics, other.Metrics) {
|
||||
return false
|
||||
}
|
||||
if !bytes.Equal(c.Geodata, other.Geodata) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user