虚拟机部署CPA和Grok2Api

Evaryn 2026-06-18 17:19 1

最开始加入论坛看到很多佬用CPA的以及配置CPA的教程,一直想要试试,前段时间一直忙,最近考完试,总算抽出时间做了一下,现在总结下,希望能帮一些人。



场景:

在 Mac 上使用 Parallels Desktop 运行 Ubuntu 虚拟机,在 Ubuntu 中部署CPA 和 Grok2API:



  • CLIProxyAPI CPA:统一 OpenAI-compatible API 入口

  • CPA Manager Plus (CPAMP):CPA 的 Web 管理面板

  • Grok2API:管理 xAI/Grok 账号池,并以 OpenAI-compatible API 形式提供服务

  • 最终目标:

    Mac 客户端



    CPA: 8317



    Grok2API: 8000



    Grok/xAI 账号池



参考教程:


https://linux.do/t/topic/2138939?u=elevaene


https://linux.do/t/topic/2138939/33?u=elevaene



前提

非常感谢各位佬友对我之前文章的认可,既然大家对此类的文章比较感兴趣,恰巧我也研究过,所以继续给大家带来一个搭建中转站的教程
该文章不会着重的讲解CPA的使用,有兴趣的佬友可以看我的这篇文章:拒绝token焦虑 cpa(CLI Proxy API)反代 chatgpt(Codex) 保姆级全图文教程 - 开发调优 - LINUX DO
本教程需要的技术(版本仅作为参考):
VPS(云…



大家好,CPA Manager Plus 发布正式版了。
当前最新版本:6 月 16 日 v1.6.0
项目地址:
https://github.com/seakee/CPA-Manager-Plus
感谢各位佬之前的反馈和支持,同时如果对佬们有帮助,欢迎点个 Star,也欢迎提 issue 或 PR。
还有一个比较重要的事:CPA Manager Plus 不是 CPA 本体,也不能替…



因受官方风控持续关注、个人精力等多方因素影响,Grok2API 项目即日起将正式停更。仓库代码将归档并仅作学习与研究参考,后续不再进行功能开发、问题修复与技术支持。
好消息是 x-statsig-id 仍可以通过其他手段获取/破解(后续可以分享一下,项目已经被关注了,发布也会很快被杀)
同时站内也有很多佬对 Grok API 平台的进行了逆向,可以自行搜索。
感谢各位一路以来各位佬的关注与支持…


一、版本选择


我的环境是Mac+ Parallels Ubuntu 虚拟机,因此需要下载 Linux ARM64 版本,即CLIProxyAPI_7.2.15_linux_aarch64.tar.gz


不知道下载那个,可以在 Ubuntu 中使用如下命令确认虚拟机的架构,并下载对应版本


uname -m

二、部署 CPA


从GitHub[Releases · router-for-me/CLIProxyAPI · GitHub]上下载CPA,然后解压后进入项目目录


如果没有 config.yaml,可以从示例配置复制:


cp config.example.yaml config.yaml

编辑配置:


nano config.yaml

核心配置如下,可以对照进行修改,实在不懂,使用AI工具辅助:


host: "0.0.0.0" # 如果是仅在本机使用,可以设置为127.0.0.1
port: 8317
tls:
enable: false
remote-management:
allow-remote: true # 表示允许 Mac 主机访问 Ubuntu 虚拟机里的服务
secret-key: "换成你的CPA管理密码" # 登录管理页面的密码
disable-control-panel: false
auth-dir: "/home/parallels/.cli-proxy-api"
api-keys:
- "换成你的CPA_API_KEY" #使用模型的API-Key
debug: false


保存文件:


Ctrl + O
Enter
Ctrl + X

如果是vim打开的,使用":wq"进行保存;

之后,给程序执行权限:


chmod +x cli-proxy-api

前台测试启动:


./cli-proxy-api --config ./config.yaml

确认没有报错后,可以改为后台启动:


nohup ./cli-proxy-api --config ./config.yaml > cliproxyapi.log 2>&1 &

检查 CPA 是否监听 8317:


sudo ss -lntp | grep ':8317 '

正常应看到类似日志信息:


LISTEN 0 4096 0.0.0.0:8317

三、部署 CPA Manager Plus


因为最新版的CPA没有用量统计功能,这里使用CPAMP进行功能增强,推荐使用 Docker 部署。


执行如下命令:


docker run -d \
--name cpa-manager-plus \
--restart unless-stopped \
--add-host=host.docker.internal:host-gateway \
-p 18317:18317 \
-v cpa-manager-plus-data:/data \
seakee/cpa-manager-plus:latest

查看容器是否运行:


docker ps

应该能看到0.0.0.0:18317->18317/tcp这样的信息。

查看 CPAMP 管理密钥:


docker logs cpa-manager-plus

日志中会出现类似CPA Manager Plus admin key generated: cmp_admin_xxxxx 的内容

这个是 CPAMP 登录密钥,不是 CPA 的 secret-key

这里的两种密钥要区分CPAMP Admin Key,登录 http://Ubuntu虚拟机IP:18317/management.html时使用的;CPA Management Keyconfig.yamlremote-management.secret-key 的值,在CPA管理页面登录使用。


浏览器访问 ‘http:// Ubuntu IP:18317/management.html’, 然后填写密码,进行登录(先填写的是CPAMP,也就是’cmp_admin_xxxxx’,然后是自己设置的CPA的密码)


后面没截到图片


四、部署 Grok2API


站内大佬经常发grok账号的福利帖,不懂怎么使用,在站里查询,找到了grok2api这个项目,尝试进行了部署[GitHub - chenyme/grok2api: Grok2API 是一个基于 FastAPI 构建的 Grok 网关,支持将 Grok Web 能力以 OpenAI 兼容 API 的方式转换。 · GitHub],下载解压后进入 Grok2API 项目目录:


cd ~/grok2api

首次运行可以使用前台命令:


uv run granian --interface asgi --host 0.0.0.0 --port 8000 --workers 1 app.main:app

如果要从Mac端浏览器访问管理后台,必须监听 0.0.0.0,不要只监听127.0.0.1。浏览器访问http://Ubuntu虚拟机IP:8000/admin/account ,使用初始密码 grok2api 登录


Grok2API 模型列表测试:


curl http://10.211.55.3:8000/v1/models

五、Grok2API 后台 nohup 启动


如果前台启动 Grok2API,会占用一个终端。所以推荐使用 nohup 后台启动。


1. 关闭前台 Grok2API


如果当前终端正在前台运行 Grok2API,直接按Ctrl + C关闭,如果关不掉,可以用sudo fuser -k 8000/tcp命令进行关闭。使用ss -lntp | grep ':8000 '命令确认 8000 端口已停止,没有输出表示已停止。


2. 后台启动


直接使用虚拟环境中的 granian进行启动,避免出现找不到uv的问题,相关命令如下:


cd \~/grok2api
nohup ./.venv/bin/granian --interface asgi --host 0.0.0.0 --port 8000 --workers 1 app.main:app > grok2api.log 2>&1 &

检查是否启动成功:


ss -lntp | grep ':8000 '

查看日志:


tail -n 50 grok2api.log

六、CPA 接入 Grok2API


Grok2API 已经管理 xAI/Grok 账号池,CPA 不需要导入每个 Grok 账号。正确做法是让CPA 把Grok2API 当成一个 OpenAI-compatible 上游 Provider。首先进入CPAMP->配置面板 → 源文件编辑



填写如下信息:


openai-compatibility:
- name: "grok2api"
disabled: false
base-url: "http://10.211.55.3:8000/v1"
api-key-entries:
- api-key: ""
models:
- name: "grok-4.20-fast"
- name: "grok-4.20-0309-non-reasoning"


  • 注意:配置中base-url也可以写为"http://127.0.0.1:8000/v1",这是因为 CPA 和 Grok2API 都运行在同一个 Ubuntu 虚拟机中,CPA 访问 Grok2API 可以直接用 Ubuntu 本机地址。


如果 Grok2API 配置了 API Key,则填写:


api-key-entries:
- api-key: "你的Grok2API_API_KEY"

可以通过grep -n "api_key\ |API_KEY" .env data/config.toml 2>/dev/null 命令查看 Grok2API 是否设置了 API Key。


总结


以上就是配置的全过程,

最后,感谢L站的各位佬之前分享的教程,感谢这个伟大的时代,感谢GPT

祝各位在L站玩的开心,生活如意,活得自由

晚安,好梦

最新回复 (2)
  • 清柚玉露 06-18 17:27
    1

    问问佬觉得 orbstack 有没有戏呢?这样可以少搞一个 parallels 的问题,然后把 cpa 与 grok2api 全塞 docker 中。

  • Evaryn 楼主 06-18 18:01
    2

    我觉得可以,可以看下这个帖子


    https://linux.do/t/topic/2138939?u=elevaene

* 帖子来源Linux.do
返回