跳转到内容

两种「代理」

nSIM 里有两样东西都叫「代理」,方向正好相反,彼此无关。弄混它们,是配置出错最常见的原因。这一页讲清各自是什么、什么时候需要。

  • 本地出站代理:你的程序 → nSIM → 某张卡的蜂窝网络 → 互联网。nSIM 是代理服务器。
  • VoWiFi 出口节点:nSIM → 你提供的代理节点 → 运营商。nSIM 是代理的使用者。
本地出站代理 VoWiFi 出口节点
谁在用 你的其他程序,例如浏览器、脚本 nSIM 自己
流量方向 从你的程序进来,经卡的移动网络出去 从 nSIM 出去,经节点到达运营商
解决什么 让程序用这张卡的移动网络 IP 上网 让 VoWiFi 从卡所属的国家连到运营商
卡要怎样 开着「移动数据」,已连上数据 射频关着,走 VoWiFi
流量记在谁头上 卡的流量套餐 你买的节点的流量
在哪里管 「代理」页的「本地出站代理」 「代理」页的「VoWiFi 出口」「节点」,以及「设置 › 代理内核」

只想「拿卡上网」,用本地出站代理。用 VoWiFi,才需要节点。两件事可以都不用、只用一样,或同时用。

每个代理实例是 nSIM 主机上的一个 SOCKS5 或 HTTP 端口,严格绑定到一台模组的数据网卡。你的程序连这个端口,流量就从这张卡的移动网络出去,对外的 IP 是这张卡的。

域名解析也经这张卡完成。nSIM 先问运营商给这张卡的 DNS,问不到再问公共 DNS,查询同样从卡的网卡发出。这样,访问了哪些域名不会从主机的宽带泄露出去,按位置分配的服务器也与实际出口一致。前提是客户端把域名交给代理去解析,例如 SOCKS5 开了远程解析。

这类代理由 nSIM 自己实现,不需要额外的软件。它的流量算在卡的套餐上,可以设流量额度,用满后拒绝新连接。

VoWiFi 要经互联网连到运营商,而运营商常常只接受来自卡所属国家的连接。所以 nSIM 默认让每张卡经一个落地在卡归属国的节点出去。没有节点就不建立 VoWiFi,卡与主机同国时也一样,这时可以改成直连。为什么这样,见 VoWiFi 为什么在意你从哪里连进来。

节点是你自己购买或搭建的代理服务器,可以一个个导入,也可以从服务商的订阅地址批量导入。节点必须能转发 UDP,所以 HTTP 代理不能当节点。SOCKS5 节点由 nSIM 直接连接。Shadowsocks、VMess、Trojan 等其他协议,要靠独立的代理内核 sing-box 运行。nSIM 会在需要时下载它。

代理内核只服务于节点,本地出站代理用不到它。

  • 不是给 nSIM 自己上网用的系统代理。不要在运行 nSIM 的环境里设置 HTTP_PROXY、HTTPS_PROXY。nSIM 自己决定每个请求怎么走。设了这些变量会打乱它的选路,表现为内核下载、订阅刷新等莫名失败。
  • 不是 GitHub 下载加速。那是另一项设置,只影响 nSIM 从 GitHub 下载代理内核等文件的路线。