تعديل websocket (flask-socketio) على برنامج Nothing.live الخاص بـ jkingsman للسماح للمستخدمين بتنفيذ "غارات" (في هذه الحالة، حيث يتناغم جميع المستخدمين بشكل جماعي مع نفس دفق البث) على أجهزة البث على Twitch بدون مشاهدين.
يتكرر البرنامج النصي العامل ( scanner.py
) عبر قائمة التدفقات الخاصة بـ Twitch API ويدور حتى يقوم بإدراج جميع أدوات البث التي يجدها مطابقة لمعايير البحث (صفر مشاهدين افتراضيًا)، ثم يبدأ مرة أخرى. يتم إدراج أدوات البث هذه كمفاتيح منتهية الصلاحية على افتراض أن شخصًا ما سوف يشاهدها وبعد ذلك لن يكون لديها أي مشاهدين بعد الآن، لذا لا ينبغي تقديمها لفترة طويلة جدًا. إذا كان البث لا يزال يحتوي على صفر مشاهدين في تمريرة لاحقة، فإن الإدراج في Redis سيتجاوز وقت انتهاء الصلاحية القديم وسيظلون موجودين لفترة أطول.
متغيرات البيئة المراد ضبطها:
CLIENT_ID
: معرف عميل تطبيق Twitch الخاص بك (الموجود على https://dev.twitch.tv/console)CLIENT_SECRET
: سر عميل تطبيق Twitch الخاص بك (موجود على https://dev.twitch.tv/console) وفي الوقت نفسه، يقدم تطبيق Flask في app.py
الفهرس ونقطة النهاية للحصول على بث عشوائي.
pip install -r requirements.txt
CLIENT_ID=xxxxxx CLIENT_SECRET=xxxxxx scanner.py
). هذا سوف يحتاج إلى التشغيل بشكل مستمر.flask run
) من الواضح أن هذا ليس جاهزًا للإنتاج؛ ستحتاج إلى التأكد من تشغيل جميع الخدمات كبرامج خفية (يتم تضمين بعض ملفات التكوين في etc
) وأن تطبيق flask الخاص بك يعمل بأمان (على سبيل المثال خلف gunicorn/nginx/pick your السموم) (راجع 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
إذا قمت بتحديثها.