避坑指南: Linux 下 Antigravity 安装与 Cl* TUN 模式配置实录

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,污染全局配置容易影响内网环境。推荐在命令运行时通过参数注入代理地址。

操作步骤:

  1. 下载 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
  2. 带代理安装
    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

原因:

  1. 缺少 geoip.metadbgeosite.dat 路由规则库。
  2. 程序默认去系统目录找文件,且此时网络未通,无法自动下载。
  3. 关键错误:使用 sudo 运行且未指定工作目录。

解决方案:

  1. 手动下载:从 GitHub 相关仓库下载 geoip.metadbgeosite.dat
  2. 放置文件:将两个文件直接放入 cl*** 可执行文件同级目录。
  3. 正确启动命令
    必须加上 -d . 参数,强制程序读取当前目录的数据库和配置。 # 假设配置文件名为 WestData sudo ./cl*** -d . -f WestData

6 验证

观察日志,出现以下字样即成功:

  • DNS server listening at: [::]:1053
  • [TUN] tunable active (或 inbound tun create success)

此时系统流量已由工具接管。新开终端直接输入 antigravity 启动,登录跳转即可正常回调。


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注