端口转发
在路由器上把一个 TCP 端口转发到电脑,手机通过 TLS 连接你的公网地址,并固定信任电脑自己的证书。
本页为译文。如与英文版不一致,以英文版为准。 English
适用情况:你可以修改路由器设置,而且你的网络连接有公网 IPv4 地址。不适用情况:运营商把你放在运营商级 NAT 之后(路由器的 WAN 地址以 100.64 到 100.127 开头,或者与 IP 查询网站显示的地址不同),或者你在公司无法开放端口。
设置步骤
-
给电脑在网络中分配一个固定地址(在路由器中做 DHCP 保留)。
-
在路由器中,把来自互联网的 TCP 8779 转发到电脑地址的 8779 端口。
-
查出你的公网地址。如果它会不时变化,请通过路由器或 DDNS 服务设置一个动态 DNS 域名,并在下面使用这个域名。
-
在
config.toml中把这个地址告诉服务器(droidline doctor会打印该文件的位置):[remote] addresses = ["tls://203.0.113.5:8779"] # 或 "tls://home.example.net:8779" -
重启
droidline serve。 -
用
droidline pair配对新手机。已经配对的手机会在下次通过 Wi-Fi 连接时获取这个地址。
为什么用 TLS 和指纹
在这条路由上,手机通过 TLS 连接,对端使用的是电脑自己的自签名证书。配对二维码中包含该证书的 SHA-256 指纹,所以手机不需要任何证书颁发机构就能核验它,互联网上冒充的服务器会被拒绝。TLS 内部运行着与其他所有路由相同的端到端加密。
证书在首次启动时创建,保存在服务器的文件夹中(tls.crt,其私钥在机密存储中)。如果删除它,会生成新的证书,手机必须重新配对。
从外部检查
在一部已配对的手机上关闭 Wi-Fi,然后观察 droidline devices:几秒之内,路由应当变为 direct。