Otro sitio web más de sincronización de videos que actualmente admite Youtube, DailyMotion Vimeo Soundcloud y videos alojados en su propio servidor de archivos que es de su propiedad totalmente legal.
Este proyecto surgió de mi búsqueda para encontrar algo que permitiera a mi grupo de amigos ver videos juntos, desde una colección aleatoria de clips de YouTube hasta películas largas. Todos los demás servicios no admitían la reproducción de archivos mp4 o tenían funciones que no eran necesarias, por ejemplo, el chat. Esta pequeña aplicación web no necesita claves API para configurarse y los usuarios no necesitan crear ninguna cuenta. Simplemente cree una sala, comparta un enlace y la gente podrá unirse.
El bot solo admite comandos de barra diagonal Lista completa de comandos
- /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 ha realizado pruebas con la siguiente URL. Es posible que otros sitios funcionen en la interfaz de usuario, pero no a través del bot.
Watch2gether puede guardar listas de reproducción personalizadas sin tenerlas públicas en youtube.
Esta aplicación empaquetada como un contenedor acoplable. Puedes ejecutarlo con
docker run -d -p 8080:8080 robrotheram/watch2gether
app.sample.env
con Discord Bot y credenciales de cliente OAuth Siga estos pasos para reemplazar los valores de marcador de posición en el archivo app.sample.env
con las credenciales reales obtenidas al crear un bot de Discord y un cliente OAuth2:
Crea un robot de discordia:
Cree un cliente OAuth2:
http://localhost:8080/auth/callback
). Reemplace valores en app.sample.env
:
app.sample.env
y cámbiele el nombre a app.env
.CHANGEME
) con los valores correspondientes obtenidos al crear el bot de Discord y el cliente 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
y YOUR_OAUTH2_CLIENT_SECRET
con los valores reales obtenidos del Portal para desarrolladores de Discord.Guardar cambios:
app.env
. docker-compose.yml
Si está utilizando Docker, puede configurar su archivo docker-compose.yml
para incluir las variables ambientales necesarias. He aquí un ejemplo:
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
Para ejecutar detrás de un proxy, necesitará reenviar websoctes además de http. A continuación se muestra una configuración de nginx de muestra.
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;
}
}
Este proyecto utiliza un servidor escrito con una interfaz de reacción. Construido con:
ir 1.15+
Hilado v1.22.10
Marco de interfaz de usuario:
Antd v4.9+
Hay un archivo make útil que construirá el servidor, la interfaz de usuario y el contenedor.
make build