Repository navigation
Nodes are now recognized by a built-in country/city catalog (no per-user region config), switching is a country→city two-level hierarchy, and a new nodes command surfaces each node's region, entry operator, and (probed) exit.
Added
- Built-in geo catalog — ~60 countries + major cities, each with ISO code / English / 简 / 繁; the flag emoji is derived from the ISO code. Names like
SG01,日本节点01,🇦🇪|阿联酋resolve out of the box; you no longer write region regexes. net-auto-switch nodes— lists each node's recognized region and entry operator/country (whois on the server);--probeadds the exit operator/country (retried, switches+restores the node, warns under TUN), plus a name/entry/exit consistency NOTE (中转 NL→AE,名实相符).- Interactive
initpriority wizard — a numbered, count-sorted menu of the countries detected in your subscription; type indices to set country order, with a per-country city menu when cities are detected. Stdlib only, no new dependencies.
Changed
- Country→city two-level switching with an engine-derived, country-contiguous downgrade chain; the four selection invariants are unchanged and grouping is fully offline (the exit probe left the switching path). See ADR-0017.
- Config surface:
clash.priority(ordered country codes) + optional[clash.cities]; legacy[clash.patterns]/[clash.regions]/group_priorityare auto-translated, so existing configs keep loading. - CodeQL advanced setup (tests excluded from analysis).
Fixed
.gitignorenow ignoresconfig.toml.bak(it carries the Clash secret).
Install / update:
curl -fsSL https://raw.githubusercontent.com/OctopusGarage/net-auto-switch/main/install.sh | bash
Full Changelog: v0.2.3...v0.2.4