因为国内支持多人实时看剧的,好像只有爱奇艺,而且爱奇艺这个没有会员体验不好,还有爱奇艺的剧集谐和种类不全也是个问题,所以想照更好的方案,就刚好发现这个方案就很不错,体验下来也挺好。
准备条件:
- 一台独立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
vim docker-compose.yaml
version: "3.3" #这是docker-compose文件版本的声明 services: synctv: #服务的别名,可以自定义 container_name: synctv #容器名,可以自定义 ports: - '8080:8080' #端口,左侧的8080可以自定义,映射到容器内部,右侧是容器内部端口 environment: - PUID=0 # 设置容器中进程的用户 ID 为 0(通常是 root 用户) - PGID=0 # # 设置容器中进程的组 ID 为 0(通常是 root 组) - TZ=Asia/Shanghai # 时区,可以自定义 restart: always # 开启自启动其他选项看以下备注 volumes: - './data:/root/.synctv' # 数据持久目录映射 image: synctvorg/synctv # 镜像名,一般都是使用的哪个镜像就写哪个镜像
docker-compose up -d
5.将alist关联到synctv
在用户详情,点击头像,点绑定平台,建议直接添加IP加端口的形式。
6.反代synctv
反代参数,宝塔用户直接把这个填到网站的配置参数,不需要特地的用宝塔添加反代(主要是宝塔的反代使用有些问题)
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。