0 前言
最近测试 G 厂发布的 IDE 工具 Antigravity。在 Linux 环境(Ubuntu 20.04)下部署时遇到两个核心阻碍:一是 APT 仓库无法连接导致安装失败;二是软件启动后,浏览器端登录成功,但客户端无法接收回调,一直卡在等待界面。
排查后确认为网络环境问题。普通的 HTTP 代理只能解决部分请求,对于系统级依赖下载和非标准协议的回调,需要更底层的流量接管。本文记录从安装源修复到配置 Cl*** TUN 模式的完整流程。
1 解决 APT 源连接超时与依赖冲突
Antigravity 的安装包托管在 pkg.dev,直连通常会报 Connection timed out (Err: 29)。
不要直接修改 /etc/apt/apt.conf,污染全局配置容易影响内网环境。推荐在命令运行时通过参数注入代理地址。
操作步骤:
- 下载 GPG 密钥:如果
curl也不通,需先导出环境变量。export http_proxy=http://127.0.0.1:7890 export https_proxy=http://127.0.0.1:7890 curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --yes --dearmor -o /etc/apt/keyrings/antigravity-repo-key.gpg - 带代理安装:
bash # 指定代理进行 update 和 install sudo apt -o Acquire::http::Proxy="http://127.0.0.1:7890" -o Acquire::https::Proxy="http://127.0.0.1:7890" update sudo apt -o Acquire::http::Proxy="http://127.0.0.1:7890" -o Acquire::https::Proxy="http://127.0.0.1:7890" install antigravity
异常处理:
如果在安装时提示 Unmet dependencies,通常是由于之前中断的安装导致依赖(如 chrome-remote-desktop)损坏。
执行修复:
sudo apt --fix-broken install
# 或者直接卸载阻塞进程的包
sudo apt remove chrome-remote-desktop
2 登录回调失效的根本原因
安装完成后启动 Antigravity,点击登录跳转浏览器,授权后客户端无反应。
原因:Antigravity 的登录回调监听并未走终端设置的 http_proxy 环境变量。
虽然可以使用 proxychains 强行接管,但对 Go 编写的程序或 Electron 应用稳定性较差。最彻底的解法是开启网络工具的 TUN 模式,创建虚拟网卡接管所有系统流量。
3 核心替换:从开源版到 M*****
GitHub 上常见的 cl***-linux-amd64 (Open Source) 版本早已停止维护且不支持 TUN 模式。若配置文件中包含 tun 字段,该版本会直接忽略或无法启动。
必须更换为 M*****(原 Meta 内核)。
- 下载源:GitHub
MetaCubeX/m*****。 - 注意:该仓库简介目前可能伪装为“某游戏数据解析库”(Python Pydantic model),这是为了规避审查,实际上它是 Go 语言编写的二进制核心。
- 操作:下载 Release 中的
m*****-linux-amd64-vX.X.X.gz,解压并赋予执行权限,重命名为cl***替换旧文件。
4 配置文件与 DNS 冲突处理
开启 TUN 模式必须配合 DNS 劫持。需修改 config.yaml(或你使用的配置文件)。
关键配置段:
dns:
enable: true
# Linux 下 53 端口常被 systemd-resolved 占用,改为 1053 避免冲突
listen: 0.0.0.0:1053
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 8.8.8.8
- 1.1.1.1
tun:
enable: true
stack: system # 推荐 system,如果报错可尝试 gvisor
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
端口占用报错:
如果日志出现 listen udp 0.0.0.0:53: bind: address already in use,说明未修改 listen 端口。不要强行关闭系统 DNS 服务,按上述配置改为 1053 即可。
5 资源库缺失与启动参数陷阱
首次运行 M***** 核心时,日志常报错:can't initial GeoIP: ... context deadline exceeded
原因:
- 缺少
geoip.metadb和geosite.dat路由规则库。 - 程序默认去系统目录找文件,且此时网络未通,无法自动下载。
- 关键错误:使用
sudo运行且未指定工作目录。
解决方案:
- 手动下载:从 GitHub 相关仓库下载
geoip.metadb和geosite.dat。 - 放置文件:将两个文件直接放入
cl***可执行文件同级目录。 - 正确启动命令:
必须加上-d .参数,强制程序读取当前目录的数据库和配置。# 假设配置文件名为 WestData sudo ./cl*** -d . -f WestData
6 验证
观察日志,出现以下字样即成功:
DNS server listening at: [::]:1053[TUN] tunable active(或inbound tun create success)
此时系统流量已由工具接管。新开终端直接输入 antigravity 启动,登录跳转即可正常回调。

发表回复