Commit Graph
357 Commits
Author SHA1 Message Date
風雪 6b3a09a09c update
update
update
update
update
update
update
update
update
update
update
update
2026-08-19 12:49:36 +08:00
風雪 629363f152 fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
fix(ui): bugfixes for variants — security options, users parse, login redirect
- Remove antd dependency from useIsMobile
- Protocol-aware Reality options + clamp on protocol change
- parseUsersList for shadow-tls/jls text fields
- Reality short-id/server-names asStringList; Reality protocol guard
- CapabilityFormFields for Mantine/shadcn; login must_change_password
2026-08-19 02:03:04 +00:00
風雪 a88c1200f7 feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
feat(ui): align MUI/Mantine/shadcn editions with Ant Design
- Shared API, i18n, stores, listenerConfig + capabilityForm + form schema
- Full routes and pages for all three editions
- Listeners: protocol form, Access Profile, templates, clone, versions, batch
- Users: bind nodes, subscription, reset traffic
2026-08-19 01:05:16 +00:00
風雪 fc00113ea5 fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
fix(vless): pair encryption/decryption correctly for TCP Vision
- Stop copying server decryption into client encryption
- Store both fields; strip encryption (client-only) from server Compile
- Form + capability + schema support encryption for subscription export
- Tests for export and compile stripping
2026-08-18 14:00:26 +00:00
風雪 ee7807e8f2 chore(ui): update shadcn edition dependencies 2026-08-18 21:43:40 +08:00
風雪 a6c6b9883d chore(ui): use current Mantine release 2026-08-18 21:43:31 +08:00
風雪 28a12cafcc chore(ui): use current Material UI release 2026-08-18 21:43:25 +08:00
風雪 187704d362 docs(readme): document independent frontend editions 2026-08-18 21:43:01 +08:00
風雪 4d25b52547 ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
ci(release): deprecate combined release workflow
2026-08-18 21:42:38 +08:00
風雪 197079ec2b feat(ui): add independent Material, Mantine and shadcn editions 2026-08-18 21:42:24 +08:00
風雪 65a6de976d ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
ci(frontend): keep embedded web assets in sync
2026-08-18 21:32:02 +08:00
風雪 5db0724eab fix(listener-form): restore listener page and validate Reality values before save 2026-08-18 21:29:29 +08:00
風雪 97d9e8e0db fix(listener-form): validate Reality credentials explicitly on submit 2026-08-18 21:29:01 +08:00
風雪 933a68d713 fix(listener-form): avoid false required validation for dynamic Reality fields 2026-08-18 21:28:44 +08:00
風雪 1f89a23d79 fix(listener-form): normalize Reality fields before capability serialization 2026-08-18 21:28:24 +08:00
風雪 2e55c30426 fix(listeners): serialize selected capability component fields 2026-08-18 20:48:51 +08:00
風雪 054b7c2d60 fix(listeners): whitelist capability fields during config serialization 2026-08-18 20:48:32 +08:00
風雪 fd2585ccb8 fix(listeners): preserve nested capability fields for Reality and XHTTP 2026-08-18 20:45:45 +08:00
風雪 0e46914891 fix(startup): rollback Mihomo config when activation fails 2026-08-18 20:15:01 +08:00
風雪 f0f051650c chore(license): switch project license to Apache-2.0 2026-08-18 19:41:28 +08:00
風雪 326d4ecc8b docs(readme): publish separated Chinese and English README 2026-08-18 19:41:23 +08:00
風雪 bd623900a9 Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
2026-08-18 19:39:26 +08:00
風雪 d200787ce2 Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
Update LICENSE
2026-08-18 19:34:27 +08:00
風雪 24e912b29c Merge pull request #43 from kazeyukiro/agent/audit-fix 2026-08-18 19:32:46 +08:00
風雪 72d7c4d131 docs: rewrite README and add acknowledgements 2026-08-18 19:31:26 +08:00
風雪 c3bea4671e Merge pull request #42 from kazeyukiro/agent/audit-fix 2026-08-18 19:14:13 +08:00
風雪 44e5c2e46a test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
test(telegram): prevent chat allowlist ID alias bypass
2026-08-18 19:08:36 +08:00
風雪 5d2b916307 fix(telegram): enforce exact chat allowlist IDs 2026-08-18 19:08:30 +08:00
風雪 eec0726b52 fix(mihomo): restore config when initial start fails 2026-08-18 19:07:18 +08:00
風雪 3bfe0cd1c5 fix(listener): restore bindings when delete rollback occurs 2026-08-18 19:06:43 +08:00
風雪 94877e6921 test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
test(listener): cover VLESS flow normalization
2026-08-18 19:03:29 +08:00
風雪 ea71e9f4f3 fix(listener): compile VLESS flow into users 2026-08-18 19:03:19 +08:00
風雪 b50dc37eed i18n(en): remove wording from accessProfileHint
i18n(en): remove m-ui style wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
i18n(en): remove wording from accessProfileHint
2026-08-18 18:47:45 +08:00
風雪 210e86b531 i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
i18n: remove m-ui alignment wording from UI copy
2026-08-18 18:47:12 +08:00
風雪 5bb261a0ca i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
i18n(en): add common.advanced + settings.alpnHint
2026-08-18 18:29:54 +08:00
風雪 dd82d04167 i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
i18n(zh): add common.advanced + settings.alpnHint
2026-08-18 18:29:17 +08:00
風雪 f7b4937e47 i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
i18n: Listener Access Profile labels use t()
2026-08-18 18:28:22 +08:00
風雪 e98895f092 i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
i18n: Settings page remove English hardcoded labels/fallbacks
2026-08-18 18:27:26 +08:00
風雪 ed7616eef0 i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
i18n: replace Access Profile / Capability form hardcoded English with t()
2026-08-18 18:26:30 +08:00
風雪 256180b190 fix(config): pass HasCredentialState into CompileInput 2026-08-18 17:53:49 +08:00
風雪 4212b3ebb7 fix(protocol): pass HasCredentialState into compilers; wire generator 2026-08-18 17:53:10 +08:00
風雪 4c4e3a07ba fix(protocol): honor HasCredentialState; normalize ShadowQUIC object users 2026-08-18 17:52:47 +08:00
風雪 049594d440 fix(listeners): declare capabilities + useCapabilityForm state (TS2304) 2026-08-18 17:22:11 +08:00
風雪 b00713e4e8 Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
2026-08-18 17:16:12 +08:00
風雪 10a372dd84 Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
2026-08-18 17:14:49 +08:00
風雪 96153d4531 Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
Add files via upload
2026-08-18 17:14:11 +08:00
風雪 4726b27230 feat(ui): CapabilityFormFields — dynamic form from capability JSON 2026-08-18 17:11:06 +08:00
風雪 e624280674 feat(ui): capability-driven form API client + CapabilityFormFields + Listener access profile types 2026-08-18 17:10:48 +08:00
風雪 7789afd584 refactor(config): generateListeners via protocol.Compile registry 2026-08-18 17:10:31 +08:00
風雪 ef236c6a6f feat: per-node Access Profile fields on Listener model 2026-08-18 17:09:36 +08:00