因为国内支持多人实时看剧的,好像只有爱奇艺,而且爱奇艺这个没有会员体验不好,还有爱奇艺的剧集谐和种类不全也是个问题,所以想照更好的方案,就刚好发现这个方案就很不错,体验下来也挺好。
准备条件:
- 一台独立IP的服务器
- 系统为debian11
- 一个阿里云盘账户(100G/800G/3T的都可以)
- 一个域名
1.安装alist
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
2.alist关联阿里云盘
访问https://alist.nn.ci/tool/aliyundrive/request,然后选择Scan QrCode,打开手机扫码,再点已经扫过,然后会跳转,保存这里的Key。
这个key就是添加储存时候阿里云盘需要的。
3.安装docker相关的组件
wget -qO- get.docker.com | bash systemctl start docker systemctl enable docker apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin apt-get install docker-compose
4.安装synctv
mkdir synctv && cd synctv
创建docker-compose.yml 描述文件(两个参数文件备用,用其中一个就好)
vim docker-compose.yaml
version: "3.3" #这是docker-compose文件版本的声明 services: synctv: #服务的别名,可以自定义 container_name: synctv #容器名,可以自定义 ports: - '8080:8080' #端口,左侧的8080可以自定义,映射到容器内部,右侧是容器内部端口 environment: - PUID=0 # 用户ID,在终端输入id可以查看到当前用户的id - PGID=0 # 组ID同上 - TZ=Asia/Shanghai # 时区,可以自定义 restart: always # 开启自启动其他选项看以下备注 volumes: - './data:/root/.synctv' # 数据持久目录映射 image: synctvorg/synctv # 镜像名,一般都是使用的哪个镜像就写哪个镜像
version: "3.3" #这是docker-compose文件版本的声明 services: synctv: #服务的别名,可以自定义 container_name: synctv #容器名,可以自定义 ports: - '8080:8080' #端口,左侧的8080可以自定义,映射到容器内部,右侧是容器内部端口 environment: - PUID=0 # 用户ID,在终端输入id可以查看到当前用户的id - PGID=0 # 组ID同上 - TZ=Asia/Shanghai # 时区,可以自定义 restart: always # 开启自启动其他选项看以下备注 volumes: - './data:/root/.synctv' # 数据持久目录映射 image: synctvorg/synctv # 镜像名,一般都是使用的哪个镜像就写哪个镜像
运行容器
docker-compose up -d
5.将alist关联到synctv
在用户详情,点击头像,点绑定平台,建议直接添加IP加端口的形式(此项待定,实测IP加端口会让alist的onedrive视频播放在synctv中有问题)。
6.反代synctv
反代参数,宝塔用户直接把这个填到网站的配置参数,不需要特地的用宝塔添加反代(主要是宝塔的反代使用有些问题,反代配置参照官方文档更新:https://docs.synctv.wiki/#/reverse-proxy),另外如果用Nginx Proxy Manager,就不要再反代开启websock按钮了。
location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Range $http_range; proxy_set_header If-Range $http_if_range; client_max_body_size 20m; proxy_http_version 1.1; }
另外宝塔用户要注意删除了这些代码:
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ location ~ .*.(js|css)?$
7.一些注意事项
7.1 阿里云盘反代注意事项
反代参数
location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Range $http_range; proxy_set_header If-Range $http_if_range; proxy_redirect off; proxy_pass http://127.0.0.1:5244; # the max size of file to upload client_max_body_size 20000m; }
另外宝塔用户要注意删除了这些代码:
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ location ~ .*.(js|css)?$
7.2 synctv设置反代注意事项
如果宝塔用户可能会保存不了,需要将map代码块补上,参考这个文章:https://vilark.com/493.html
7.3 程序怎么更新
alist更新:
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
synctv更新
docker-compose pull && docker-compose down && docker-compose up -d
7.4 分享连接无效
必须用域名反代才能分享链接。
7.5 怎么看程序是否正常
alist:
Start: systemctl start alist Shutdown: systemctl stop alist Status: systemctl status alist Restart: systemctl restart alist
docker(synctv容器):
docker ps
7.6 synctv设置用户的token时间(修改配置文件)
配置文件在/root/synctv/data/config.yaml,修改jwt的expire值为你想要的值,默认是 48h。
这个ip+端口正常,但是域名反代之后视频一直加载失败,也是用的宝塔
你看下反代参数,后面有专门对宝塔反代的说明
怎么修改网站的名字呀
这个我没试过,感觉应该是再配置文件里。github页面有TG群,你可以进群问下https://github.com/synctv-org/synctv
试了半天都不行。博主咋可以联系上您
你说问题吧,具体卡在那一步
就是proxy_set_header Connection $connection_upgrade;
这个。http补的哪个我也保存不了。。。然后看视频。都显示Websocket 自动重连失败!
连接状态 CLOSED
你先不管反代这个,先用IP+端口访问,能正常看视频,再改反代这些参数。先测试synctv能不能看B站的视频,B站视频能看,就说明synctv运行没问题。
这个保存挺费劲的,你要仔细代码位置,位置不对就保存了的https://vilark.com/493.html
我直接ip都是正常的。。反代就死活不行。。我注意用域名。。我萌新。只能啃现成的QAQ,博主可以帮忙调试下吗。。
看在长颈鹿的面子上。求个指导
我看了下,好像是因为代码高亮的问题,代码缩进变了,你试试我新改的,而且要对照图片。
https://vilark.com/493.html
尴尬。保存成功了。当时有些还是播放不了。能播放的比ip的卡很多。。
不知道是不是跟谷歌云盘有关。要是有空帮忙看看吧。alist已经是代理谷歌云盘了的。但是synctv不代理会连接失败。ip下的话又没这些问题。
建议alist挂阿里和OD吧,这两个没什么问题
另外synctv账户添加alist,如果alist地址是纯IP添加的,会导致一些od视频播放不了
我再研究研究吧。有点小忧伤。
有问题随时留言,我也是把自己的问题记录下来,让其他人少些弯路。
说起来,你的邮箱能收到我给你的回复吗?之前网站邮件回复出问题了,后来修了下,也没确认是否修好。
可以收到你的邮箱