SSH-Tunnel 安装指南

一个入口完成首次安装,后续统一在管理页升级。

首次安装

一键安装脚本会识别 Windows、macOS、Linux 的平台与架构,下载对应的服务版二进制,并在安装过程中交互采集首装所需的最小配置。

Linux / macOS

curl -fsSL https://idefav.github.io/ssh-tunnel/install | sh

Windows PowerShell

irm https://idefav.github.io/ssh-tunnel/install | iex
Windows 请使用管理员 PowerShell;Linux / macOS 默认需要 sudo 才能写入系统目录和注册服务。

安装器行为

  • 首次安装时会采集 server.ip、server.ssh.port、login.username、ssh.private_key_path。
  • 会自动扫描当前用户 .ssh 目录中的本地 SSH 私钥和公钥,优先用已存在的公钥作为默认输入,并自动推导对应私钥。
  • 如果本机还没有任何 SSH 密钥,安装器会提示自动生成新的密钥对,或直接进入交互式 ssh-keygen 生成流程,生成后自动继续安装。
  • 密钥输入框支持直接改成其他公钥路径或私钥路径;如果输入公钥路径,安装器会校验对应私钥是否存在。
  • 会先用当前选定的私钥检测目标服务器是否已完成 SSH 免密登录;若未完成,会自动尝试将本地公钥写入远程 ~/.ssh/authorized_keys,然后再次校验。
  • 会询问服务监听范围,并据此生成 local.address、http.local.address、admin.address。
  • 会先检查选中的 SSH 密钥是否存在,并在默认端口冲突时要求输入新端口。
  • 会下载最新 Release 的目标资产与 SHA256SUMS,校验成功后再写入磁盘和注册服务。
  • 默认配置为 socks5.enable=true、http.enable=false、admin.enable=true、自动更新开启。
如果检测到已有安装、已有服务或已有配置,安装器不会覆盖现有文件,而是提示你去管理页的版本页面完成更新。

落盘与服务布局

平台 二进制 配置 服务标识
Windows C:\ssh-tunnel\ssh-tunnel-svc.exe C:\ssh-tunnel\.ssh-tunnel\config.properties SSHTunnelService
Linux /usr/local/bin/ssh-tunnel /etc/ssh-tunnel/config.properties ssh-tunnel.service 或 /etc/init.d/ssh-tunnel
macOS /usr/local/bin/ssh-tunnel /etc/ssh-tunnel/config.properties /Library/LaunchDaemons/com.idefav.ssh-tunnel.plist

手动安装服务时,也请沿用上面的服务名和路径,这样管理页中的重启和升级逻辑才能准确识别当前平台服务。

配置示例

下面是与当前程序实现一致的规范配置键示例:

home.dir=/var/lib/ssh-tunnel
server.ip=your-ssh-server
server.ssh.port=22
ssh.private_key_path=/path/to/id_rsa
login.username=root
local.address=127.0.0.1:1081
http.local.address=127.0.0.1:1082
http.enable=false
socks5.enable=true
http.over-ssh.enable=false
http.domain-filter.enable=false
http.domain-filter.file-path=/var/lib/ssh-tunnel/domain.txt
admin.enable=true
admin.address=127.0.0.1:1083
log.file.path=/var/log/ssh-tunnel.log
auto-update.enabled=true
auto-update.owner=idefav
auto-update.repo=ssh-tunnel
auto-update.current-version=v0.0.0
auto-update.check-interval=3600

后续更新

一键安装只用于首装。升级现有实例时,请打开管理页面版本页:

http://127.0.0.1:1083/view/version

如果安装时自定义了管理端口,请使用当前 admin.address 对应的地址访问版本页。

auto-update.enabled=true 只会定时检查新版本。下载和安装需在版本页人工确认,更新过程会短暂中断代理服务。

v1.6.0 升级检查

  1. 备份活动配置文件及同目录的 profiles.json 和已有的 routes.json。
  2. 确保只有一个 SSH-Tunnel 进程使用该配置目录,并确保服务账号可写该目录。
  3. 首次启动会把版本 1 平铺规则和旧 Profile 内的 domainRoutes 自动迁入版本 2 的“未分组(自动迁移)”,并为每条旧规则保留原出口覆盖。重复规范化规则会导致启动失败,日志会列出冲突。
  4. 确认生成了 routes.json 和 traffic.db,再在 /view/routes 及 /view/ssh/state 验证路由和统计。
  5. 从 v1.5.0 升级会继续使用原有 traffic.db;更早版本的内存流量仍无法补录。
  6. 如果降级到不支持规则组的版本,请同时恢复升级前的 profiles.json 和 routes.json。