- 28 Dec, 2025 2 commits
-
-
IanShaw027 authored
**功能概述**: 实现简易模式(Simple Mode),为个人用户和小团队提供简化的使用体验,隐藏复杂的分组、订阅、配额等概念。 **后端改动**: 1. 配置系统 - 新增 run_mode 配置项(standard/simple) - 支持环境变量 RUN_MODE - 默认值为 standard 2. 数据库初始化 - 自动创建3个默认分组:anthropic-default、openai-default、gemini-default - 默认分组配置:无并发限制、active状态、非独占 - 幂等性保证:重复启动不会重复创建 3. 账号管理 - 创建账号时自动绑定对应平台的默认分组 - 如果未指定分组,自动查找并绑定默认分组 **前端改动**: 1. 状态管理 - authStore 新增 isSimpleMode 计算属性 - 从后端API获取并同步运行模式 2. UI隐藏 - 侧边栏:隐藏分组管理、订阅管理、兑换码菜单 - 账号管理页面:隐藏分组列 - 创建/编辑账号对话框:隐藏分组选择器 3. 路由守卫 - 限制访问分组、订阅、兑换码相关页面 - 访问受限页面时自动重定向到仪表板 **配置示例**: ```yaml run_mode: simple run_mode: standard ``` **影响范围**: - 后端:配置、数据库迁移、账号服务 - 前端:认证状态、路由、UI组件 - 部署:配置文件示例 **兼容性**: - 简易模式和标准模式可无缝切换 - 不需要数据迁移 - 现有数据不受影响
-
shaw authored
使用 `id -u` 替代 `$EUID` 进行 root 权限检查。 `$EUID` 是 bash 内置变量,在通过 pipe 执行脚本时可能不可靠。
-
- 27 Dec, 2025 3 commits
-
-
程序猿MT authored
feat 增加 caddy 示例安全反向代理
-
yangjianbo authored
-
shaw authored
-
- 26 Dec, 2025 6 commits
-
-
September999999999 authored
- 卸载时自动删除 .installed 安装锁文件 - 新增 --purge 参数支持完全清理(包括配置目录) - 交互模式下增加是否删除配置目录的确认提示 - 支持中英文消息
-
shaw authored
-
ianshaw authored
README.md: - 添加第 7 步:发布 OAuth 应用到正式版本 - 说明 Testing 模式限制(100 用户、7 天 token 过期) - 说明 sensitive scope 可能需要 Google 审核 .env.example: - 添加 OAuth Client 需发布为正式版本的说明
-
ianshaw authored
- .env.example: 新增 Gemini OAuth 环境变量配置示例 - config.example.yaml: 新增 Gemini OAuth 配置示例 - README.md: 更新部署文档 - docker-compose.yml: 添加 Gemini OAuth 环境变量传递
-
ianshaw authored
- 新增 Gemini OAuth 授权处理器 - 扩展账号和网关处理器支持 Gemini - 注册 Gemini 相关路由 - 更新 Wire 依赖注入配置(所有层) - 更新 Docker Compose 配置
-
ianshaw authored
- 添加 Gemini OAuth 配置结构 - 实现 geminicli 包(OAuth、Token、CodeAssist 类型) - 更新配置示例文件
-
- 25 Dec, 2025 2 commits
- 24 Dec, 2025 1 commit
-
-
shaw authored
- 新增 rollback 命令支持回退到指定版本 - 新增 list-versions 命令列出可用版本 - 新增 -v/--version 参数指定安装版本 - upgrade 命令支持升级到指定版本 - 添加安装状态检查,未安装时给出明确提示 - 版本切换仅替换二进制文件,保留配置和数据 - 自动备份当前版本(带版本号或时间戳后缀) - 改进网络错误处理,添加超时和友好提示 - 修复 grep -oP 兼容性问题,改用 grep -oE
-
- 19 Dec, 2025 1 commit
-
-
shaw authored
-
- 18 Dec, 2025 9 commits
-
-
shaw authored
- 修复 curl | bash 管道模式下无法交互式输入的问题 - 使用 /dev/tty 检测终端可用性替代 stdin 检测 - 所有 read 命令从 /dev/tty 读取用户输入 - 安装完成后自动启动服务和启用开机自启 - 使用 ipinfo.io API 获取公网 IP 用于显示访问地址 - 简化安装完成后的输出信息
-
shaw authored
重构内容: - 移除复杂的 sudo systemctl restart 方案 - 改用 os.Exit(0) + systemd Restart=always 的标准做法 - 删除 sudoers 配置及相关代码 - 删除 sub2api-sudoers 文件 优势: - 代码从 85+ 行简化到 47 行 - 无需 sudo 权限配置 - 无需特殊用户 shell 配置 - 更简单、更可靠 - 符合行业最佳实践(Docker/K8s 等均采用此方案) 工作原理: - 服务调用 os.Exit(0) 优雅退出 - systemd 检测到退出后自动重启(Restart=always)
-
shaw authored
问题原因: - install.sh 优先从 tar.gz 复制 sudoers 文件 - 旧版 Release 中的 sudoers 文件没有 /usr/bin/systemctl 路径 - 即使脚本更新了,仍然会使用旧的配置 修复内容: - 移除对 tar.gz 中 sudoers 文件的依赖 - 总是使用脚本中内嵌的最新配置 - 确保新版脚本立即生效,无需等待新 Release
-
shaw authored
问题原因: - sudoers 只配置了 /bin/systemctl 路径 - 部分系统(如 Ubuntu 22.04+)的 systemctl 位于 /usr/bin/systemctl - 路径不匹配导致 sudo 仍然需要密码 修复内容: - 同时支持 /bin/systemctl 和 /usr/bin/systemctl 两个路径 - 兼容 Debian/Ubuntu 和 RHEL/CentOS 等不同发行版
-
shaw authored
问题原因: - 服务用户 sub2api 的 shell 被设置为 /bin/false - 导致无法执行 sudo systemctl restart 命令 - 安装/升级后服务无法自动重启 修复内容: - 新安装时使用 /bin/sh 替代 /bin/false - 升级时自动检测并修复旧版本用户的 shell 配置 - 修复失败时给出警告和手动修复命令,不中断安装流程
-
shaw authored
-
shaw authored
-
shaw authored
The release workflow references ./deploy/DOCKER.md to update DockerHub description, but the file was missing causing ENOENT error.
-
shaw authored
-