官方文档:https://github.com/power721/alist-tvbox/blob/master/doc/README_zh.md
AList代理,支持xiaoya版AList界面管理。一般部署在单独的vps,我部署在家里。
部署
按照说明来,此脚本生成的服务我们用到的有2个,一个是4567端口的管理端,一个是5344端口的用户端
用户端(即小雅alist,电视不关心,可网页访问观看)
内网可以通过http://192.168.9.6:5344直接访问
管理端 (主要和tvbox有关,电视用户比较关心)
内网可以通过http://192.168.9.6:4567直接访问。主要用于生成订阅链接,和其他配置项。
说明
正常在vps使用,一个域名对应一个ip地址,端口也是直接可使用的。如果要部署在vps,只需要一个域名即可。 但是如果在家里使用,需要2个域名,参见说明2
说明2
1、订阅具体内容和当前访问地址的域名有关。(主要是电视用)
- 当访问的是内网地址+域名,比如访问内网订阅连接
http://192.168.9.6:4567/sub/0:
- 返回的jar包地址是
http://192.168.9.6:4567/spring.jar。 - 站点数据里的文件夹列表图片用的是
http://192.168.9.6:4567/folder.png - 搜索api的域名是
http://192.168.9.6:4567/vod1?wd=你搜索的内容
- 当访问的是外网地址时:
- 上一点里的地址,域名都是外网地址+域名。
- 管理后台也可以直接通过外网地址打开。
2、具体视频内容的链接和管理端配置URL地址有关:
如果在管理端配置了站点-URL地址,tvbox使用的内容数据(如小雅alist的搜索返回值),将会被改写成你配置的URL+/具体路径,即具体播放路径只和所配置的站点URL有关
- 当站点URL为默认值
http://localhost时,tvbox-xiaoya只能在内网使用 - 当站点URL配置为外网地址时,播放路径为外网地址
综上,如果你不使用https,直接路由器端口映射到两个端,那么可以只配置一个域名。 但是我使用了第二种方法,主要是要使用https,比较麻烦:
- 使用https,nginx proxy manager映射了2个地址分别对应了管理端和用户端。
- npm做https代理的时候会丢失端口,导致订阅链接返回的内容端口丢失,不可使用,所以需要手动配置advanced:
- location的 proxy_pass为制定内网地址,如http://192.168.9.6:4567;
- location的 proxy_set_header Host $host:你的外网访问端口;
location / {
proxy_pass http://192.168.9.6:4567/;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host:8443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
实测:
location / {
proxy_pass http://192.168.9.6:4567/;
proxy_set_header Host $host:8443;
}
即可
- 配置管理端-站点-URL,配置为第二个域名
- 配置-高级设置-订阅域名支持https 开启(此步骤会把接口里的
http://xxx:8443/spring.jar里的http正确识别成https,而且内网不会变) 效果: - 订阅链接的域名是A,访问返回带A的数据。
- tvbox或者影视仓使用订阅链接,搜索得到的具体视频地址的域名是B。