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:
MHSanaei
2026-06-10 18:27:12 +02:00
parent 4002be4ade
commit 3092326d9e
43 changed files with 416 additions and 2875 deletions
+9 -3
View File
@@ -5,7 +5,7 @@ import { ReloadOutlined } from '@ant-design/icons';
import { HttpUtil } from '@/utils';
import type { Status } from '@/models/status';
import CustomGeoSection from './CustomGeoSection';
import GeodataSection from './GeodataSection';
import './VersionModal.css';
interface BusyEvent {
@@ -161,8 +161,14 @@ export default function VersionModal({ open, status, onClose, onBusy }: VersionM
},
{
key: '3',
label: t('pages.index.customGeoTitle'),
children: <CustomGeoSection active={activeKeyStr === '3'} />,
label: t('pages.index.geodataTitle'),
children: (
<GeodataSection
active={activeKeyStr === '3'}
onBusy={onBusy}
onClose={onClose}
/>
),
},
]}
/>