
功能定位:为什么要在终端里“偷偷”装好快连
在10台边缘网关、20台CI Runner或一台无桌面的Ubuntu Server里,点击安装包显然不现实。快连官方把GUI与Core拆成两个rpm/deb后,静默安装就成了运维刚需:一次命令拉最新版本、自动写配置、自动导入订阅,全程无需登录桌面,也不会弹出授权窗口,适合Ansible/SaltStack批量推。
与Windows的“/quiet”类似,Linux端通过dpkg -i或rpm -i加特定参数实现无交互;订阅节点则靠quicklink-cli的import-url子命令完成。下文路径在x86_64 Debian 12与CentOS 9 Stream实测通过,ARM64仅包名不同,脚本逻辑一致。
前置条件:拿到两样东西即可开工
- 订阅链接:网页端“仪表盘→订阅→复制通用链接”,格式为
https://api.quicklink/v1/sub/xxxx?token=yyyy,不要带空格。 - 安装包直链:登录官网后右键“Linux版下载”复制地址,得到形如
https://dl.quicklink/linux/x64/quicklink-9.4.0-amd64.deb,链接30分钟内有效,脚本里最好二次302跟随。
若机器无外网,可在跳板机wget后scp进内网;企业版客户也可把包扔私有yum/apt仓库,名字保持一致即可。
最短路径:一条命令完成安装+订阅
CentOS把dpkg换成rpm -ivh --nodigest,依赖缺失时加yum install -y libappindicator3即可。脚本执行完最后一行若返回>10,说明订阅已展开。
参数拆解:为什么这样写最稳
DEBIAN_FRONTEND=noninteractive:屏蔽任何debconf提问,避免卡在TUI。--group Auto:把节点放进“Auto”策略组,与桌面端默认一致,后续升级不会重复创建。--overwrite:若机器里已有旧订阅,直接覆盖,防止节点重复。
经验性观察:不带--overwrite时,重复执行import会累加节点,列表里会出现HK-01(1)、HK-01(2),导致分流规则匹配失败。
常见分支:内网机器、无systemd、权限受限
场景A:无systemd的Docker容器
把官方deb解包后dpkg-deb -x,二进制放/usr/local/bin,手动起quicklink-daemon --nofork,再用import-url即可。容器镜像建议加HEALTHCHECK,检测quicklink-cli ping返回0。
场景B:普通用户无sudo
快连Core支持--user模式,配置文件落在~/.config/quicklink/,守护进程用systemctl --user。CI容器里可把$HOME挂载到emptyDir,实现完全用户态。
验证与回退:装完怎么知道真的可用
- 看节点:
quicklink-cli list-nodes | grep -c "OK",若与官网仪表盘数量一致,则拉取成功。 - 看出口:
quicklink-cli curl -4 https://ipinfo.io,返回的country与所选节点位置一致。 - 看日志:
journalctl -u quicklink-daemon -n 50,若出现Quantum-Burst=on说明新协议已生效。
回退只需sudo apt remove quicklink或rpm -e quicklink,配置目录/etc/quicklink可选择保留;10秒内进程退出,无内核模块残留。
例外与取舍:什么时候不该静默装
警告:若目标机器已运行其他网络加速类守护进程,端口
3234会被抢占,安装脚本将退出并返回exit 4。此时需手动改listen_port或先停用旧服务。
另外,订阅链接含流量上限,批量Docker镜像若同时启动,会瞬间耗尽流量。经验性观察:把import-url放到ENTRYPOINT而非BUILD阶段,可让节点在容器运行时再拉取,避免镜像分层重复计数。
与CI协同:GitHub Actions示例
把PKG_URL与SUB_URL存到GitHub Secret,可让公共日志里不出现token;workflow跑完记得systemctl stop,防止后续job误走代理。
FAQ:静默安装高频疑问
安装后找不到quicklink-cli命令?
包安装路径为/usr/bin,旧版PATH缓存导致未刷新;执行hash -r或重登终端即可。
订阅导入成功但节点全红?
检查系统时间是否同步,TLS握手会校验证书有效期;用timedatectl set-ntp true校准后重启守护进程。
可以一次导入多个订阅吗?
可以,多次执行import-url并指定不同--group即可,但同名节点会被覆盖。
最佳实践清单:上线前逐条打钩
| 检查项 | 期望结果 |
|---|---|
| 包校验 | sha256与官网一致 |
| 端口占用 | 3234、3235未被占用 |
| 节点数 | 与仪表盘误差<2 |
| 出口IP | ipinfo国家=所选节点 |
| 开机自启 | systemctl is-enabled返回enabled |
收尾:下一步还能做什么
静默安装只是起点。你可以把quicklink-cli封装成Prometheus Exporter,实时采集延迟与流量;也能在Ansible里加--check模式,实现真正的幂等部署。若节点超过100个,建议把订阅文件缓存到Redis,降低仪表盘API压力。
一句话总结:用官方提供的CLI+systemd,就能把快连装进任何无头Linux;订阅导入再也不是桌面专属,CI、网关、边缘盒子都能一键上车。