Une modification websocket (flask-socketio) de Nobody.live de jkingsman pour permettre aux utilisateurs d'effectuer des "raids" (dans ce cas, où les utilisateurs se connectent tous collectivement au même flux) sur des streamers Twitch avec zéro spectateur.
Un script de travail ( scanner.py
) parcourt la liste des flux et des rotations de l'API Twitch jusqu'à ce qu'il insère tous les streamers qu'il trouve correspondant aux critères de recherche (zéro spectateur par défaut), puis il redémarre. Ces streamers sont insérés en tant que clés expirantes en supposant que quelqu'un les verra et qu'ils n'auront plus aucun spectateur et ne devraient donc pas être servis trop longtemps. Si un flux n'a toujours aucun spectateur lors d'un passage ultérieur, l'insertion dans Redis remplacera l'ancien délai d'expiration et ils resteront un peu plus longtemps.
Variables d'environnement à définir :
CLIENT_ID
: ID client de votre application Twitch (trouvé sur https://dev.twitch.tv/console)CLIENT_SECRET
: le secret client de votre application Twitch (trouvé sur https://dev.twitch.tv/console) Pendant ce temps, l'application Flask dans app.py
sert l'index et le point de terminaison pour obtenir un streamer aléatoire.
pip install -r requirements.txt
CLIENT_ID=xxxxxx CLIENT_SECRET=xxxxxx scanner.py
). Cela devra fonctionner en continu.flask run
) Ce n’est évidemment pas prêt pour la production ; vous devrez vous assurer que tous les services fonctionnent en tant que démons (certains fichiers de configuration sont inclus dans etc
) et que votre application flask fonctionne en toute sécurité (par exemple derrière gunicorn/nginx/pick your poison) (VOIR setting up deployment
)
setup.txt
)Il s'agit du processus de déploiement complet, il ne s'agit pas de la configuration d'un serveur local. Voir ci-dessus pour les instructions de configuration d'un serveur local
cd /srv # wherever we want the app to be
git clone https://github.com/tybens/lonelyraids.com.git
cd lonelyraids.com
sudo apt-get update
sudo apt install python3-pip python3-dev python3-venv nginx
python3 -m venv venv
source venv/bin/activate
sudo pip3 install -r requirements.txt
# static files
sudo mkdir /var/www/static
sudo mv -v static/ * /var/www/static/
sudo chown 755 /var/www/static
# nginx config
sudo mv etc/lr-nginx /etc/nginx/sites-available/lr-nginx
sudo ln -s /etc/nginx/sites-available/lr-nginx /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo ufw allow ' Nginx Full ' # not sure if this is necessary (the article said it was)
# redis setup
sudo wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
sudo make install
# supervisor setup
mkdir /var/log/streams
sudo mv etc/supervisor_services.conf /etc/supervisord.conf
sudo supervisord -c /etc/supervisord.conf # starts supervisord services
# certbot setup (for https:// ssl verification)
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
deactivate # deactivate venv...
Mettre à jour les dépendances directes dans requirements.in
; utilisez pip-compile
pour les compiler dans requirements.txt
si vous les mettez à jour.