Releases: MarvekG/CPAStickyProxy
Releases · MarvekG/CPAStickyProxy
Release list
v0.1.7
Release Notes
来源:v0.1.6..HEAD 的 merged PR,commit 用于补充核对。
概览
- 本次版本包含 2 个已合并 PR,主要修复账号代理页面的分页与操作反馈问题,并增强插件状态文件的完整性保护。
- 对已有安装,更新后无需迁移配置;插件继续使用
plugins/stickyproxy-state.json。
PR 详情
#11 Update README.md
- 链接:PR #11
- 作者:MarvekG;合并时间:2026-08-24 20:31:41 UTC
- 类型:文档
- 变更内容:更新项目主界面截图的展示尺寸与图片资源。
- 影响说明:README 中的主界面示例更清晰地反映当前界面;不影响插件行为、配置或 API。
#12 修复账号代理操作可靠性问题
- 链接:PR #12
- 作者:MarvekG;合并时间:2026-08-25 02:25:30 UTC
- 类型:问题修复 / 稳定性改进
- 变更内容:
- 统一“已应用代理”和“按代理筛选”的账号列表分页协议,筛选结果超过一页时可继续加载后续账号。
- 状态文件现在拒绝尾随垃圾内容或第二个 JSON 文档;在文件替换成功后立即同步内存状态,避免后续写入基于过期状态覆盖已提交数据。
- 写操作成功后,即使紧随其后的页面状态刷新失败,页面仍会保留成功结果;新 Toast 通知也不会被旧计时器提前关闭。
- 账号表增加异常
items响应的防御处理;README 更正为同步部分失败时保留已成功账号的变更,并列出失败账号供重试。
- 影响说明:
- 管理超过一页的已应用账号或指定代理账号时,可正常翻页、选择和执行后续操作。
- 短暂网络波动不会再把已提交的保存、应用、清除或删除操作显示为失败。
- 状态文件损坏或异常拼接将被明确拒绝,降低静默覆盖配置的风险。
- 验证:
cd plugin/web-ui && pnpm run check && pnpm test && pnpm run buildcd plugin && go test ./...
分类摘要
问题修复
- 修复代理相关筛选超过一页时无法继续翻页的问题。
- 修复成功写操作在后续状态刷新失败时被误报为失败的问题。
- 修复连续通知时旧 Toast 定时器可能提前关闭新通知的问题。
稳定性改进
- 强化状态文件解析和保存后的内存一致性,减少损坏状态或底层同步异常导致配置被静默覆盖的风险。
v0.1.6
Release Notes
来源:v0.1.5..HEAD 的 merged PR,commit 用于补充核对。
概览
- 本次版本包含 1 个已合并 PR,主要改进账号代理状态的可理解性,并自动隔离不兼容的历史状态文件。
- 用户无需再手动处理旧版
plugins/stickyproxy-state配置文件,升级后插件会使用新的 JSON 状态文件启动。用户需要迁移plugins/stickyproxy-state的配置到新配置文件(通过webui)。
PR 详情
#10 Simplify proxy states and isolate legacy configuration
- 链接:PR #10
- 作者:MarvekG;合并时间:2026-08-24 20:17:46 UTC
- 类型:改进优化 / 兼容性改进
- 变更内容:
- 将账号页面的代理状态收敛为四类:已应用代理、未配置账号代理、其他账号代理、配置异常。
- 将“代理格式无效”和“账号配置不可读”合并为“配置异常”,减少用户需要理解的状态数量。
- 不再把“无邮箱”和“运行时账号”作为代理状态展示或提供为代理状态筛选项。
- 移除“当前应用代理”下拉框中的“继承系统代理”选项;该下拉框现在仅列出已保存的代理。
- 后端仍兼容旧的
proxy_state筛选值,例如inherits_system,避免已有保存筛选或外部调用失效。 - 插件状态文件从
plugins/stickyproxy-state调整为plugins/stickyproxy-state.json。
- 影响说明:
- 账号代理页面的筛选和状态标签更简洁,用户无需面对过多底层实现状态。
- 如果安装环境中残留旧版、与当前版本不兼容的状态文件,插件不会再因读取该文件失败而无法启动。
- 升级后会从空的新状态文件开始运行;原有旧文件保留在原路径,不会被自动删除或覆盖。
- 新状态文件仍以
0600权限写入,保存的代理基础地址继续受到文件权限保护。
- 验证:
pnpm testpnpm checkpnpm buildGOCACHE=/tmp/stickyproxy-go-cache GOPATH=/tmp/stickyproxy-gopath go test ./...
分类摘要
重点更新
- 新版本使用
plugins/stickyproxy-state.json,自动绕开遗留的旧版状态文件。对于旧状态格式不兼容的安装,不再需要用户手动删除或迁移文件才能启动插件。
改进优化
- 代理状态由多个实现细节收敛为四个面向用户的类别,提升账号代理页面的可读性和筛选效率。
- “配置异常”集中展示地址格式无效和配置不可读问题,便于排查异常账号。
v0.1.5
Release Notes
来源:v0.1.4..HEAD(即 0.1.4 到当前 fab143e)的 merged PR,commit 用于补充核对。
概览
- 本次包含 2 个 merged PR,核心是将 StickyProxy 的资源模型从“代理端点(endpoint)”统一重命名为“代理(proxy)”。
- 存在破坏性变更:管理 API、前端数据字段和插件状态文件格式均已切换到
proxy术语;旧状态文件会被明确拒绝,升级后必须重新添加代理并重新应用给账号。 - 同时将 CPA RPC schema 版本维持为
3,避免因资源模型调整而失去与当前 CPA 宿主的兼容性。
PR 详情
#8 Update registry to v0.1.4
- 链接:#8
- 作者:MarvekG;合并时间:2026-08-24 17:02:31 UTC
- 类型:发布维护
- 变更内容:更新插件商店的
registry.json条目,使其指向 StickyProxyv0.1.4发布版本。 - 影响说明:通过项目自带插件注册表安装或更新的用户,将获取到对应的
v0.1.4构建产物及元数据。此 PR 本身不改变代理配置或运行时功能。
#9 refactor: rename proxy resources
- 链接:#9
- 作者:MarvekG;合并时间:2026-08-24 19:43:09 UTC
- 类型:重构 / 破坏性变更
- 变更内容:
- 将领域模型、状态文件、管理 API、Web UI、错误消息、测试与文档中的
endpoint统一更名为proxy。代理 ID 前缀从ep_改为px_。 - 管理 API 路由由
/stickyproxy/endpoints*改为/stickyproxy/proxies*;请求、响应及筛选字段从endpoint_id、proxy_endpoint_id切换为proxy_id;状态接口返回字段从endpoints切换为proxies。 - 状态文件改为保存
proxies与account_proxy_mappings。映射以 CPA 的auth_index关联proxy_id,用于明确记录账号最后成功应用的 StickyProxy 代理。 - 账号列表识别“已应用代理”时,不再通过生成并比对预期最终代理 URL 来反查归属;改为直接查持久化映射。未映射但存在
proxy_url的账号会显示为“其他账号代理”。 - 前端的“当前应用代理”筛选新增“继承系统代理”选项;页面不再展示派生的预期最终 URL,只显示实际代理 URL 的脱敏结果。
- 文档与中英文界面文案同步使用“代理(proxy)”术语,并新增账号代理映射设计说明。
- 将领域模型、状态文件、管理 API、Web UI、错误消息、测试与文档中的
- 兼容性与迁移:
- 旧插件状态格式不兼容。 新版本会拒绝旧字段,例如
endpoints和account_endpoint_mappings,不会静默读取或自动迁移。 - 升级前应备份 StickyProxy 状态文件;升级后需重新添加所需代理,并将其重新应用到账号。
- CPA 认证文件中既有的
proxy_url不会被自动修改或清空;但由于没有新的映射记录,它们将显示为“其他账号代理”,直到操作员重新应用或明确清除。 - 对接管理 API 的调用方需要同步更新路由、JSON 字段以及
ep_形式的旧代理 ID。 - 状态文件路径: StickyProxy 将状态固定保存在 CPA 工作目录下的
plugins/stickyproxy-state,即相对于 CPA 进程工作目录的路径:<CPA 工作目录>/plugins/stickyproxy-state。 - 升级前请备份该文件;新版本不会读取旧格式状态。升级后保留在 CPA 账号文件中的既有
proxy_url不会自动清除,但需重新添加代理并重新应用,才能建立新的账号代理映射。
- 旧插件状态格式不兼容。 新版本会拒绝旧字段,例如
- 验证:
- PR 记录显示已执行 Go 测试、前端类型检查与测试,并构建 Linux 插件产物;同时验证插件可加载且 dashboard 返回 HTTP 200。
分类摘要
重点更新
- StickyProxy 现在以明确持久化的“账号 → 代理”映射管理应用关系,避免通过遍历代理并比对最终 URL 来猜测账号属于哪一条代理。账号与代理数量增加时,按代理筛选与识别逻辑更直接、可预测。
破坏性变更
- 管理接口从
endpoints全面切换至proxies,例如:/stickyproxy/endpoints→/stickyproxy/proxiesendpoint_id→proxy_idproxy_endpoint_id→proxy_id- 状态响应
endpoints→proxies
- 持久化状态字段切换至
proxies和account_proxy_mappings,且不兼容读取旧状态;升级需备份、重新录入代理并重新应用。 - 代理 ID 从
ep_前缀变为px_前缀,外部保存或引用旧 ID 的自动化需更新。
v0.1.4
Release Notes
来源:v0.1.3..HEAD 的 merged PR,commit 用于补充核对。
概览
- 本次包含 5 个合并 PR,主要加入普通代理平台、持久化账号端点映射,并更新安装与使用文档。
- 破坏性变更:账号已应用端点不再从
proxy_url自动反查;升级后需重新应用端点以建立映射。
PR 详情
#7 Persist account endpoint mappings
- 链接:#7
- 作者:MarvekG;合并时间:2026-08-24 16:47 UTC
- 类型:新功能、破坏性变更
- 变更内容:持久化
auth_index -> endpoint_id映射;账号端点展示、端点筛选和按端点清除均直接查询该映射,不再遍历端点并比较账号proxy_url。 - 影响说明:大量账号或端点下的已应用识别与筛选更直接。单个账号写入失败时,其余账号继续处理,只有成功账号更新映射。
- 迁移要求:旧账号的
proxy_url不会自动映射到端点。升级后会显示为“其他账号代理”,需对目标账号重新应用端点。
#6 Add generic proxy platform
- 链接:#6
- 作者:MarvekG;合并时间:2026-08-24 16:01 UTC
- 类型:新功能
- 变更内容:新增
generic普通代理平台,支持 HTTP、HTTPS 和 SOCKS5 地址;应用时直接写入保存后的基础代理地址,不注入邮箱 hash、session、SID 或 TTL。 - 影响说明:可管理不需要 StickyProxy 改写认证信息的通用代理。多个账号使用同一普通代理时可能共享上游认证、会话或出口行为,粘滞性和隔离性由上游代理决定。
- 关联内容:加入前端表单、批量导入、代理列表和中英文文案支持,并补充普通代理与账号端点映射设计文档。
#5 docs: simplify README language
- 链接:#5
- 作者:MarvekG;合并时间:2026-08-24 12:15 UTC
- 类型:文档
- 变更内容:将 README 改写为更直接的中文说明,并补充 Linux.do 友链。
- 影响说明:新用户更容易理解插件用途和安装方式;不改变运行行为。
#4 docs: improve README installation guide
- 链接:#4
- 作者:MarvekG;合并时间:2026-08-24 12:08 UTC
- 类型:文档
- 变更内容:补充项目概览、支持平台、界面截图、Plugin Store 安装步骤、源码构建说明与安全说明。
- 影响说明:部署者可按 README 直接完成 Plugin Store 或源码安装;不改变运行行为。
#3 Release v0.1.3 metadata
- 链接:#3
- 作者:MarvekG;合并时间:2026-08-24 10:50 UTC
- 类型:发布元数据
- 变更内容:将
v0.1.3Plugin Store 元数据合入受保护的main。 - 影响说明:此 PR 的源 commit 已是
v0.1.3tag,因此相对v0.1.3..HEAD没有新增功能代码或用户行为变化。
分类摘要
重点更新
- 账号端点关系现在由持久化映射管理,不再依赖 URL 反查。升级后请重新应用所需端点,以建立映射。
新功能
- 新增
generic普通代理平台,可将保存后的代理 URL 原样应用到选中账号。
破坏性变更
- 历史
proxy_url不会自动迁移为账号端点映射。 - 端点识别、按端点筛选和按端点清除不再依据 URL 相等性判断。
v0.1.3
Highlights
- Add independent account-level proxy application for explicitly selected CLIProxyAPI accounts.
- Add account selection, filtering, pagination, and proxy-state views for targeted synchronization and clearing.
- Apply proxy changes through server-side host.auth callbacks with transactional compensation rollback on failure.
- Preserve unrelated account fields and update Plugin Store metadata to 0.1.3.
Verification
- Web UI type-check, tests, and production build passed.
- Go tests and
go vet ./...passed. - Linux native plugin build with injected version
0.1.3passed.
Cross-platform Plugin Store archives and checksums.txt are attached automatically by the release workflow.
