Hawk SSH Tunnel
本页面用于管理远程 SSH 隧道、URL 转发代理和浏览器代理。完整单页文档位于 doc/usage.html。
服务端
admin_addr:管理页面监听地址,默认 :8039。
control_addr:客户端控制连接端口,默认 :7000。
data_advertise_host:客户端回连数据通道时访问的服务端地址,跨机器部署时应改成服务端可达 IP 或域名。
admin_token:登录管理页面使用的 Admin Token。
shared_secret:客户端和服务端认证使用的共享密钥。
构建
go build -buildvcs=false -o .\hawk.exe .\cmd\hawk
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -o ./hawk-linux-amd64 ./cmd/hawk
Linux 使用 ./cmd/hawk,不要使用 Windows 写法 .\cmd\hawk。
创建 SSH 隧道
- 在左侧节点列表中选择一个在线节点。
- 填写内网目标和 SSH 端口,外部端口填
0 表示自动分配。
- 创建成功后,通过
ssh user@服务端IP -p 外部端口 访问内网 SSH。
- 服务端
data_advertise_host 必须填写客户端可访问的公网 IP 或域名,例如 pmcopy.com。
- 客户端
allowed_targets 必须与 Web 目标完全一致,例如 127.0.0.1:22。
- 修改配置后要重启服务端和客户端,并重新创建旧隧道。pm2 可使用
pm2 restart hawk-server。
浏览器代理
- 浏览器或系统代理地址通常设置为
127.0.0.1:7890。
- 允许目标端口填写
0 表示允许所有目标端口;否则只允许列表中的端口,例如 80,443。
- 客户端
browser_proxy_enabled 和服务端浏览器代理策略必须同时启用。
- MFC 状态灯会依次查询
ip-api.com、ipinfo.io、api.iplocation.net 获取出口地域。
curl.exe --proxy http://127.0.0.1:7890 https://myip.ipip.net/
curl.exe -v --proxy http://127.0.0.1:7890 https://myip.ipip.net/
MFC Windows 客户端
Fallback target 仅在服务端请求未显式携带目标时使用;Allowed targets 是目标白名单。
Allow remote tunnel connections 控制服务端是否可以通过客户端创建 SSH 隧道。
Allow remote proxy connections 控制其他机器是否可以连接客户端浏览器代理监听端口。
- Go 日志只写入
log_file,按天压缩为 *.zip,只保留最近 7 天。PM2 stdout/stderr 为空是预期行为。
安全注意事项
- 生产环境必须修改默认的
admin_token 和 shared_secret。
- 建议配置正式 TLS 证书,并限制管理端口的访问来源。
- URL 转发代理或浏览器代理暴露到局域网/公网时,不建议允许私网目标。