命令行配置

如何在Linux终端中通过命令行配置快连连接?

作者:快连官方团队
命令行Linux配置
快连 Linux 命令行配置教程, 快连 命令行模式 如何启用, 快连 无桌面环境 连接方法, 快连 systemd 开机自启 设置, 快连 命令行 无法连接 怎么办, 快连 CLI 与 GUI 区别, Linux 终端 快连 安装步骤, 快连 命令行 保持长期在线 最佳实践

功能定位:为什么要在纯命令行里折腾

“kuailian”在桌面端以图形化闻名,但当你把服务器搬进机房、把树莓派挂在弱电箱,或者需要让 CI 流水线在凌晨拉取海外镜像时,无头(headless)环境才是常态。命令行配置的核心价值不是炫技,而是把“人工点按钮”转化为“可版本化、可回滚、可无人值守的文本指令”。

与 NetworkManager、systemd-networkd 等系统原生组件相比,快连官方 CLI 工具(kuailian-cli)把多协议并行、AI 选线、掉线重连等高级策略封装成几条子命令,既保留了图形端的一致性,又能在脚本里用 iffor 做条件分支。换句话说,你写的不是配置,而是一份可审计的网络意图声明

功能定位:为什么要在纯命令行里折腾
功能定位:为什么要在纯命令行里折腾

前置条件与兼容性速查

系统与架构

截至当前的最新版本(请以实际安装包为准)提供 amd64arm64mips64el 三种静态编译二进制,glibc ≥2.31 即可运行,Alpine 用户需额外安装 libc6-compat

权限与沙盒

kuailian-cli 需要 CAP_NET_ADMINCAP_NET_RAW 两项权能;若你用 systemd 封装,可把 AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW 写进单元文件,避免整进程跑在 root。

安装:一条命令完成离线部署

curl -fsSL https://cdn.kuailian.im/cli/stable/install.sh | sudo bash -s -- -d /usr/local/bin

脚本会自动探测架构、下载对应压缩包、校验签名并把 kuailian-cli 放进 /usr/local/bin。若机器无外网,可在能联网的电脑执行同命令加 --download-only,再把压缩包拷过去解压即可。

首次登录:把图形端账号搬到终端

kuailian-cli login --with-token

系统会提示粘贴“用户中心→安全→CLI 令牌”。令牌有效期 90 天,支持在网页端一键吊销;CI 场景建议改用 --with-jwt $(cat /run/secrets/kuailian_jwt),把 JWT 放进 vault,避免硬编码。

极简配置:一条命令跑通“智能选线”

kuailian-cli connect --mode auto --group "Global-IEPL"

这条指令背后做了三件事:①向后台请求可用节点列表;②根据实时延迟、丢包、带宽三项指标打分;③把最优节点封装成 WireGuard 配置注入内核。整个过程在亚秒级完成,经验性观察比手动切节点缩短约一半握手时间。

进阶:把“协议”写成变量,让脚本自己选

PROTO=${1:-"wireguard"} kuailian-cli connect \ --mode manual \ --protocol $PROTO \ --node $(kuailian-cli node list --filter "region=Japan" --sort latency | head -n1 | awk '{print $1}')

上面片段演示了“协议+节点”双变量:白天跑 WireGuard 拿吞吐,深夜切 TUIC 穿防火墙。脚本可放进 crontab,也可由 Prometheus 告警触发。

后台常驻:systemd 单元模板

快连 CLI 本身不守护进程,退出即断网。官方推荐用 systemd 做“保活+自动重连”。把下列文件存成 /etc/systemd/system/kuailian-daemon.service

[Unit] Description=Kuailian privacy tool daemon After=network-online.target Wants=network-online.target [Service] Type=simple ExecStart=/usr/local/bin/kuailian-cli connect --mode auto --persist Restart=on-failure RestartSec=30 AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target

执行 systemctl enable --now kuailian-daemon 即可开机自启。--persist 参数会让 CLI 在后台周期(30 s)调用 AI 重选线,断网时自动换 IP+端口组合,无需额外写脚本。

后台常驻:systemd 单元模板
后台常驻:systemd 单元模板

Split 隧道:让内网流量直连,海外流量走 CLI

图形端叫“Split-App”,CLI 对应子命令 kuailian-cli route add --policy ipset。示例:把 192.168.0.0/1610.0.0.0/8 设为直连,其余默认走虚拟网卡。

kuailian-cli route add --type direct --cidr 192.168.0.0/16,10.0.0.0/8 kuailian-cli route add --type proxy --cidr 0.0.0.0/0 --priority 100

规则实时下发,无需重启连接。若你跑 Docker,可把 DOCKER-USER 链插入 RETURN 规则,防止容器流量被意外劫持。

日志与监控:让 Prometheus 抓到可观测指标

kuailian-cli 支持 JSON 日志:加 --log-format json --log-level info 即可把延迟、吞吐、重连原因打到 stderr。配合 node-exporter 的 textfile 收集器,可在 Grafana 画出“选线次数/小时”“重连原因分布”两张大盘。

提示:日志里 event=node_switch 会附带 old_ipnew_ip,写告警时可用 rate() 检测是否过于频繁,防止因跳 IP 被银行风控。

常见故障排查表

现象最可能原因验证命令处置
login 报 401令牌过期date < exp网页端重新生成
connect 报 RTNETLINK answers: Operation not permitted缺少权能getpcaps $PIDsystemd 加 AmbientCapabilities
节点列表为空组名拼错kuailian-cli group list复制确切大小写
Docker 容器无法上网DOCKER-USER 链被DROPiptables -L DOCKER-USER插入 RETURN 规则

版本差异与迁移建议

v9.5 之前 CLI 子命令叫 kuailian-tui,参数风格是单横杠;v9.6 起统一为双横杠并加入 --persist。若你老脚本升级后报 unknown flag,可用官方提供的 kuailian-cli legacy-migrate 一键重写。

适用/不适用场景清单

  • ✅ 无人值守 NAS、树莓派、边缘网关需要定时同步海外 Git 仓库。
  • ✅ CI 流水线在凌晨拉取 Docker Hub 官方镜像,避免被限速。
  • ✅ 高校实验室服务器,通过 IPset 分流让 Sci-Hub 走代理,校内资源直连。
  • ❌ 需要完整 L2 网桥的场景(如广播包依赖),CLI 只提供 L3 隧道。
  • ❌ 合规要求强制国密 SM4 的政企内网,需确认内核已加载 sm4-generic 模块。

最佳实践 5 条速查表

  1. 把令牌放 tmpfs(/run/secrets),容器退出即消失。
  2. systemd 单元务必加 RestartSec=30,防止异常循环打爆 CPU。
  3. 路由规则先白名单后黑名单,--priority 数值越小越先生效。
  4. 日志落盘超过 100 MB 用 logrotate,避免 Journald 占用 /var。
  5. 每月跑一次 kuailian-cli security audit,把 Cure53 报告下载到本地比对。

FAQ(结构化数据)

CLI 和图形端能同时在线吗?

可以,快连把 CLI 视为独立设备,占 10 设备额度中的 1 台;若超限,可在网页端踢掉旧会话。

如何确认当前走哪条节点?

执行 kuailian-cli status --json | jq .current_node.ip 即可打印实时 IP,与 curl ipinfo.io 比对验证。

令牌泄露怎么办?

立刻登录网页端“安全→CLI 令牌→全部吊销”,再重新生成并替换。

可以完全离线安装吗?

可以,用 --download-only 把压缩包与签名文件一起带走,离线校验后解压即可。

AI 选线会跳 IP 导致风控吗?

经验性观察:银行与 ChatGPT 对短时异地 IP 较敏感;可在 CLI 加 --sticky-ip 3600,让 AI 每小时才允许切换,降低触发概率。

收尾:下一步行动建议

如果你只是临时需要“让服务器能 wget 外网”,复制粘贴一条 kuailian-cli connect --mode auto 足够;但若你想把网络策略纳入 IaC(Infrastructure as Code),请:

  1. 把路由规则、令牌、systemd 单元写进 Ansible Playbook;
  2. 用 Git 做版本,变更通过 MR 审核;
  3. 在 Prometheus 设“重连次数>5 次/小时”告警,倒逼回滚。

如此,快连 CLI 就不再是“命令行替代品”,而是可审计、可回滚、可自动修复的网络基础设施层。祝你部署顺利,网络常通。