Commit graph

54 commits

Author SHA1 Message Date
Niko Marmeladkov
14bacec75a
fix: remove duplicate user_manager instance and reset traffic counters after report
Some checks failed
Build / Calculate version (push) Has been cancelled
Build / Build binary (push) Has been cancelled
Build / Build Darwin binaries (push) Has been cancelled
Build / Build Windows binaries (push) Has been cancelled
Build / Build Android (push) Has been cancelled
Build / Publish Android (push) Has been cancelled
Build / Build Apple clients (push) Has been cancelled
Build / Upload builds (push) Has been cancelled
- Remove second user_manager creation via serviceManager.Create to prevent
  double-counting (both instances tracked the same connections)
- Reset per-user atomic counters after each successful traffic report so
  the control panel receives independent per-interval deltas instead of
  unbounded cumulative values
2026-06-23 12:24:56 +03:00
Niko Marmeladkov
691cce1361
fix: register user_manager in context, immediate credential sync for all protocols, fix vless flow, add Authorization header
Some checks failed
Build / Calculate version (push) Has been cancelled
Build / Build binary (push) Has been cancelled
Build / Build Darwin binaries (push) Has been cancelled
Build / Build Windows binaries (push) Has been cancelled
Build / Build Android (push) Has been cancelled
Build / Publish Android (push) Has been cancelled
Build / Build Apple clients (push) Has been cancelled
Build / Upload builds (push) Has been cancelled
2026-06-18 22:16:18 +03:00
Niko Marmeladkov
4b9fabd1c8
fix: accept plain seconds for user_manager duration fields 2026-06-18 17:27:20 +03:00
Niko Marmeladkov
a3404e463f
feat: add universal user_manager service for external auth & traffic tracking
Some checks are pending
Build / Calculate version (push) Waiting to run
Build / Build binary (push) Blocked by required conditions
Build / Build Darwin binaries (push) Blocked by required conditions
Build / Build Windows binaries (push) Blocked by required conditions
Build / Build Android (push) Blocked by required conditions
Build / Publish Android (push) Blocked by required conditions
Build / Build Apple clients (push) Blocked by required conditions
Build / Upload builds (push) Blocked by required conditions
- New UserManager service with HTTPS auth, credential sync, traffic tracking, and kick API
- Integrates into all 10 protocol inbounds (hysteria2, tuic, vless, vmess, trojan,
  shadowsocks, http, socks, mixed, naive)
- Each inbound auto-detects user_manager from service context, falls back to static config
- Auth server contract: POST /api/auth, GET /api/credentials, POST /api/traffic
2026-06-18 15:49:49 +03:00
世界
03572bc845
documentation: Add USB/IP server and client 2026-06-17 18:53:38 +08:00
世界
a9fe3f386e
Add USB/IP support for macOS 2026-06-17 14:56:29 +08:00
世界
1933c19064
Add USB/IP service 2026-06-16 18:15:54 +08:00
世界
82476702ea
Add dashboard support for API service 2026-06-13 23:00:53 +08:00
世界
9db1cc53a5
Add sing-box API service 2026-06-12 19:45:37 +08:00
世界
b8ef5b2ad1
oom-killer: Remove log "OOM draft discarded" 2026-06-08 08:51:49 +08:00
世界
b19d4a92e2
Fix lint errors 2026-06-08 08:51:48 +08:00
世界
fd31d8b2a8
Fix reset network 2026-06-08 08:51:47 +08:00
世界
db08f3f699
dns: Add preferred_by rule item 2026-06-08 08:51:46 +08:00
世界
4c9978fc30
Improve oom-killer 2026-06-08 08:51:45 +08:00
世界
b40e8c5f19
Improve UDP batch support 2026-06-08 08:51:45 +08:00
世界
d8420eb305
platform: Improve oom-killer 2026-06-08 08:51:44 +08:00
世界
12a462142a
Add ACME profile support for IP address certificates 2026-06-08 08:51:44 +08:00
世界
ab2a90d5e7
Refactor: HTTP clients, unified HTTP2/QUIC options, Apple engines 2026-06-08 08:51:40 +08:00
世界
21bc7c3ada
oom-killer: Record report before reset network 2026-06-08 08:51:40 +08:00
世界
2d20363ef2
oom-killer: Free memory on pressure notification and use gradual interval backoff 2026-06-08 08:51:35 +08:00
世界
d4cd859377
platform: Add OOM Report & Crash Report 2026-06-08 08:51:34 +08:00
nekohasekai
2c01a637a6
Refactor ACME support to certificate provider 2026-06-08 08:51:34 +08:00
世界
5e7fd7ad78
Fix lint errors 2026-05-13 23:39:27 +08:00
世界
49c450d942
ccm/ocm: Fix missing metering for 1M context and /fast mode
CCM: Fix 1M context detection - use prefix match for versioned
beta strings (e.g. "context-1m-2025-08-07") and include cache
tokens in the 200K threshold check per Anthropic billing docs.

OCM: Add GPT-5.4 family pricing (standard/priority/flex) with
extended context (>272K) premium pricing support. Add context
window tracking to usage combinations, mirroring CCM's pattern.
Update normalizeGPT5Model defaults to latest known models.
2026-03-11 20:41:29 +08:00
世界
67621ee6ba
Fix OCM websocket proxy lifecycle and headers 2026-03-10 22:04:11 +08:00
世界
a09ffe6a0f
ccm/ocm: Add by_user_and_week cost summary 2026-03-10 22:04:11 +08:00
世界
e0be8743f6
ocm: Add Responses WebSocket API proxy and fix client config docs
Support the OpenAI Responses WebSocket API (`wss://.../v1/responses`)
for bidirectional frame proxying with usage tracking.
Fix Codex CLI client config examples to use profiles and correct flags.

Update openai-go v3.24.0 → v3.26.0.
2026-03-10 22:04:11 +08:00
世界
df0bf927e4
Fix missing with_gvisor build tag for tailscale 2026-03-09 20:18:28 +08:00
Oleg Artyomov
1d388547ee
service/ccm: strip Accept-Encoding before forwarding to avoid untracked usage
When clients (e.g. Node.js Anthropic SDK) explicitly set Accept-Encoding: gzip,
Go's http.Transport does not transparently decompress the response body, because
it only does so when it added the header itself. This causes CCM's json.Unmarshal
to receive raw gzip bytes, silently failing to parse usage data and leaving the
usage counter unchanged.

Fix: remove Accept-Encoding from the outgoing proxy request. Transport adds it
automatically and transparently decompresses response.Body before CCM reads it.

Wire compression (CCM→Anthropic) is preserved — Transport still negotiates gzip.
Only CCM→localhost path is affected; compression on loopback has no practical
benefit.
2026-03-09 20:06:34 +08:00
世界
65150f5cc3
platform: Improve OOM killer for iOS 2026-02-27 14:58:06 +08:00
世界
cf4791f1ad
platform: Improve iOS OOM killer 2026-02-26 14:13:32 +08:00
世界
0bc66e5a56
service/ccm,ocm: Fixes and improvements 2026-02-26 13:36:46 +08:00
世界
aa8dd6e44f
Fix DNS transports 2026-01-17 05:48:41 +08:00
世界
511d1bb3fa
Update tailscale to v1.92.4 2026-01-17 05:48:28 +08:00
世界
b2d90b7d86
Fix missing RootPoolFromContext and TimeFuncFromContext in HTTP clients 2026-01-17 05:48:16 +08:00
世界
e8620587dd
Add OpenAI Codex Multiplexer service 2026-01-17 05:47:42 +08:00
世界
a89680fa2d
Update pricing for CCM service 2026-01-17 05:47:42 +08:00
世界
5bc0dfa9dd
platform: Refactoring libbox to use gRPC-based protocol 2026-01-17 05:47:32 +08:00
世界
1c4614318e
Fix read credentials for ccm service 2026-01-17 05:46:24 +08:00
世界
0f5cda4169
Add claude code multiplexer service 2026-01-17 05:46:23 +08:00
世界
7f3ea8dbd8
Update WireGuard and Tailscale 2026-01-17 05:46:02 +08:00
世界
107f92381b
Add support for kTLS
Reference: https://gitlab.com/go-extension/tls
2026-01-17 05:44:42 +08:00
世界
68448de7d0
Fix missing RootPoolFromContext and TimeFuncFromContext in HTTP clients 2025-12-22 13:50:57 +08:00
世界
5841d410a1
ssm-api: Fix save cache 2025-11-04 11:00:43 +08:00
世界
031f25c1c1
Deprecate common/atomic 2025-08-25 19:49:12 +08:00
世界
354ece2bdf
Fix resolved service 2025-08-16 00:09:29 +08:00
世界
de10bb00a9
Fix ssm-api 2025-08-15 15:05:37 +08:00
世界
378e39f70c
Update golangci-lint to v2 2025-08-13 23:37:40 +08:00
世界
3388efe65a
Fix ssm-api 2025-07-28 08:01:52 +08:00
世界
407ee08d8a
Add cache support for ssm-api 2025-07-08 13:14:44 +08:00