从局域网到外网:jetAudio 流式播放的网络配置全解
三种方案对比
| 方案 | 局域网延迟 | 外网支持 | 加密 | 配置难度 |
|---|---|---|---|---|
| SMB | 极低 | 需端口转发 + DDNS | 可选 | 中 |
| WebDAV(HTTPS) | 低 | 原生支持 | 默认加密 | 中 |
| 云盘 | ~200ms 起 | 原生支持 | 默认加密 | 极低 |
一套完整的外网访问音乐方案
典型架构:家里一台 NAS(或一台带共享的电脑)+ Cloudflare Tunnel + jetAudio 手机端。
步骤一:NAS 开启 SMB 和 WebDAV
在 NAS 管理界面里同时打开两个协议——SMB 给家里其他设备用,WebDAV(最好走 HTTPS)给外网穿透用。
步骤二:Cloudflare Tunnel 暴露 NAS WebDAV
Cloudflare Tunnel 是零信任隧道,不需要在路由器上开放端口、也不需要固定公网 IP:
- 在 Cloudflare Dashboard 里添加你的域名
- NAS 上安装 cloudflared,运行 tunnel create 命令,拿到一个隧道 ID 和证书文件
- 创建 DNS 记录(比如
webdav.yourdomain.com)指向 Cloudflare - 在 Cloudflare 里配置隧道:把
webdav.yourdomain.com的流量转发到 NAS 本地https://192.168.x.x:443
配置好之后,外网访问 https://webdav.yourdomain.com 就等于访问家里 NAS 的 WebDAV,全程 Cloudflare 加密、不暴露家里公网 IP。
步骤三:jetAudio 手机端连接
在 JetAudio 里添加 WebDAV 服务器,地址填 https://webdav.yourdomain.com/remote.php/dav/...(具体路径取决于 NAS 的 WebDAV 端点)。移动网络下延迟会比家里局域网略高,但 FLAC 和 320kbps MP3 都能流畅播放。
替代方案:Tailscale
Cloudflare Tunnel 需要域名。如果没有域名,可以用 Tailscale——它是零配置 WireGuard mesh VPN,家里 NAS 和手机同时装 Tailscale,它们会自动在 100.x.x.x 段的虚拟局域网里互通。之后 jetAudio 直接连 Tailscale 分配给 NAS 的虚拟 IP 即可,内网什么设置,外网就什么设置,完全透明。
Tailscale 的优势:零域名依赖、零端口转发、配置一次永久生效;劣势:首次启动需要双方都在网络,而且 Tailscale 免费版最多 100 台设备。