手机搭建emby服务二
FRP内外穿透
一、VPS部署服务端 frps
1.登录并下载 FRP
用 SSH 连上vps。在命令行里依次执行下面两句命令(这是下载并解压目前最新的 FRP):
1 | wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz |
2.修改服务端配置文件
我们现在要编辑 frps.toml 文件。执行:
1 | nano frps.toml |
把里面的内容全部删掉,改成下面这段代码(注意修改你的专属密码):
1 | # 服务端与客户端通信的端口 |
如果屏幕上跳出 frps started successfully,说明成功了!按 Ctrl+C 先停掉它。
咱们让它在后台永远运行,执行这个命令:
1 | nohup ./frps -c ./frps.toml >/dev/null 2>&1 & |
(云端搞定!记住vps公网 IP,下面要用)
3.vps防火墙
以GCP为例
谷歌云的防火墙默认是全部拦截的,你必须去网页后台放行咱们刚才设置的 7000 和 8080 端口。
3.1登录谷歌云网页后台 ➡️ 左侧菜单找 VPC 网络 ➡️ 防火墙。
3.2点击顶部的 创建防火墙规则。
3.3按下面这样填:
名称: allow-frp
流量方向: 入站
对匹配项执行的操作: 允许
目标: 网络中的所有实例
来源 IPv4 范围: 0.0.0.0/0
协议和端口: 勾选 指定的协议和端口,勾选 TCP,在框里输入 7000,8080。
点击 创建。
二、Terxum部署客户端 frpc
1.下载同样的 FRP
执行命令(如果你的手机是 ARM 架构,链接得换成 arm64,我默认你用的是这个):
1 | wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_arm64.tar.gz |
2.域名添加A记录
把需要穿透的服务在cloudflare域名中添加A记录,ipv4为vps的IP,并关闭小云朵。
3.修改客户端配置文件
编辑 frpc.toml 文件:
1 | nano frpc.toml |
清空里面的内容,换成下面这段:
1 | # 填你谷歌云的公网 IP |
保存退出(Ctrl+O, 回车, Ctrl+X)。
4.启动本地客户端
1 | ./frpc -c ./frpc.toml |
如果屏幕显示 start proxy success,恭喜你,穿透成功了!
如果toml文件格式错误,用电脑传过去再
1 | cp ~/storage/downloads/frpc.toml ~/frp_0.56.0_linux_arm64/ |
三、vpn设置
以flclash为例
1.添加 Fake-IP 过滤(防止 DNS 被劫持)
这一步是为了告诉 FlClash:“这两个域名你别瞎管,用我本地真实的 DNS 去解析出谷歌云的真实 IP!”
打开 FlClash,找到 配置 / 代理 / 高级设置(根据你的界面,找到 Fake-IP 过滤 / Fake-ip Filter)。
在里面添加下面这两行:
1 | op.363689.xyz |
(注:如果你想图省事,连带着以后可能加的子域名一起直连,也可以写成 *.363689.xyz 和 *.huu.cc.cd,但我建议精准放行,就填上面那两行。)
2.添加附加规则(强制流量直连)
这一步是定海神针,直接命令底层的 Clash 内核:只要是去往这两个域名的流量,必须走 DIRECT!
在 FlClash 里找到 附加规则 / 自定义规则 / 规则集。
添加以下两行规则(注意逗号是英文半角):
1 | DOMAIN,op.363689.xyz,DIRECT |
终极防漏网之鱼绝招:
为了防止有时候域名解析太快,导致 IP 直接裸奔出去被代理接管,极其建议你把你谷歌云的真实公网 IP 也加进直连规则里!
在刚才那两行下面,再加一行:
1 | IP-CIDR,你的谷歌云公网IP/32,DIRECT |
(比如你的谷歌云 IP 是 34.12.34.56,你就填 IP-CIDR,34.12.34.56/32,DIRECT)
见证奇迹的“重启”
全加上之后,千万别忘了最重要的一步:
关闭 FlClash 的代理开关 ➡️ 把后台彻底划掉 ➡️ 重新打开 FlClash ➡️ 开启代理。
这样是为了强制清空它肚子里的旧 DNS 缓存。
现在,你拿手机连接 5G 网络,分别打开这两个域名。然后去 FlClash 的 “连接” 页面里查一下水表,如果看到它们俩后面都跟着灰色的 DIRECT,那恭喜你,这套双引擎直连方案已经被你彻底玩明白了!
四、静默启动所有服务
你直接在 Termux 里复制并执行下面这整段代码,它会直接覆盖更新你原来的 start.sh 文件:
1 | cat > ~/start.sh << 'EOF' |
1 | bash ~/start.sh |