命令行配置#CLI#订阅更新#延迟选线

快连在Ubuntu命令行如何更新订阅节点并自动选延迟最低线路?

2026/5/6快连官方团队
快连 Ubuntu 命令行 更新订阅, 快连 自动选延迟最低线路, Ubuntu 快连 CLI 订阅失败 排查, 快连 命令行 切换节点 方法, 快连 延迟选线策略 与手动指定 区别, Ubuntu 系统 快连 最低延迟 自动连接, 快连 订阅链接 更新命令, 快连 延迟测试 命令行参数
Ubuntu命令行下用快连更新订阅节点并自动选延迟最低线路的完整步骤与取舍建议

功能定位:为什么要在命令行做这件事

快连在桌面端提供图形界面,但 Ubuntu 服务器、NAS 或远程开发机往往没有 GUI。命令行更新订阅并自动选线,能把「延迟最低」这一指标固化到脚本里,方便 CI/CD、爬虫、海外 API 调用等场景在开机或定时任务时无人值守地获得最优出口。与手动点选相比,CLI 方案的好处是「可重复、可审计、可回滚」;代价则是需要理解配置文件格式与测速命令的返回结构。

功能定位:为什么要在命令行做这件事
功能定位:为什么要在命令行做这件事

前置条件与版本边界

截至当前的最新版本(请以实际安装版本为准)的快连 Linux 客户端仍采用 netquick-core + netquick-cli 双组件架构,依赖 systemd 托管后台。官方仓库仅支持 x86_64 与 arm64,Ubuntu 20.04 及以上内核 ≥5.4。若你用的是 Ubuntu 18.04 或非 systemd 容器,需要额外处理启动脚本,否则 netquick-cli status 会返回 daemon not reachable

安装路径差异

Debian 系默认把可执行文件放到 /usr/bin,配置文件在 /etc/netquick/;若你通过 AppImage 或手动 tar 包安装,则路径随解压目录变化。下述命令统一用 $NQ_BIN 指代,请替换成真实路径。

更新订阅:一条命令拉取最新节点清单

订阅链接通常以 https://api.netquick.net/sub/... 格式给出,含 token。CLI 不会存明文密码,而是把 token 写入受 600 权限保护的 subscription.conf

  1. 写入订阅地址
    sudo $NQ_BIN config sub --add "https://api.netquick.net/sub/xxxxxxxx"
  2. 立即拉取
    sudo $NQ_BIN sub update 若返回 fetched 78 nodes 即成功。

经验性观察:若节点数长期为 0,先检查系统时间是否准确,TLS 证书校验失败会被静默拒绝。

自动选延迟最低线路:两种官方策略

策略 A:内置 ping 模式(默认)

执行 $NQ_BIN latency-test --auto,客户端会并发 icmp ping 全部节点,选 RTT 最小者写入 /etc/netquick/current-node.json。整个过程在测试环境下大约需要数十秒(因设备而异)。

策略 B:AI 调度 3.0(需要打开 experimental flag)

/etc/netquick/daemon.conf 追加 ai_select=true,重启服务后,netquick-core 会基于实时带宽、丢包、RTT 三因子打分,每 90 秒评估一次,可能在中途自动跳节点。对需要长连接的程序(如 SSH),可在 daemon.conf 里把 hold_time 提高到 600 s,减少切换频率。

把两步串成无人值守脚本

新建 /usr/local/bin/nq-auto.sh

#!/bin/bash
set -e
NQ_BIN="/usr/bin/netquick-cli"
echo "$(date) 开始更新订阅"
sudo $NQ_BIN sub update
echo "$(date) 开始延迟测试并选线"
sudo $NQ_BIN latency-test --auto
echo "$(date) 当前节点: $(sudo $NQ_BIN status | jq -r .node)"

赋可执行权限后,用 crontab -e 加一行:0 */3 * * * /usr/local/bin/nq-auto.sh >> /var/log/nq-auto.log 2>&1,即可每三小时自动更新并切到最低延迟节点。

把两步串成无人值守脚本
把两步串成无人值守脚本
警告:若机器本身跑在高延迟网络(如卫星链路),ping 值波动大,AI 调度可能频繁跳节点,导致 TCP 重传。此时应关闭 ai_select,改用手动指定出口。

验证与观测:确保脚本真的生效

  1. 看日志:journalctl -u netquick-core -f 若出现 switched to node=xxx reason=lowest_latency,说明调度已生效。
  2. 外部探针:另外开一台机器,对同一目标域名执行 mtr -rwc 50,比较脚本运行前后 RTT 是否降低。
  3. 回退检查:若延迟不降反升,执行 $NQ_BIN latency-test --rollback 可立即切回上一次节点。

常见故障排查表

现象可能原因验证步骤处置
sub update 报 401token 失效浏览器打开同一链接后台重新生成订阅地址
latency-test 全超时本地 ICMP 被禁ping 8.8.8.8在 daemon.conf 改用 tcp-test
切换后 SSH 卡顿AI 跳节点journalctl 看切换频率提高 hold_time 或关闭 ai_select

不适用场景与取舍建议

  • 需要固定出口 IP 的白名单环境(如银行 API):自动选线会导致 IP 变化,触发风控。应手动锁定 node_id 并关闭定时更新。
  • IPv6 Only 内网:截至目前的最新版本,快连 CLI 在纯 IPv6 机器上解析订阅域名时偶发卡住,经验性观察可见提升空间;可先用 --ipv4-fallback 参数缓解。
  • 低于 1 vCPU 的容器:并发 ping 会占满 CPU,导致业务延迟抖动。此时把 --concurrent 降到 10 以下。

与第三方监控协同

在 Prometheus 环境,可把 $NQ_BIN status --json 输出通过 node_exporter 的 textfile 收集,暴露 netquick_rtt_msnetquick_node_id 两项指标,配合 Grafana 面板即可在更大维度观察「自动选线」带来的延迟收益。

最佳实践检查表

部署前

  1. 确认 Ubuntu ≥20.04 且内核 ≥5.4
  2. 校验系统时间误差 <5 s
  3. 给脚本配独立日志文件并加 logrotate

运行中

  1. 至少保留一条手动节点作逃生通道
  2. 监控「切换频率」>6 次/小时时报警
  3. 每月核对订阅链接是否续期

FAQ(使用 FAQPage Schema)

快连 CLI 是否支持 ARMv7?

官方仓库仅提供 arm64 与 x86_64 二进制;ARMv7 需自行交叉编译,但不在支持矩阵,可能出现未定义行为。

延迟测试会消耗多少流量?

icmp ping 每节点约 64 Byte×20 次,80 节点合计 ≈100 KB;若启用 tcp-test,则每条连接再增加数 KB,可忽略。

如何临时禁止自动切换?

执行 $NQ_BIN config set ai_select=false 并重启 daemon;或在 daemon.conf 里把 hold_time 设成极大值。

收尾与下一步行动

在 Ubuntu 命令行完成「订阅更新+延迟选线」只需两条核心指令,但真正的价值在于把结果固化到脚本、监控和告警里,形成可验证的闭环。先在小范围机器试点,收集一周延迟数据,确认收益大于切换抖动后,再推广到批量环境。若你的业务对 IP 一致性敏感,记得关闭 AI 调度并为关键任务预留静态节点——自动化的前提是「随时可回退」。

#CLI#订阅更新#延迟选线#Ubuntu#自动化