前言
此方案需一台自有服务器支撑核心 FRP 穿透服务,若您不打算使用服务器,后续内容可暂不参考。
可搭配最近流行的emby+cms等网盘直链的emby使用。
亮点
安全: 与传统的 FRP 端口穿透相比,在不暴露frp端口的情况下,安全反代服务,自动续签SSL证书
快捷: 与 Tailscale 等服务相比,无需注册、无需下载客户端,全过程自建可控
小巧: 在配置差的线路鸡能轻松搭载服务
整体框架

方案部署
采用docker-compose方式,安装 FRP 服务端 + Nginx Proxy Manager
version: "3.5"
services:
frp:
image: snowdreamtech/frps
ports:
- "7000:7000"
volumes:
- ./frp/frps.toml:/etc/frp/frps.toml
restart: always
container_name: frp
networks:
- nginx
nginx:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx
ports:
- "80:80"
- "443:443"
- "81:81"
- "8888:8888" # emby应用端口
restart: always
volumes:
- ./nginx/data:/data
environment:
- TZ=Asia/Shanghai
networks:
- nginx
networks:
nginx:
name: nginxFrp 服务端配置(frps.toml)
auth.token中的xxxxxxxxxx替换为自己的密钥token
bindPort = 7000
kcpBindPort = 7000
auth.method = "token"
auth.token = "xxxxxxxxxx"NPM 配置
http://ip:81登陆
默认登录名和密码
Email: [email protected]
Password: changeme在域名DNS解析中添加自己的域名(以emby.mfmao.de为例)到服务器IP,然后配置NPM服务



FRP客户端配置
安装 FRP 客户端(这里我选择群晖套件版),具体frpc.toml参考配置如下
serverAddr = "xx.xx.xx.xx" # FRP服务端的服务器IP
serverPort = 7000
auth.method = "token"
auth.token = "xxxxxxxxxx" # 自己的密钥token,与FRP服务端一致
[[proxies]]
name = "emby"
type = "tcp"
localIP = "192.168.1.2" # emby的本地IP
localPort = 8096 # 本地emby端口
remotePort = 8888 # 远程emby端口测试
简单测试一下
访问http://ip:8888显示为拒绝连接
访问自己反代的域名(例如,https://emby.mfmao.de)就可以打开家庭局域网的emby客户端
相关阅读
C佬教程:Cane