Commit Graph

252 Commits

Author SHA1 Message Date
ezequielnick
348db6baa0 chore: bump version 2026-09-09 12:17:51 +08:00
ezequielnick
a092eb50c3 feat(plugin): CPX v2 availability hardening (squash of cpx-v2-availability-hardening)
Client-side hardening of the CPX airport plugin, squashed from 46 commits
forked at 89c2bb0e. Behaviour changes:

- Unified operation model (§0.4/0.5): one deadline + one AbortSignal + one
  persistence commit per operation; per-plugin lock → vault lock hierarchy;
  tombstone on delete; every wait (lock, DNS preflight, proxy resolution,
  vault decrypt) is bounded by the same budget.
- Routing: direct/proxy auto-fallback with a pre-send guard; proxied https
  builds its own CONNECT tunnel (an aborted hung CONNECT closes its socket);
  invalid local-proxy ports are refused instead of falling back to :80; the
  core's inbound credentials are carried to the local proxy; NAT64 and
  site-local IPv6 ranges are non-public.
- Gateways: multi-gateway recovery with one rediscovery per operation,
  normalized endpoint paths, signed discovery documents (Ed25519, seq/digest
  accept/align/rollback/equivocation), commit order vault → plugin.yaml.
- Subscriptions: a fetched subscription is validated by the core (mihomo -t)
  against the current override set before it replaces the profile, inside
  the profile write critical section (profile.yaml and override.yaml share
  one write queue); schedule fields are read at write time; the first
  subscription is activated through the real switch flow; profile deletion
  removes the record last so any failure stays retryable.
- Devices: a re-login that replaces a still-valid device records it in the
  vault (staleDevices) and retires it after the login, after later
  successful fetches and on removal; enroll compensation restores the old
  vault and keeps an un-revoked new device for retirement.
- Vault: on Linux the vault is persisted only behind a system secret store
  (backend name + ciphertext-prefix canary); otherwise it stays in memory.
  A cache-miss read releases the caller at the budget while the lock is held
  until the decrypt ends.
- Config caches (plugin.yaml, profile.yaml, override.yaml) can no longer be
  rolled back by a late cold read.
- Reference gateway and provider guides updated (deploy contract, discoveryUrls
  same-origin rule, /revoke after re-login); https-proxy-agent dropped.

Reviewed in a Codex loop (gpt-6, 38 calls): 74 findings, 68 fixed and
verified, 6 invalid, no backlog. Tests: vitest 501, gateway 106.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 22:44:13 +08:00
Memory
0f26f22987 chore: update electron 2026-09-03 21:40:48 +08:00
Memory
cf13cb9d28 fix Windows ARM64 NSIS installer 2026-08-15 13:00:53 +08:00
Memory2314
ec8bfc542a chore: bump version 2026-08-14 22:55:28 +08:00
Memory
48c703a354 revert: downgrade Electron to 43.2.0 2026-08-14 22:46:43 +08:00
Memory
356f9817f0 chore: bump version 2026-08-11 20:34:07 +08:00
Memory
043ab2def0 chore: update dependencies and migrate to pnpm 11 2026-08-11 20:26:34 +08:00
ezequielnick
b06667c6d7 fix: improve plugin vault keychain handling 2026-07-17 03:23:00 +08:00
Memory
becad752f6 feat: add pacman package support for linux 2026-07-07 21:29:01 +08:00
ezequielnick
53eb7e5c31 chore: bump version 2026-07-06 02:18:11 +08:00
ezequielnick
0c891030df feat: airport plugin 2026-07-01 08:46:41 +08:00
Memory
02896c6de1 chore: update dependencies and changelog
* update depends

* update changelog
2026-06-21 21:25:17 +08:00
zjdndjf
807495749a feat: support age encrypted profiles 2026-06-14 02:55:32 +08:00
ezequielnick
c82e7a4f6f chore: update log & bump version 2026-05-20 13:24:59 +08:00
Memory2314
1cda8e310c update depends 2026-05-11 20:44:51 +08:00
ezequielnick
4f38b77d04 chore: bump version to 1.9.5 2026-04-29 12:00:09 +08:00
Memory
82436d2fbf chore: upgrade electron to 41 and fix black screen on startup 2026-04-26 12:41:00 +08:00
Memory
619a143369 feat: add QR code modal for remote profile subscription URL 2026-04-19 23:11:25 +08:00
zjdndjf
1c4e048880 chore: add pre-commit checks for format lint and typecheck 2026-04-07 03:38:51 +08:00
Memory
0f1cd352db feat: port network topology visualization to network page 2026-04-03 17:25:46 +08:00
Memory
f58f780275 fix: revert pnpm to 10.27.0 to fix wrappy missing in asar bundle 2026-03-30 08:35:43 +08:00
Memory2314
f959801db2 Bump to 1.9.4 2026-03-29 23:41:53 +08:00
Memory2314
8530cdefcc pnpm update 2026-03-29 23:41:53 +08:00
Memory2314
c57741fcc5 Bump to 1.9.3 2026-03-22 12:50:41 +08:00
Memory2314
25a3bbe557 update depends 2026-03-22 12:50:41 +08:00
Memory
85f9e4755a feat: add network info page & card with IP display, auto-merge missing sider order entries 2026-03-22 11:35:14 +08:00
Memory2314
9568586f90 Bump to 1.9.2 2026-02-25 19:54:50 +08:00
Memory2314
8d827d40b7 update depends 2026-02-25 19:54:50 +08:00
Baoshuo
56880867f3 chore: update link to docs 2026-02-10 22:55:52 +08:00
Memory
1c17cfb683 refactor: external controller & rule editor
* update external controller labels for clarity

* add generate and toggle visibility for external controller secret

* add validation for external controller and rule payloads

* enhance rule payload validation UI with prominent error styling
2026-02-02 12:46:41 +08:00
Memory
e9c72ce448 feat: show app icons in connections page 2026-01-25 14:59:48 +08:00
xmk23333
c7190a311e chore: bump version to 1.9.1 2026-01-16 00:46:37 +08:00
xmk23333
1d053fe636 chore: add type module and fix preload script output format 2026-01-15 19:22:53 +08:00
Memory
e6548a0bc3 fix: update sysproxy-rs path in package.json and pnpm-lock.yaml 2026-01-09 19:56:36 +08:00
xmk23333
e70ca694b9 fix: resolve eslint errors and enhance code review rules 2026-01-08 12:29:10 +08:00
xmk23333
b42287d104 chore: optimize sysproxy-rs with error handling and smaller binary 2026-01-07 14:02:21 +08:00
xmk23333
5d10c45206 refactor: replace @mihomo-party/sysproxy with local sysproxy-rs 2026-01-06 02:22:33 +08:00
xmk23333
923bd8d7ee fix: lock electron and electron-vite versions to prevent breaking upgrades 2026-01-01 11:51:58 +08:00
Memory
3f1d1f84a1 update depends 2025-12-31 22:22:07 +08:00
Memory
5eced51979 Bump to 1.9.0 2025-12-31 20:33:57 +08:00
xmk23333
a4ab3cb448 ci: upgrade github actions to latest versions 2025-12-28 19:36:17 +08:00
xmk23333
38d9e8b81b chore: upgrade all dependencies 2025-12-28 18:02:28 +08:00
xmk23333
a159974142 refactor: improve preload security with IPC channel whitelist and fix dependencies 2025-12-28 12:45:07 +08:00
Memory
fb33f37652 feat: Data Colletct File Size
* add @mihomo-party/sysproxy

* feat: Data Colletct File Size

* update changelog
2025-11-17 22:54:17 +08:00
Memory2314
70dcf5e598 update depends 2025-11-16 13:13:14 +08:00
Memory
96552778e6 chore: update depends & add missing translation
* update depends

* add missing translation
2025-10-22 12:38:09 +08:00
ezequielnick
67d378f3f3 chore: bump to v1.8.9 2025-10-17 21:46:27 +08:00
Memory
bd49f1884a fix: Electron uninstall 2025-09-20 22:21:51 +08:00
Memory
29a8904e03 update depends 2025-09-12 12:59:23 +08:00