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