Luis Pater
c2bf600a39
Merge branch 'main' into plus
2026-01-20 13:50:41 +08:00
Luis Pater
9823dc35e1
feat(auth): hash account ID for improved uniqueness in credential filenames
2026-01-20 11:37:52 +08:00
Luis Pater
1fef90ff58
Merge pull request #877 from zhiqing0205/main
...
feat(codex): include plan type in auth filename
2026-01-20 11:11:25 +08:00
Luis Pater
28726632a9
Merge pull request #861 from umairimtiaz9/fix/gemini-cli-backend-project-id
...
fix(auth): use backend project ID for free tier Gemini CLI OAuth users
2026-01-20 10:32:17 +08:00
Luis Pater
2d9f6c104c
Merge branch 'main' into plus
2026-01-19 04:03:17 +08:00
Luis Pater
99c7abbbf1
Merge pull request #1067 from router-for-me/auth-files
...
refactor(auth): simplify filename prefixes for qwen and iflow tokens
2026-01-18 13:41:59 +08:00
Luis Pater
62e2b672d9
refactor(logging): centralize log directory resolution logic
...
- Introduced `ResolveLogDirectory` function in `logging` package to standardize log directory determination across components.
- Replaced redundant logic in `server`, `global_logger`, and `handlers` with the new utility function.
2026-01-18 12:40:57 +08:00
clstb
b4e070697d
feat: support github copilot in management ui
2026-01-17 17:22:45 +01:00
hkfires
109cffc010
refactor(auth): simplify filename prefixes for qwen and iflow tokens
2026-01-17 12:20:58 +08:00
Luis Pater
c29839d2ed
Merge remote-tracking branch 'origin/main' into pr-104
...
# Conflicts:
# config.example.yaml
# internal/config/config.go
# sdk/cliproxy/auth/model_name_mappings.go
2026-01-16 09:40:07 +08:00
hkfires
fe5b3c80cb
refactor(config): rename oauth-model-mappings to oauth-model-alias
2026-01-15 18:03:26 +08:00
Luis Pater
a9823ba58a
Merge branch 'router-for-me:main' into main
2026-01-10 16:27:52 +08:00
hkfires
6494330c6b
feat(codex): add subscription date fields to ID token claims
2026-01-10 11:15:20 +08:00
Luis Pater
514b9bf9fc
Merge origin/main into pr-92
2026-01-10 01:12:22 +08:00
hemanta212
47dacce6ea
fix(server): resolve memory leaks causing OOM in k8s deployment
...
- usage/logger_plugin: cap modelStats.Details at 1000 entries per model
- cache/signature_cache: add background cleanup for expired sessions (10 min)
- management/handler: add background cleanup for stale IP rate-limit entries (1 hr)
- executor/cache_helpers: add mutex protection and TTL cleanup for codexCacheMap (15 min)
- executor/codex_executor: use thread-safe cache accessors
Add reproduction tests demonstrating leak behavior before/after fixes.
Amp-Thread-ID: https://ampcode.com/threads/T-019ba0fc-1d7b-7338-8e1d-ca0520412777
Co-authored-by: Amp <amp@ampcode.com >
2026-01-09 13:33:46 +05:45
Luis Pater
80f5523685
Merge branch 'router-for-me:main' into main
2026-01-07 01:24:12 +08:00
LTbinglingfeng
5e5d8142f9
fix(auth): error when antigravity refresh token missing during refresh
2026-01-07 01:09:50 +08:00
LTbinglingfeng
b01619b441
fix(management): refresh antigravity token for api-call $TOKEN$
2026-01-07 00:14:02 +08:00
zhiqing0205
ac3ca0ad8e
feat(codex): include plan type in auth filename
2026-01-06 02:25:56 +08:00
CodeIgnitor
52760a4eaa
fix(auth): use backend project ID for free tier Gemini CLI OAuth users
...
Fixes issue where free tier users cannot access Gemini 3 preview models
due to frontend/backend project ID mapping.
## Problem
Google's Gemini API uses a frontend/backend project mapping system for
free tier users:
- Frontend projects (e.g., gen-lang-client-*) are user-visible
- Backend projects (e.g., mystical-victor-*) host actual API access
- Only backend projects have access to preview models (gemini-3-*)
Previously, CLIProxyAPI ignored the backend project ID returned by
Google's onboarding API and kept using the frontend ID, preventing
access to preview models.
## Solution
### CLI (internal/cmd/login.go)
- Detect free tier users (gen-lang-client-* projects or FREE/LEGACY tier)
- Show interactive prompt allowing users to choose frontend or backend
- Default to backend (recommended for preview model access)
- Pro users: maintain original behavior (keep frontend ID)
### Web UI (internal/api/handlers/management/auth_files.go)
- Detect free tier users using same logic
- Automatically use backend project ID (recommended choice)
- Pro users: maintain original behavior (keep frontend ID)
### Deduplication (internal/cmd/login.go)
- Add deduplication when user selects ALL projects
- Prevents redundant API calls when multiple frontend projects map to
same backend
- Skips duplicate project IDs in activation loop
## Impact
- Free tier users: Can now access gemini-3-pro-preview and
gemini-3-flash-preview models
- Pro users: No change in behavior (backward compatible)
- Only affects Gemini CLI OAuth (not antigravity or API key auth)
## Testing
- Tested with free tier account selecting single project
- Tested with free tier account selecting ALL projects
- Verified deduplication prevents redundant onboarding calls
- Confirmed pro user behavior unchanged
2026-01-05 02:41:24 +05:00
Luis Pater
2331b9a2e7
Merge branch 'router-for-me:main' into main
2026-01-04 18:10:49 +08:00
Supra4E8C
cd22c849e2
feat(management): 更新OAuth模型映射的清理逻辑以增强数据安全性
2026-01-04 17:57:34 +08:00
Supra4E8C
f0e73efda2
feat(management): add vertex api key and oauth model mappings endpoints
2026-01-04 17:32:00 +08:00
Supra4E8C
3156109c71
feat(management): 支持管理接口调整日志大小/强制前缀/路由策略
2026-01-04 12:21:49 +08:00
Luis Pater
cf369d4684
Merge branch 'router-for-me:main' into main
2025-12-29 22:41:44 +08:00
hkfires
3099114cbb
refactor(api): simplify codex id token claims extraction
2025-12-29 19:48:02 +08:00
hkfires
8286caa366
feat(api): add id token claims extraction for codex auth entries
2025-12-29 16:34:16 +08:00
hkfires
225e2c6797
feat(amp): add per-client upstream API key mapping support
2025-12-29 12:26:25 +08:00
Luis Pater
ee171bc563
feat(api): add ManagementTokenRequester interface for management token request endpoints
2025-12-29 02:42:29 +08:00
Luis Pater
e3d8d726e6
Merge branch 'router-for-me:main' into main
2025-12-28 15:09:33 +08:00
Luis Pater
ade7194792
feat(management): add generic API call handler to management endpoints
2025-12-28 04:40:32 +08:00
Luis Pater
0f51e73baa
Merge branch 'router-for-me:main' into main
2025-12-28 03:07:58 +08:00
Luis Pater
3a436e116a
feat(cliproxy): implement model aliasing and hashing for Codex configurations, enhance request routing logic, and normalize Codex model entries
2025-12-28 03:06:51 +08:00
Luis Pater
05f249d77f
Merge branch 'main' into plus
2025-12-26 12:14:35 +08:00
Luis Pater
3ce0d76aa4
feat(usage): add import/export functionality for usage statistics and enhance deduplication logic
2025-12-26 11:49:51 +08:00
Luis Pater
cdb9c2e6e8
Merge remote-tracking branch 'origin/main' into router-for-me/main
2025-12-24 20:18:53 +08:00
hkfires
2a6d8b78d4
feat(api): add endpoint to retrieve request logs by ID
2025-12-24 19:24:51 +08:00
Luis Pater
e755e567ea
Merge branch 'router-for-me:main' into main
2025-12-21 19:54:13 +08:00
Supra4E8C
781bc1521b
fix(oauth): prevent stale session timeouts after login
...
- stop callback forwarders by instance to avoid cross-session shutdowns
- clear pending sessions for a provider after successful auth
2025-12-21 10:48:40 +08:00
Supra4E8C
24970baa57
management: allow prefix updates in provider PATCH handlers
2025-12-21 02:14:28 +08:00
Supra4E8C
93414f1baa
feat (auth): CLI OAuth supports pasting callback URLs to complete login
...
- Added callback URL resolution and terminal prompt logic
- Codex/Claude/iFlow/Antigravity/Gemini login supports callback URL or local callback completion
- Update Gemini login option signature and manager call
- CLI default prompt function is compatible with null input to continue waiting
2025-12-20 18:25:55 +08:00
Luis Pater
44f66d2257
Merge PR #55
2025-12-19 18:59:12 +08:00
Supra4E8C
1b358c931c
fix: restore get-auth-status ok fallback and document it
2025-12-19 12:15:22 +08:00
Supra4E8C
cfa8ddb59f
feat(oauth): add remote OAuth callback support with session management
...
Introduce a centralized OAuth session store with TTL-based expiration
to replace the previous simple map-based status tracking. Add a new
/api/oauth/callback endpoint that allows remote clients to relay OAuth
callback data back to the CLI proxy, enabling OAuth flows when the
callback cannot reach the local machine directly.
- Add oauth_sessions.go with thread-safe session store and validation
- Add oauth_callback.go with POST handler for remote callback relay
- Refactor auth_files.go to use new session management APIs
- Register new callback route in server.go
2025-12-19 00:38:29 +08:00
Luis Pater
6a4cff6699
Merge branch 'router-for-me:main' into main
2025-12-14 17:28:28 +08:00
Test
bb15855443
feat: add API endpoint to query models for auth credentials
2025-12-14 15:16:26 +08:00
Ravens2121
75793a18f0
feat(kiro): Add Kiro OAuth login entry and auth file filter in Web UI
...
为Kiro供应商添加WEB UI OAuth登录入口和认证文件过滤器
## Changes / 更改内容
### Frontend / 前端 (management.html)
- Add Kiro OAuth card UI with support for AWS Builder ID, Google, and GitHub login methods
- 添加Kiro OAuth卡片UI,支持AWS Builder ID、Google和GitHub三种登录方式
- Add i18n translations for Kiro OAuth (Chinese and English)
- 添加Kiro OAuth的中英文国际化翻译
- Add Kiro filter button in auth files management page
- 在认证文件管理页面添加Kiro过滤按钮
- Implement JavaScript methods: startKiroOAuth(), openKiroLink(), copyKiroLink(), copyKiroDeviceCode(), startKiroOAuthPolling(), resetKiroOAuthUI()
- 实现JavaScript方法:startKiroOAuth()、openKiroLink()、copyKiroLink()、copyKiroDeviceCode()、startKiroOAuthPolling()、resetKiroOAuthUI()
### Backend / 后端
- Add /kiro-auth-url endpoint for Kiro OAuth authentication (auth_files.go)
- 添加/kiro-auth-url端点用于Kiro OAuth认证 (auth_files.go)
- Fix GetAuthStatus() to correctly parse device_code and auth_url status
- 修复GetAuthStatus()以正确解析device_code和auth_url状态
- Change status delimiter from ':' to '|' to avoid URL parsing issues
- 将状态分隔符从':'改为'|'以避免URL解析问题
- Export CreateToken method in social_auth.go
- 在social_auth.go中导出CreateToken方法
- Register Kiro OAuth routes in server.go
- 在server.go中注册Kiro OAuth路由
## Files Modified / 修改的文件
- management.html
- internal/api/handlers/management/auth_files.go
- internal/api/server.go
- internal/auth/kiro/social_auth.go
2025-12-13 11:39:22 +08:00
Luis Pater
ba6aa5fbbe
Merge branch 'router-for-me:main' into main
2025-12-12 20:09:31 +08:00
hkfires
e7cedbee6e
fix(auth): prevent duplicate iflow BXAuth tokens
2025-12-12 19:57:19 +08:00
Luis Pater
2ba31ecc2d
Merge branch 'main' into plus
2025-12-09 17:51:18 +08:00