官方文档: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、订阅具体内容和当前访问地址的域名有关。(主要是电视用)

  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=你搜索的内容
  1. 当访问的是外网地址时
  • 上一点里的地址,域名都是外网地址+域名。
  • 管理后台也可以直接通过外网地址打开。

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。