Еще один веб-сайт синхронизации видео, который в настоящее время поддерживает Youtube, DailyMotion Vimeo Soundcloud и видео, размещенные на вашем собственном файловом сервере, которым вы полностью владеете на законных основаниях.
Этот проект возник в результате моих поисков чего-то, что позволило бы моей группе друзей вместе смотреть видео, от случайной коллекции клипов на YouTube до длинных фильмов. Все остальные сервисы не поддерживали воспроизведение файлов mp4 или имели ненужные функции, например чат. Это небольшое веб-приложение не требует настройки ключей API, и пользователям не нужно создавать какие-либо учетные записи. Просто создайте комнату, поделитесь ссылкой, и люди смогут присоединиться.
Бот поддерживает только слэш-команды Полный список команд
- /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-адресом. Другие сайты могут работать в пользовательском интерфейсе, но не через бота.
Watch2gether может сохранять собственные плейлисты, не делая их общедоступными на YouTube.
Это приложение упаковано в виде Docker-контейнера. Вы можете запустить его с помощью
docker run -d -p 8080:8080 robrotheram/watch2gether
app.sample.env
на Discord Bot и учетные данные клиента OAuth Выполните следующие действия, чтобы заменить значения заполнителей в файле 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
Для работы через прокси вам потребуется пересылать веб-сайты, а также 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, с интерфейсом React. Построен с:
иди 1.15+
Пряжа v1.22.10
Фреймворк пользовательского интерфейса:
Антд v4.9+
Существует удобный файл make, который соберет сервер, пользовательский интерфейс и контейнер.
make build