Commit Graph

  • 94aa38ca61 feat: SafeUser.sub_token + auto SubToken on Create 風雪 2026-08-17 21:30:31 +08:00
  • cebbcdee4a feat: wire registerPanelSettingsRoutes 風雪 2026-08-17 21:29:01 +08:00
  • d6500043b3 feat: user subscription API endpoints + EnsureSubToken 風雪 2026-08-17 21:28:29 +08:00
  • 34d410f36d feat: GenerateUserRawConfig + frontend subscription API helpers 風雪 2026-08-17 21:27:08 +08:00
  • 5e8d3b883e feat: user sub tokens + format=info on /client/sub/:token 風雪 2026-08-17 21:24:44 +08:00
  • 768a428154 feat: user SubToken model + monthly traffic reset + panel-settings API 風雪 2026-08-17 21:24:11 +08:00
  • 2e4804ad52 feat(ui): cluster remote create/delete nodes UI 風雪 2026-08-17 21:11:37 +08:00
  • 695aaacab6 feat(ui): SSL/ACME certificate wizard on Settings 風雪 2026-08-17 21:11:00 +08:00
  • d52bac386a feat(cluster): ProxyRemote for write operations 風雪 2026-08-17 21:10:16 +08:00
  • 9de26ad117 feat(cluster): remote node create/update/delete proxy 風雪 2026-08-17 21:09:00 +08:00
  • 8cf663a5c6 feat: IP limit enforcement via Mihomo CloseConnection + scheduler hook 風雪 2026-08-17 21:08:31 +08:00
  • 91602db81e feat(p2-ui): cluster remote nodes button + modal 風雪 2026-08-17 20:57:43 +08:00
  • 2191a0c739 feat(p1-ui): dashboard users card 風雪 2026-08-17 20:57:20 +08:00
  • 9dff678ea9 feat(p2): TG traffic 80% + expiry 3-day threshold warnings 風雪 2026-08-17 20:56:42 +08:00
  • 6ea0c60518 feat(p2): cluster FetchRemoteNodes implementation 風雪 2026-08-17 20:56:01 +08:00
  • a92947dc01 feat(p2): cluster remote nodes proxy GET /cluster/:id/nodes 風雪 2026-08-17 20:55:33 +08:00
  • f48eb08e9f feat(p1): dashboard users totals (online/enabled/total) 風雪 2026-08-17 20:55:13 +08:00
  • 8af568ab05 feat(p1): subscription UA auto-detect (Clash/Mihomo) 風雪 2026-08-17 20:54:56 +08:00
  • 504e04f453 feat(p1): ValidateListenerConfig + subscription UA auto-detect + dashboard users 風雪 2026-08-17 20:54:37 +08:00
  • 32e885f62b feat(ui): user form ip_limit + remark fields ( parity) 風雪 2026-08-17 20:44:54 +08:00
  • 4f831bba49 feat(users): Create/Update/SafeUser support ip_limit + remark 風雪 2026-08-17 20:43:57 +08:00
  • 62a8f83b24 feat(users): ip_limit + remark ( limitIP parity) 風雪 2026-08-17 20:41:04 +08:00
  • 8211a166d3 fix(telegram): clearer enable gates + flexible chat allowlist (-100 groups) 風雪 2026-08-17 19:50:12 +08:00
  • f3f6f5bb7a refactor(node): SetRegenerator delegates to listener.Service 風雪 2026-08-17 19:49:37 +08:00
  • 13178dc66b refactor: single config regen via listener; harden TG enable/chat allowlist 風雪 2026-08-17 19:48:46 +08:00
  • 1cab7d482d fix(listener): cascade unbind clients on delete 風雪 2026-08-17 18:19:33 +08:00
  • 2efe7aff08 fix: wire listener.Handler for /nodes templates/versions; cascade delete bindings 風雪 2026-08-17 18:19:08 +08:00
  • ccf6782b9c fix(ci): BaseModel in generator_listener_schema_test 風雪 2026-08-17 16:26:00 +08:00
  • 9491085375 fix(ci): BaseModel in mihomo config tests + drop unused gorm import 風雪 2026-08-17 16:25:38 +08:00
  • d9fcbae4e2 fix(ci): BaseModel test literals for go test/vet 風雪 2026-08-17 16:25:26 +08:00
  • c4b185f91b fix: NewBot takes (db, mihomo) only — drop extra userSvc arg 風雪 2026-08-17 16:10:28 +08:00
  • 9e7a6f1ef5 fix(telegram): Client.Validate + daily digest persistence helpers 風雪 2026-08-17 15:58:04 +08:00
  • d8e768aea6 fix(telegram): remove incomplete concurrency test 風雪 2026-08-17 15:57:40 +08:00
  • 3483fb6e76 fix(telegram): remove incomplete security_test 風雪 2026-08-17 15:57:35 +08:00
  • bf1f84fd91 fix(telegram): remove incomplete security_helpers 風雪 2026-08-17 15:57:29 +08:00
  • e4eddacf94 fix(telegram): remove tests for incomplete hardening APIs 風雪 2026-08-17 15:57:02 +08:00
  • 6fe81c1b0a fix(telegram): remove incomplete persistence_hardening (broke build) 風雪 2026-08-17 15:57:00 +08:00
  • 994c3e1a89 fix(telegram): accept commands with/without slash and CN aliases 風雪 2026-08-17 15:44:37 +08:00
  • 724e70595d fix(telegram): bot long-poll loop with webhook clear and flexible chat allowlist 風雪 2026-08-17 15:44:02 +08:00
  • 5fe19b96fe fix(telegram): reliable bot commands - webhook clear, chat id match, send fallback 風雪 2026-08-17 15:43:14 +08:00
  • 6b69921d3d fix(ui): normalizeId for Listener actions (tolerate ID vs id) 風雪 2026-08-17 15:34:27 +08:00
  • 211e2b600f fix: migrate remaining models to BaseModel (lowercase id JSON) 風雪 2026-08-17 15:34:09 +08:00
  • 48da56065d fix: BaseModel with json id to fix Listener delete invalid node id 風雪 2026-08-17 15:33:46 +08:00
  • 7ad6536ef1 fix(listener): correct ParseIP usage 風雪 2026-08-17 13:14:41 +08:00
  • af19f52605 Merge pull request #37 from kazeyukiro/fix/telegram-p0-p1-hardening 風雪 2026-08-17 13:04:19 +08:00
  • 6fb0ecc212 fix(telegram): repair bot syntax and update processing 風雪 2026-08-17 13:01:46 +08:00
  • a4740ae763 fix(listener): import listener model for endpoint checks 風雪 2026-08-17 13:01:20 +08:00
  • 2691667ef8 fix(listener): restore endpoint conflict helpers 風雪 2026-08-17 13:01:13 +08:00
  • 3239d47b8e Merge pull request #35 from kazeyukiro/fix/telegram-p0-p1-hardening 風雪 2026-08-17 12:56:17 +08:00
  • d6545ede90 Merge branch 'main' into fix/telegram-p0-p1-hardening 風雪 2026-08-17 12:55:50 +08:00
  • e846e46cb9 Merge pull request #36 from kazeyukiro/fix/listener-p0-p1-hardening 風雪 2026-08-17 12:53:41 +08:00
  • ba78193566 Merge pull request #34 from kazeyukiro/agent/p0-hardening 風雪 2026-08-17 12:53:13 +08:00
  • a907231c2d feat(i18n): add Listener P2 Chinese translations 風雪 2026-08-17 12:43:49 +08:00
  • 25259027b0 feat(i18n): add Listener P2 UI translations 風雪 2026-08-17 12:43:38 +08:00
  • 69ea1864c5 feat(frontend): add Listener templates clone batch and version UI 風雪 2026-08-17 12:43:24 +08:00
  • 2ae416dd64 fix(frontend): import Listener API client 風雪 2026-08-17 12:43:04 +08:00
  • 0fd508afed feat(frontend): expand Listener P2 API client 風雪 2026-08-17 12:42:46 +08:00
  • d16d72a792 feat: expose listener batch create API 風雪 2026-08-17 12:39:06 +08:00
  • 0704e31495 feat: add atomic listener batch create 風雪 2026-08-17 12:38:53 +08:00
  • 0e1a4c11b5 test: cover listener P2 features 風雪 2026-08-17 12:38:40 +08:00
  • e07a96920f feat: expose template instantiate endpoint 風雪 2026-08-17 12:38:35 +08:00
  • dc3e2bcb05 feat: instantiate listener templates safely 風雪 2026-08-17 12:38:25 +08:00
  • d937dddcb8 fix: register static listener routes before dynamic ids 風雪 2026-08-17 12:38:14 +08:00
  • db5c467378 fix: reset cloned soft-delete state 風雪 2026-08-17 12:38:05 +08:00
  • b8bd3ab290 fix: use zero timestamps for cloned listeners 風雪 2026-08-17 12:37:56 +08:00
  • dcb9ebfdc3 fix: clean cloned listener timestamps and record clone history 風雪 2026-08-17 12:37:45 +08:00
  • a386d24058 feat: expose listener P2 management APIs 風雪 2026-08-17 12:37:33 +08:00
  • 1ce6651be3 feat: record listener history on lifecycle changes 風雪 2026-08-17 12:37:21 +08:00
  • b0445d92ba feat: add listener templates clone batch diff and rollback 風雪 2026-08-17 12:37:09 +08:00
  • 80c6ef4996 feat: migrate listener templates and versions 風雪 2026-08-17 12:36:59 +08:00
  • 229a588352 feat: add listener templates 風雪 2026-08-17 12:36:51 +08:00
  • 222d6614cf feat: add listener version history 風雪 2026-08-17 12:36:45 +08:00
  • b42f2c4b5c test(listener): cover recursive schema trust boundary 風雪 2026-08-17 12:35:44 +08:00
  • 5b6a79adf5 test(listener): add endpoint and address regression coverage 風雪 2026-08-17 12:35:38 +08:00
  • 476774e041 fix(listener): serialize lifecycle changes and protect linked clients 風雪 2026-08-17 12:35:30 +08:00
  • f5794c94fb fix(listener): centralize TLS support and reject endpoint conflicts 風雪 2026-08-17 12:35:19 +08:00
  • 487473f15e fix(listener): validate bind address and listener ports 風雪 2026-08-17 12:35:04 +08:00
  • 2d0956b54a fix(listener): recursively validate nested config fields 風雪 2026-08-17 12:34:55 +08:00
  • f1ea17889b test: run Telegram concurrency suite with race detector 風雪 2026-08-17 12:29:20 +08:00
  • ff20372ab7 test: add Telegram security and concurrency coverage 風雪 2026-08-17 12:28:57 +08:00
  • 4b3abc406e test: cover Telegram hardening and retry behavior 風雪 2026-08-17 12:27:28 +08:00
  • dc1919b0cf fix persistent daily digest scheduling 風雪 2026-08-17 12:27:10 +08:00
  • a9c4e88319 harden Telegram update processing and state recovery 風雪 2026-08-17 12:27:01 +08:00
  • cdd5914848 fix Telegram binding transaction and race handling 風雪 2026-08-17 12:26:42 +08:00
  • 7ef784da21 fix Telegram API retries and safe HTML splitting 風雪 2026-08-17 12:26:32 +08:00
  • d4980da4bc test: add persistent Telegram digest and wizard state helpers 風雪 2026-08-17 12:26:20 +08:00
  • 6fbe30683f fix(telegram): omit nil reply markup from JSON 風雪 2026-08-17 12:20:19 +08:00
  • 2c06ca5a22 ci: build backend and validate agent branches 風雪 2026-08-17 11:40:31 +08:00
  • 080f62c3fd fix: route all config writes through Mihomo service 風雪 2026-08-17 11:40:19 +08:00
  • cdce74de21 test: cover Mihomo config backup and rollback 風雪 2026-08-17 11:40:01 +08:00
  • 321799cf9b docs: document P0 reliability baseline 風雪 2026-08-17 11:39:55 +08:00
  • ff7afffaab feat: add subscription token lifecycle management 風雪 2026-08-17 11:39:35 +08:00
  • 8391f999be feat: expose safe config preview apply and rollback 風雪 2026-08-17 11:39:24 +08:00
  • 337b2ed17c fix: preserve Mihomo config backup path 風雪 2026-08-17 11:39:14 +08:00
  • d55d659092 feat: harden Mihomo config apply and rollback 風雪 2026-08-17 11:39:05 +08:00
  • 622ed36756 fix(telegram): remove duplicate formatBytes 風雪 2026-08-17 11:06:33 +08:00
  • a1cb2379fd fix(telegram): repair bot.go syntax and format loop 風雪 2026-08-17 11:01:08 +08:00
  • 2be05c9303 Merge pull request #33 from kazeyukiro/feat/telegram-bot 風雪 2026-08-17 10:58:08 +08:00
  • 3c3d60c15c test(telegram): isolate regression test databases 風雪 2026-08-17 10:39:43 +08:00
  • b1a4dfbf35 test(telegram): make retry and update parsing testable 風雪 2026-08-17 10:39:27 +08:00