客户端配置文件解析 (profile.json)
尽管绝大部分人只需依靠图形界面 (GUI) 即可完成连接,但底层这份结构化 JSON 配置文件,仍然是高级用户进行脚本化运维和参数审计的重要入口。
您的节点设置都会以该格式在本地被安全隔离储存,下面我们一起解构 profile.json 所提供的高级自定义参数(适用于版本号 1.0 以上)。
一、连接校验与身份特征
建立 SSH 加密连接所需的基础参数:
| JSON 字段 | 数据格式 | 中文释义 |
|---|---|---|
name | 字符串 | 用户自由定案的节点别名(如:东京-测试节点01)。 |
host | 字符串 | 远端 SSH 服务器的公网 IP 或是被解析的可通达域名。 |
port | 整数 | SSH 隧道目标端口号(默认为标准 22 端口)。 |
username | 字符串 | 服务器上能够认证合法的账号名称。 |
auth_type | 字符串 | 控制免密登陆通道,只允许 "password"(密码校验) 和 "key"(私钥校验)。 |
password | 字符串 | 纯明文或混淆储存于底层的连接密码(私钥模式时请直接留空)。 |
key_path | 字符串 | 如果使用私钥校验,务必填入对应的绝对磁盘路径如 ~/.ssh/id_rsa。 |
二、网络接口与执行环境
这部分决定了客户端如何与操作系统集成,以及流量如何接入 SSH 隧道。
| JSON 字段 | 数据格式 | 中文释义 |
|---|---|---|
mode | 字符串 | "socks5" 提供用户态本地代理;"tun" 通过虚拟网卡承载系统级流量。 |
socks5_port | 整数 | 指定仅能在 "socks5" 模式下生效的本机 SOCKS 服务器对外端口(默认为 1080)。 |
tun_name | 字符串 | 如果您想客制化网卡的名字可以指定(例如 sshvpn0),否则留空会自动选择(如 Mac 下的 utun0)。 |
tun_ipv4 | 字符串 | 发配给该底层局域虚拟网卡的子网配置值(默认推荐使用 10.0.0.1/24)。 |
tun_ipv6 | 字符串 | 同理,配发给该网卡的 IPv6 子网掩码地址。 |
enable_system_proxy | 布尔值 | 当处于 SOCKS5 模式下,允许程序调用操作系统 API 自动写入代理设置,减少手工配置步骤。 |
三、智能分流与 DNS 设置
这部分用于控制哪些流量保持本地直连,哪些流量通过 SSH 隧道转发。
| JSON 字段 | 数据格式 | 中文释义 |
|---|---|---|
enable_rules | 布尔值 | 主控开关:决定是否启用基于规则的流量分流。 |
rules_path | 字符串 | 本地磁盘中规则集文件的路径,例如包含局域网、企业内网或特定域名规则的 .txt 文件。 |
bypass_local | 布尔值 | 启用后会将 192.168.0.0/16 等局域网通信保留在本地网络路径中,避免占用隧道带宽。 |
enable_local_dns | 布尔值 | (仅限 TUN 模式下有效)在本地 53 端口启动 DNS 转发,以便操作系统按当前配置使用指定解析路径。 |
dns_servers | 队列 | 开启上项功能后要使用的上游 DNS 服务器列表(如 ["8.8.8.8", "1.1.1.1"])。 |
四、应对复杂网络状况的参数调优
用于提升移动办公、现场运维或公共网络场景下的连接稳定性。
| JSON 字段 | 数据格式 | 中文释义 |
|---|---|---|
auto_reconnect | 布尔值 | 当隧道意外中断时,是否自动重连。 |
connect_timeout | 字符串 | 初始化 TCP 握手的等待时间(默认推荐 "10s",必要时可调整为 "30s" 等)。 |
keep_alive_interval | 字符串 | 长连接保活心跳的发送间隔(默认推荐 "30s")。 |
