123TV

#!/bin/bash M3U8="$1" OUTPUT="cache_segments.json" MAX=5 INTERVAL=32 # التأكد من وجود jq if ! command -v jq &> /dev/null; then echo "يرجى تثبيت jq: pkg install jq" exit 1 fi # تنظيف cache عند الإيقاف cleanup() { echo "CTRL+C → حذف محتوى $OUTPUT..." rm -f "$OUTPUT" exit 0 } trap cleanup SIGINT SIGTERM # بداية التشغيل echo "بدء متابعة القطع الحية من $M3U8 كل $INTERVAL ثانية..." echo "CTRL+C لإيقاف السكريبت" # دورة التحديث while true; do content=$(curl -A "Mozilla/5.0" -s "$M3U8") segments=$(echo "$content" | grep -E '\.(ts|js|m4s)$') if [ -z "$segments" ]; then echo "$(date '+%H:%M:%S') → لا توجد أي قطع جديدة." sleep $INTERVAL continue fi # تحويل الروابط إلى JSON array دائمًا trimmed=$(echo "$segments" | jq -R -s -c 'split("\n") | map(select(length > 0)) | .[-'"$MAX"':]') # كتابة الملف echo "$trimmed" > "$OUTPUT" echo "$(date '+%H:%M:%S') → تم تحديث قائمة آخر $MAX قطع." sleep $INTERVAL done