QuickQ 命令行的核心就是:安装官方 CLI、登录账号、列出并选定节点与协议,然后一键连接或导出为 WireGuard/OpenVPN 配置,配合 systemd 或开机任务实现自动启动,辅以 iptables/nftables 做 kill‑switch 与分流,最后检查 DNS 与路由确保流量走 VPN。下面我把步骤、常用命令与常见问题都拆开讲清楚,边做边解释,尽量让你能立刻上手。

先讲个最简单的流程(为什么这样做)
费曼法:把复杂的事情拆成三步告诉别人。 对 VPN 命令行配置,实际就是三件事:
- 获得工具与认证:安装 QuickQ CLI 并登录;这像把钥匙交给车门。
- 选择并连接:列出服务器、选好地区与协议,执行连接;这像开车到目的地。
- 稳住状态:设置开机自启、kill‑switch、DNS 与分流规则,保证出事了车不会跑偏。
准备工作:安装与登录
不同系统安装方式可能不一样。下面给出常见平台的示例命令(注意:命令中的包名或可执行名以官方实际发布为准)。
Linux (Debian/Ubuntu)
- 通过包管理或官方脚本安装(示例):
sudo apt update && sudo apt install quickq-cli或
curl -fsSL https://install.quickq.example | sudo bash - 登录:
quickq login,按提示输入邮箱/密码或复制粘贴一次性授权码。
macOS
- Homebrew(示例):
brew install quickq-cli - 登录:
quickq login,若有 GUI 授权链接,按提示在浏览器完成。
Windows (PowerShell)
- MSI 或 Winget:
winget install QuickQ.QuickQCLI - 登录:
quickq.exe login,或在 PowerShell 中运行交互式登录。
为什么先登录?
命令行通常需要获取账户权限与密钥,服务器列表和私有密钥(如果有)会通过登录下发或缓存到本地配置目录(例如 ~/.config/quickq/)。
日常基本命令(通用示例)
| 操作 | 示例命令 |
| 列出节点 | quickq list --region US |
| 连接(自动选择) | quickq connect |
| 按节点连接(指定 ID) | quickq connect --node NODE_ID --protocol wireguard |
| 断开 | quickq disconnect |
| 状态 | quickq status |
| 导出配置 | quickq export --node NODE_ID --format wireguard -o ~/quickq-wg.conf |
这些命令是典型模式:list、connect、disconnect、status、export。export 很实用:导出的 WireGuard/OpenVPN 文件可以交给系统自带工具来管理。
WireGuard / OpenVPN 的两种常见工作流
方案 A:直接用 QuickQ CLI(推荐新手)
- 优点:一键,CLI 管理状态、日志一条龙。
- 典型命令:
quickq connect --region JP --protocol wireguard检查状态:
quickq status - 当需要开机自启,很多 CLI 自带
quickq autoconnect enable或写 systemd unit(见下)。
方案 B:导出配置交给系统工具(适合进阶用户)
- 导出 WireGuard 配置:
quickq export --node NODE_ID --format wireguard -o /etc/wireguard/quickq.conf然后启用:
sudo systemctl enable wg-quick@quickq && sudo systemctl start wg-quick@quickq - 导出 OpenVPN 配置(.ovpn):
quickq export --node NODE_ID --format openvpn -o /etc/openvpn/client/quickq.ovpn启用:
sudo systemctl enable openvpn-client@quickq && sudo systemctl start openvpn-client@quickq - 优点:系统管理器(systemd)可以在网络重连或开机时自动重启连接,日志由 journal 管理,便于审查。
如何实现 kill‑switch(防泄露)
最简单的思路是:当 VPN 未建立时,阻止除本地和 VPN 之外的所有出站流量。下面给出一个常用的 iptables 模式(仅供参考,实际以你环境为准):
- 先允许回环和已建立连接:
sudo iptables -I OUTPUT 1 -o lo -j ACCEPTsudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT - 允许通过 tun0/wg0(VPN 接口):
sudo iptables -A OUTPUT -o wg0 -j ACCEPT(或
-o tun0取决于协议) - 最后,丢弃其他新建出站:
sudo iptables -A OUTPUT -m conntrack --ctstate NEW -j DROP
注意:这会阻断所有非 VPN 流量,包括软件更新、时间同步等。通常会在 VPN 上线时启用,在下线时禁用;可把启用/禁用命令放进 QuickQ 的 PostUp/PostDown 脚本或 systemd 服务的 ExecStartPost/ExecStopPost。
DNS 保护与防止 DNS 泄露
问题主因:系统仍然使用本地或 ISP 的 DNS,导致 DNS 查询未走 VPN。解决方法:
- 优先:让 VPN 推送 DNS(WireGuard 用 /etc/resolv.conf,OpenVPN 可配置
push "dhcp-option DNS x.x.x.x")。 - 系统d-resolved 的用户:在 /etc/systemd/resolved.conf 设置
DNS=...并用resolvectl或直接替换 /etc/resolv.conf 指向 127.0.0.53 的管理方式。 - 另一种稳妥做法:在连接后用脚本写入受信任的 DNS(例如 1.1.1.1 或 VPN 提供的内置 DNS),并锁定该文件。
实现分流(Split‑tunneling)
分流可以是按目标 IP、按进程或按端口。命令行下常见方法:
- 按目标 IP 路由(简单、常用):
示例:只把某个网段走 VPN:
sudo ip route add 203.0.113.0/24 dev wg0或在 OpenVPN 用
route-nopull+route 203.0.113.0 255.255.255.0 - 按进程/用户:把需要走 VPN 的应用设为特定用户,然后用 ip rule/ip route 将该用户的流量导向不同表(较复杂,适合进阶)。
- 按端口:用 iptables 标记连接(MARK),再用 ip rule 根据 mark 选择路由表。
分流需要耐心调试,建议先小范围实验再全面应用。
systemd 开机自启示例(Linux)
如果你使用导出的 WireGuard 配置,可以直接使用系统自带的 wg-quick 单元:
sudo systemctl enable wg-quick@quickq
如果你依赖 QuickQ CLI 的 connect,可以写一个简单的 systemd 服务文件(/etc/systemd/system/quickq-autoconnect.service):
| 单元示例(要把下面内容写到文件里) |
[Unit] Description=QuickQ Auto Connect After=network-online.target Wants=network-online.target |
写完后启用并启动:sudo systemctl enable --now quickq-autoconnect
查看日志与排错
- QuickQ CLI 自带日志:
quickq logs或~/.config/quickq/logs(具体目录以实现为准)。 - systemd 管理的服务:
sudo journalctl -u wg-quick@quickq -f或sudo journalctl -u quickq-autoconnect -f。 - 检查路由表:
ip route show;检查接口:ip addr show wg0或ip addr show tun0。 - DNS 检查:
dig +short @127.0.0.1 example.com或resolvectl status。
常见问题与应对
- 连接后没有网络:通常是 DNS 问题或默认路由没有设置。检查 ip route 和 /etc/resolv.conf。
- 断线后没有自动重连:确认 systemd 单元是否启用,或者 CLI 是否支持 auto‑reconnect 参数。
- 某些服务不能访问:看是不是被 kill‑switch 阻断,或分流规则导致。
- Windows 下的权限问题:以管理员身份运行 PowerShell 来执行连接或安装驱动(TAP/Wintun)。
一些实用小贴士(生活气息)
- 如果你像我一样常切换国家办事,把常用节点的 ID 储存在一个小脚本里,像
~/bin/qjp,快速连上日本节点。 - 测试是否走 VPN 最简单:在浏览器打开
https://ifconfig.me或用curl ifconfig.me来看外网 IP 是否改变。 - 把关键命令做成脚本并放入 cron 或 systemd timer,方便自动化。
举个完整的快速脚本(示例)
下面这个脚本演示登录(假设已登录)、选择节点、导出 WireGuard 并启用 wg-quick(仅示例):
#!/bin/bash
NODE_ID=$(quickq list --region JP --fast | head -n1 | awk '{print $1}')
quickq export --node "$NODE_ID" --format wireguard -o /etc/wireguard/quickq.conf
systemctl restart wg-quick@quickq
|
结语(就像边写边想的那些小事)
写到这里我又想起之前配置 VPN 那次,忘了在脚本中加 sudo,结果服务启动不了——所以把权限、路径和日志都确认一遍会省很多时间。此外,不同版本的 QuickQ CLI 可能会有细微差别,本文把通用思路和常见命令模式都讲清了:安装与登录、连接与导出、系统集成、kill‑switch 与分流、DNS 与排错。按着这些步骤去做,基本能把命令行下的 QuickQ 配置得又稳又灵活,遇到问题再查日志逐项排除就好。希望这篇边写边想的说明对你上手命令行版本的 QuickQ 有实质帮助。