Egress probe results (IP/country/region/city/isp) were cached using the
fetcher's cache_ttl (300s / 5min). After 5 minutes the cache expired and
the node list showed empty Egress IP/Country/Region fields again.
Add a dedicated egress_cache_ttl config (default 24h) so egress data
persists long enough to be useful when re-expanding the node list.
Add _sourceAlias and _previewId to the skip list in egressCacheKey so
that nodes from source preview (with _sourceAlias) and collection
preview (without _sourceAlias, after rename) produce the same cache
key. This ensures egress info cached during source-level probe is
visible when expanding collection cards.
mihomo (Clash Meta) natively supports xhttp and all Clash transports.
Build minimal mihomo YAML config directly from the proxy node instead
of converting to sing-box JSON format.
- Add MaxMind GeoLite2-City mmdb auto-download and IP-based geo lookup
(covers all 249 countries globally, replacing limited 8-country regex)
- Add RenameOptions with 5 toggleable fields (flag/alias/country/city/index)
stored as rename_options_json on collections
- Collection rename pipeline uses DetectGeoWithServer(name, server) which
tries GeoIP lookup first, falls back to name-based regex matching
- Chinese country/city names + emoji flag prefix
- Country-city dedup: skip city when it equals country (e.g. 香港/香港)
- URI fragment encoding: url.QueryEscape -> url.PathEscape (%20 not +)
- Egress cache key excludes name field so renamed nodes still match cache
- Frontend: 5 toggle buttons in collection edit form, default all on
- Migrations: 0004 (source alias + collection rename_enabled),
0005 (collection rename_options_json)