From 7466916e0206d55826d74f37c251bb5e40182c00 Mon Sep 17 00:00:00 2001 From: Vladislav Tupikin Date: Sun, 19 Apr 2026 22:24:24 +0300 Subject: Add custom geosite/geoip URL sources (#3980) * feat: add custom geosite/geoip URL sources Register DB model, panel API, index/xray UI, and i18n. * fix --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index f00a2fb0..5b7c03f9 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,14 @@ As an enhanced fork of the original X-UI project, 3X-UI provides improved stability, broader protocol support, and additional features. +## Custom GeoSite / GeoIP DAT sources + +Administrators can add custom GeoSite and GeoIP `.dat` files from URLs in the panel (same workflow as updating built-in geofiles). Files are stored under the same directory as the Xray binary (`XUI_BIN_FOLDER`, default `bin/`) with deterministic names: `geosite_<alias>.dat` and `geoip_<alias>.dat`. + +**Routing:** Xray resolves extra lists using the `ext:` form, for example `ext:geosite_myalias.dat:tag` or `ext:geoip_myalias.dat:tag`, where `tag` is a list name inside that DAT file (same pattern as built-in regional files such as `ext:geoip_IR.dat:ir`). + +**Reserved aliases:** Only for deciding whether a name is reserved, the panel compares a normalized form of the alias (`strings.ToLower`, `-` → `_`). User-entered aliases and generated file names are not rewritten in the database; they must still match `^[a-z0-9_-]+$`. For example, `geoip-ir` and `geoip_ir` collide with the same reserved entry. + ## Quick Start ```bash -- cgit v1.2.3