StickyProxy 是 CLIProxyAPI 的原生插件,可以为不同账号分别配置上游代理。插件会根据账号邮箱生成稳定的会话标识,让同一账号重复使用同一代理时,尽量保持出口 IP 不变。
插件直接在 CLIProxyAPI 服务端保存账号代理配置,不需要额外启动 Python、Node.js 或本地代理服务。完整代理地址不会经过浏览器页面。
- 管理多个代理:保存代理名称、平台和基础代理地址,随时新增、编辑或删除。
- 为账号保持固定会话:同一账号使用同一条代理时,会使用相同的会话标识。
- 只修改选中的账号:同步前可筛选并勾选账号;没选中的账号不会被改动。
- 支持四家代理平台:Decodo、DataImpulse、Resin 和 1024Proxy。
- 测试代理线路:查看本次测试的出口 IP、国家、地区和城市,不会占用账号正在使用的会话。
- 按需清理代理:可清除指定账号的代理;取消代理时也只会清理真正使用它的账号。
CPA 账号邮箱 + 选择的代理
↓
生成固定会话标识
↓
按代理商要求生成账号专用代理地址
↓
保存到该账号的代理设置
↓
CPA 使用该代理访问外部服务
账号单独设置的代理优先于 CPA 的全局代理。因此,没有单独配置代理的账号,仍会使用全局代理或直接连接。
| 平台 | 账号会话标识的写入方式 |
|---|---|
| Decodo | 在用户名中加入 -session-<hash>-sessionduration-30 |
| DataImpulse | 在用户名中加入 ;sessid.<hash> |
| Resin | 使用 Platform.sp_<hash> 作为认证用户名 |
| 1024Proxy | 替换或加入用户名中的 -sid-<hash>,原有 -t-... TTL 和定位参数保持不变 |
可使用 http://、https:// 和 socks5:// 代理地址;输入时也兼容 socks:// 与 socks5h://。其他协议无法保存。
StickyProxy 目前还没有进入官方插件仓库,但可以添加本项目的插件商店来源后安装:
-
打开 CLIProxyAPI(CPA)的 系统设置。
-
在“插件商店来源”中添加下面的地址:
https://raw.githubusercontent.com/MarvekG/CPAStickyProxy/main/registry.json -
刷新插件列表,搜索 CPAStickyProxy(插件 ID:
stickyproxy)。 -
点击安装,并在插件管理中启用 StickyProxy。CPA 会自动下载适合当前系统和 CPU 架构的版本。
-
从 CPA 主页面的插件菜单打开 StickyProxy。如果你已登录 CPA 管理中心,插件会自动使用已有登录状态。
这一节只适合本地开发和验证;日常安装请使用上面的 CPA 插件商店。构建需要 Node.js 24+、pnpm、Go、CGO 和 C 编译器,建议使用与目标 CLIProxyAPI 相同的 Go 版本。
git clone https://github.com/MarvekG/CPAStickyProxy.git
cd CPAStickyProxy/plugin/web-ui
pnpm install --ignore-scripts
cd ../..
./plugin/build-linux.sh如果目标项目要求指定 Go 版本,可以这样构建:
GOTOOLCHAIN=go1.26.0 ./plugin/build-linux.sh- 打开 StickyProxy,添加一条代理:填写名称、平台和基础代理地址。
- 选择要使用的代理,打开账号选择页面。
- 按服务商、账号类型、状态、优先级或备注筛选账号,勾选这次需要应用代理的账号。
- 确认同步。插件会为每个已选账号生成代理地址,并保存到它的账号设置中。
- 想确认线路是否可用时,点击代理的测试按钮,查看出口 IP 和所在地。
同步会覆盖已选账号原来的代理设置,且不会备份旧值;没有选中的账号不会受影响。如果同步中途失败,插件会撤销这次已完成的修改。
StickyProxy 只保存你添加的代理配置和当前选择;不会保存账号邮箱、账号与代理的绑定关系、会话标识、最终代理地址、用量或 IP 历史。例如:
{
"active_endpoint_id": "ep_xxx",
"endpoints": [
{
"name": "US-Decodo",
"platform": "decodo",
"base_url": "http://user:password@gate.decodo.com:7000"
}
]
}代理地址中可能包含代理密码或 Resin Token。按照当前设计,这些内容会以明文保存在 CLIProxyAPI 工作目录下的
plugins/stickyproxy-state文件中。文件权限为0600,创建的plugins目录权限为0700。请妥善保护 CLIProxyAPI 的工作目录及其备份文件。
前端源码在 plugin/web-ui/src/,构建后会写入 plugin/web/dist/index.html;请不要手动修改生成文件。
# 前端检查、测试和构建
cd plugin/web-ui
pnpm run check
pnpm test
pnpm run build
# 原生插件测试
cd ../
go test ./...发布新版本时,GitHub Actions 会生成适用于 Linux、macOS 和 Windows 的插件安装包,并提供 checksums.txt 校验文件。当前 StickyProxy 通过项目自带的 registry.json 提供给 CPA 插件商店。正式进入官方 CLIProxyAPI-Plugins-Store 后,用户将不再需要手动添加这个来源。

