emby 公益服反代
编辑
58
2025-01-07
概述
当前很多公益服屏蔽了大陆、香港、日本 ip 访问,手头的甲骨文机子是新加坡的,便动了心思利用其来反代公益服,达到服务端无需梯子的目的。通过 nginx 实现,我本地装的是 nginx proxy manager,原理一致,只是通过界面操作,更加便捷。
操作
在 npm 中新增代理, Domain Names 填写自己定义的子域名,Forward IP 填写公益服对外提供的前端地址,通信方式和端口按照提供的填写。
在 SSL 中添加证书,仅选择 HTTP/2 Support 选项。
在 Advanced 标签页,添加如下配置。
location / {
proxy_ssl_name $server;
proxy_ssl_server_name on;
proxy_pass $forward_scheme://$server:$port;
}
点击 Save,新建代理显示 Online,即成功连接配置。
遇到的问题
打开一个视频无法拉动进度条,每次拖动会从开头重新开始。
该问题在 Emby 社区找到了解决办法。这个是由于使用的 Cloudflare DNS 引起的。默认 CF 会使用缓存,通过将缓存等级改为不缓存即可。
前后端分离反代
尝试反代 MisakaF,但推流和界面是分开的,需要将推流部分也纳入 nginx 规则中。类似的还有 pilipili、纸片人等。通过查阅在 github 找到了相关方法。
在 Advanced 中,需要添加推流地址信息。
location / {
proxy_ssl_name $server;
proxy_ssl_server_name on;
proxy_pass $forward_scheme://$server:$port;
# 推流地址改成 emby 服务器的
# your.domain.name 改成你定义的反代地址
proxy_redirect https://stream1.example.com/ https://your.domain.name/s1/;
proxy_redirect https://stream2.example.com/ https://your.domain.name/s2/;
proxy_redirect https://stream3.example.com/ https://your.domain.name/s3/;
}
location /s1 {
rewrite ^/s1(/.*)$ $1 break;
# 你需要反代的emby推流地址
proxy_pass https://stream1.example.com;
# 更改为 emby 界面地址
proxy_set_header Referer "https://emby.example.com/web/index.html";
proxy_set_header Host $proxy_host;
proxy_ssl_server_name on;
proxy_buffering off;
}
location /s2 {
rewrite ^/s2(/.*)$ $1 break;
# 你需要反代的emby推流地址
proxy_pass https://stream2.example.com;
# 更改为 emby 界面地址
proxy_set_header Referer "https://emby.example.com/web/index.html";
proxy_set_header Host $proxy_host;
proxy_ssl_server_name on;
proxy_buffering off;
}
location /s3 {
rewrite ^/s3(/.*)$ $1 break;
# 你需要反代的emby推流地址
proxy_pass https://stream3.example.com;
# 更改为 emby 界面地址
proxy_set_header Referer "https://emby.example.com/web/index.html";
proxy_set_header Host $proxy_host;
proxy_ssl_server_name on;
proxy_buffering off;
}
推流域名跳转
反代垃圾服的时候发现,通过单纯加一个流的代理是不生效的。尝试抓取流发现,请求发的http,但返回的推流是https,而在配置文件中仅仅针对请求的http做了代理,https的接收仍然会直接获取,未达到反代的目的。这种情况下,需要加一次跳转。
location /s1 {
rewrite ^/s1(/.*)$ $1 break;
#默认推流地址
proxy_pass http://stream.example.org/;
#线路推流地址 =》你的域名
proxy_redirect https://stream.example.org/ https://your.domain.name/s2/;
proxy_set_header Referer "https://example.org/web/index.html";
proxy_set_header Host $proxy_host;
proxy_ssl_server_name on;
proxy_buffering off;
}
location /s2 {
rewrite ^/s2(/.*)$ $1 break;
#线路推流地址
proxy_pass https://stream.example.org/;
#纸片人主站
proxy_set_header Referer "https://example.org/web/index.html";
proxy_set_header Host $proxy_host;
proxy_ssl_server_name on;
proxy_buffering off;
}
- 0
- 0
-
分享