Toran Proxy已停更且无法兼容Composer 2.5+,因其不支持v2协议路径、不透传signature字段、私有包同步失效;推荐替代方案是composer-proxy,需禁用默认源并配置本地仓库。

别搭了,Toran Proxy 已停更且无法兼容 Composer 2.5+,强行配置只会遇到 404、签名校验失败、私有包同步中断,甚至触发降级到无校验模式——存在供应链投毒风险。
为什么 Toran Proxy 现在根本跑不起来
Toran Proxy 在 2021 年底归档,官方不再更新。它不解析也不透传 Composer v2 强制要求的 signature 字段,导致 composer diagnose 显示 signature verification disabled;同时不支持 v2 的 p2/ 协议路径(如 GET https://your-toran/p2/laravel/framework.json),直接返回 404;GitHub/GitLab API token scopes 也已废弃,私有包同步基本失败。
-
composer install -v会明确暴露出请求被拒路径,不是网络不通,而是协议不匹配 - 即使手动补路由规则,也无法生成合法的
providers-api签名响应 - 用自签证书时加
composer config -g secure-http false只能绕过 TLS,解决不了协议和签名问题
执行 composer config -g repo.packagist composer https://toran.example.com 却没生效?
命令成功不代表流量接管。常见静默失效原因:
阿里百炼大模型平台多人共享账号用量统计代理服务。解决公司共用账号时无法区分个人用量的问题。适用场景:1)部署用量统计代理;2)统计多人Token用量和调用次数;3)管理大模型API调用配额。
- 项目
composer.json中存在"repositories"字段(哪怕只配了一个私有包),全局配置会被完全忽略——优先级:项目 > 全局 -
repo.packagist键名写错成repos.packagist或packagist.org,Composer 直接无视 - Toran 服务未监听 HTTPS,或证书无效;Composer 2.x 默认拒绝 HTTP 源,除非显式加
--allow-http - Toran Web 根目录未返回标准
packages.json(含完整 provider list),Composer 会静默 fallback 回packagist.org,连错误都不报
该用什么替代 Toran Proxy
目前唯一能平替 Toran 行为、又通过全部 Composer 2.5+ 安全检查的开源方案是 composer-proxy(Go 编写,无数据库,自动缓存元数据与 ZIP 包):
- 启动命令:
./composer-proxy -upstream https://packagist.org -listen :8080 - 全局配置:
composer config -g repo.packagist composer http://localhost:8080(注意是http,非https) - 必须禁用默认源:
composer config -g repo.packagist false,否则 Composer 仍会先查packagist.org导致失败 - 首次请求较慢(拉取并缓存 meta),后续同包安装快于直连,ZIP 包也落盘缓存
真正容易被忽略的点是:Composer v2 协议强制校验上游签名,而 Toran 不透传 signature 字段——这不是配置技巧问题,是协议层断裂。换镜像源不是调参,是换底层代理逻辑。










