SwiftServer
网络

端口转发

本地转发、远程转发和动态 SOCKS 都保存成可复用的规则,支持自动启动,并带一个内置浏览器。

端口转发规则放在端口转发一节里。规则保存一次,需要时再启动:可以从规则列表启动, 可以从终端输出启动, 也可以随 App 自动启动。

免费版同时只能运行一个转发会话,Premium 不限会话数。

三种模式

本地:把服务器上(或服务器后面)的服务暴露给你的设备。 目标主机和目标端口要按从服务器看到的样子填(默认指向 127.0.0.1:80), 本地端口可以固定下来,也可以留在自动,让 SwiftServer 挑一个空闲端口。 在设备上打开 localhost:<local port>,就是在通过 SSH 和服务器那侧的服务说话。

远程:方向相反,到达服务器上某个端口的连接会被转发回一个你的设备能到达的地址。 想把本地的开发服务器给远端运行的东西看时很方便。

动态 SOCKS:在你的设备上起一个 SOCKS 代理,流量经服务器路由。把浏览器或工具指向本地的 SOCKS 端点,它的流量就从服务器的网络出去。

每条规则还有自动启动:SwiftServer 一启动,规则就跟着启动。

运行中的会话

会话状态依次经过连接中 → 正在启动 → 运行中;会话页面保留一份实时日志 (例如 SOCKS proxy listening on 127.0.0.1:1080),并且和 SwiftServer 里的每一条连接一样, 带有事件日志和 SSH 诊断。

在 iPhone 和 iPad 上,运行中的本地转发可以直接在内置浏览器里打开, 它带前进/后退、重新载入和在 Safari 中打开,查看转发出来的面板连 App 都不用离开。

你离开 App 时,转发会话会以实时活动的形式显示在 iPhone 上。

为单条规则指定代理

规则默认按它所属机器的方式连接。规则自己的代理选择器(默认是机器默认值)可以覆盖这一点, 在某一条转发需要走另一条路径时,为它指定一个连接代理。

转发起不来的时候

  • 本地端口被占用:把本地端口设成自动,或者换一个端口。 1024 以下的端口在 iOS 和 macOS 上是保留的。
  • 服务器到不了目标:记住本地模式的目标是在服务器那一侧解析的, 先在终端会话里用 curl 测一下。
  • 其余情况都会带着 SSH 层的错误落到这个会话的诊断里。

本页内容