SyncTV 是一个远程一起观看电影和直播的开源项目(项目地址:https://github.com/synctv-org/synctv)。它提供了远程同步观影、直播、聊天等功能,堪称异地恋神器。SyncTV的同步观影功能可以使所有观看视频的人暂停、快进快退、倍速等操作同步,视频进度始终保持一致。同时提供聊天和弹幕功能 。
SyncTV项目作者已经集成了Emby,AList ,哔哩哔哩,可直接绑定三个平台账号,播放三个平台上的内容。同时也具备直播推流功能,可配合相应直播软件进行直播。
一键脚本安装
1 |
sudo -v ; curl -fsSL https://raw.gitmirror.com/synctv-org/synctv/main/script/install.sh | sudo bash -s -- -v latest |
使用一键脚本安装命令,安装完成后:
应用本体是/usr/bin/synctv
应用数据文件在 /opt/synctv/目录下
Linux 系统服务配置在/etc/systemd/system/synctv.service
执行系统配置服务允许开机启动和启动服务命令
Shell
1 |
systemctl enable synctv.service && systemctl start synctv.service |
到此就基本搭建完成了,现在就可以通过服务器IP:8080进行访问了,用户名:root密码:root,请及时修改用户名和密码。
系统服务命令
1 2 3 4 5 6 |
systemctl start synctv.service # 启动服务 systemctl stop synctv.service # 停止服务 systemctl restart synctv.service # 重启服务 systemctl status synctv.service # 服务状态 systemctl enable synctv.service # 允许开机启动服务 systemctl disable synctv.service # 禁用开机启动服务 |
软件命令
1 2 3 4 5 6 7 8 9 |
synctv admin # admin synctv conf # 初始化检查 synctv help # 查看软件命令 synctv root # root synctv self-update # 更新SyncTV服务器 synctv server # 启动SyncTV服务器 synctv setting # 设置 synctv user # user synctv version # 查看SyncTV版本 |
命令后缀
1 2 3 4 5 6 7 8 |
--data-dir string 数据目录 (默认 "/Users/zijiren/.synctv") --dev start with dev mode (default true) --env-no-prefix env no SYNCTV_ prefix --github-base-url string github api base url (default "https://api.github.com/") -h, --help help for synctv --log-std log to std (default true) --skip-config skip config --skip-env skip env |
命令后缀大多数我们是用不到的,但由于每次执行软件命令都会检查是否有root权限的用户,若没有,则会初始化一个root用户,这就造成如果没有切换到软件默认数据目录下执行软件命令就会改变软件默认数据目录到执行命令时所处的文件夹下并在目录下初始化一个新的root用户数据文件,所以我们需要在执行软件命令时尽量附加数据目录后缀,如下软件更新命令:
1 |
synctv self-update --data-dir /opt/synctv |
Docker安装
1 |
docker run -d --name synctv -v /opt/synctv:/root/.synctv -p 8080:8080 synctvorg/synctv |
Nginx环境设置域名访问
将以下代码片段添加到服务器Nginx.conf配置文件的字段中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
client_max_body_size 20m; proxy_cache off; proxy_buffering off; proxy_http_version 1.1; 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; location = /api/room/ws { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection ""; proxy_set_header Range $http_range; } |
正文完