사용자가 시청자가 없는 트위치 스트리머에서 "레이드"(이 경우 사용자가 모두 집합적으로 동일한 스트림 스트림에 참여하는 경우)를 수행할 수 있도록 jkingsman의Nobody.live에 대한 웹소켓(flask-socketio) 수정입니다.
작업자 스크립트( scanner.py
)는 Twitch API의 스트림 목록을 반복하며 검색 기준(기본값은 뷰어 0개)과 일치하는 모든 스트리머를 삽입할 때까지 회전한 다음 다시 시작합니다. 이러한 스트리머는 누군가가 이를 볼 것이라는 가정 하에 만료 키로 삽입되며 더 이상 시청자가 0명도 되지 않으므로 너무 오랫동안 제공되어서는 안 됩니다. 후속 패스에서 스트림에 여전히 시청자가 0인 경우 Redis에 삽입하면 이전 만료 시간이 무시되고 한동안 더 오래 유지됩니다.
설정할 환경 변수:
CLIENT_ID
: 귀하의 Twitch 애플리케이션 클라이언트 ID(https://dev.twitch.tv/console에서 확인)CLIENT_SECRET
: Twitch 애플리케이션 클라이언트 비밀번호(https://dev.twitch.tv/console에서 확인) 한편 app.py
의 Flask 앱은 인덱스와 엔드포인트를 제공하여 임의의 스트리머를 가져옵니다.
pip install -r requirements.txt
CLIENT_ID=xxxxxx CLIENT_SECRET=xxxxxx scanner.py
). 이 작업은 지속적으로 실행되어야 합니다.flask run
) 이것은 분명히 생산 준비가 되어 있지 않습니다. 모든 서비스가 데몬으로 실행되고 있는지(일부 구성 파일이 etc
포함되어 있음) 플라스크 앱이 안전하게 실행되고 있는지(예: gunicorn/nginx/pick your Poison 뒤에서) 확인해야 합니다( setting up deployment
참조).
setup.txt
)이는 전체 배포를 위한 프로세스이며 로컬 서버에 대한 설정이 아닙니다. 로컬 서버 설정에 대한 지침은 위를 참조하세요.
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...
requirements.in
에서 직접 종속성을 업데이트합니다. 업데이트하는 경우 pip-compile
사용하여 요구 requirements.txt
로 컴파일하세요.