Skip to content

v0.2.4 — built-in geo recognition + node diagnostics

Latest

Choose a tag to compare

@Kingson4Wu Kingson4Wu released this 17 Jun 12:09
· 23 commits to main since this release
93ad668

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); --probe adds the exit operator/country (retried, switches+restores the node, warns under TUN), plus a name/entry/exit consistency NOTE (中转 NL→AE, 名实相符).
  • Interactive init priority 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_priority are auto-translated, so existing configs keep loading.
  • CodeQL advanced setup (tests excluded from analysis).

Fixed

  • .gitignore now ignores config.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