go watch2gether
1.0.0
另一个视频同步网站,它目前支持 Youtube、DailyMotion Vimeo Soundcloud 和托管在您完全合法拥有的文件服务器上的视频
这个项目源于我的探索,即寻找能让我的一群朋友一起观看视频的东西,从随机收集的 YouTube 剪辑到长电影。所有其他服务不支持播放 mp4 文件或具有聊天等不需要的功能。这是一个小网络应用程序,不需要设置 API 密钥,用户也不需要创建任何帐户。只需创建一个房间并共享链接,人们就可以加入。
Bot 仅支持斜杠命令 完整命令列表
- /join : Join Bot to a voice channel
- /leave : Disconnect Bot from channel
- /pause : Pause Video
- /skip : Skip to next video in the Queue
- /play : Play Video
- /stop : Stop Video
- /list : List videos in the Queue
- /add <video> : Add Video to Queue
- /playlist load <name>
- /now : Current Status of what is playing
Watch2gether 已经使用以下 URL 进行了测试,其他网站可能可以在 UI 中运行,但不能通过机器人运行。
Watch2gether 可以保存自定义播放列表,而无需在 YouTube 上公开它们。
该应用程序打包为 docker 容器。你可以运行它
docker run -d -p 8080:8080 robrotheram/watch2gether
app.sample.env
中的值按照以下步骤将app.sample.env
文件中的占位符值替换为通过创建 Discord 机器人和 OAuth2 客户端获取的实际凭据:
创建一个 Discord 机器人:
创建 OAuth2 客户端:
http://localhost:8080/auth/callback
)。替换app.sample.env
中的值:
app.sample.env
文件并将其重命名为app.env
。CHANGEME
) 替换为从创建 Discord 机器人和 OAuth2 客户端获得的相应值: DISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN
DISCORD_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID
DISCORD_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET
SESSION_SECRET=ANY_RANDOM_STRING_FOR_SESSION_SECURITY
YOUR_DISCORD_BOT_TOKEN
、 YOUR_OAUTH2_CLIENT_ID
和YOUR_OAUTH2_CLIENT_SECRET
替换为从 Discord 开发者门户获取的实际值。保存更改:
app.env
文件。 docker-compose.yml
如果您使用 Docker,则可以配置docker-compose.yml
文件以包含必要的环境变量。这是一个例子:
environment :
- DISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN
- DISCORD_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID
- DISCORD_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET
- SESSION_SECRET=ANY_RANDOM_STRING_FOR_SESSION_SECURITY
要在代理后面运行,您需要转发 websoctes 以及 http。下面是一个 nginx 配置示例
server {
server_name watch2gether.<YOUR DOMAIN>;
listen 80;
location / {
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 Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 90;
}
}
该项目使用带有反应前端的 go 编写的服务器。内置:
去1.15+
纱线 v1.22.10
用户界面框架:
蚂蚁 v4.9+
有一个方便的 make 文件可以构建服务器、ui 和容器。
make build