403Webshell
Server IP : 45.94.215.241  /  Your IP : 216.73.216.122
Web Server : Apache/2.4.66 (Ubuntu)
System : Linux srv2937474766 7.0.0-28-generic #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/player/video/tracks/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/player/video/tracks/download.sh
#!/bin/bash

# بررسی تعداد آرگومان‌ها
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 <input_text_file> <output_folder_name>"
    echo "Example: $0 links.txt my_movies"
    exit 1
fi

# دریافت نام فایل ورودی و نام پوشه خروجی از ورودی کاربر
INPUT_FILE="$1"
OUTPUT_DIR="$2"

# بررسی وجود فایل ورودی
if [ ! -f "$INPUT_FILE" ]; then
    echo "Error: Input file '$INPUT_FILE' not found."
    exit 1
fi

# ایجاد پوشه خروجی اگر وجود نداشته باشد
mkdir -p "$OUTPUT_DIR"

echo "Starting download and conversion process..."
echo "Output directory: $OUTPUT_DIR"

# خواندن خطوط فایل تکست
# استفاده از while read برای مدیریت صحیح فضاها و کاراکترهای خاص
while IFS= read -r line || [[ -n "$line" ]]; do
    # نادیده گرفتن خطوط خالی و کامنت‌ها (اگر با # شروع شوند)
    [[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue

    URL="$line"
    
    # استخراج نام فایل از URL
    # این دستور آخرین بخش URL (بعد از آخرین /) را برمی‌گرداند
    FILENAME=$(basename "$URL")
    
    # اگر نام فایل خالی بود یا نامعتبر بود، رد شو
    if [ -z "$FILENAME" ]; then
        echo "Warning: Could not extract filename from URL: $URL"
        continue
    fi

    echo "Downloading: $FILENAME"
    
    # دانلود فایل با wget به پوشه مقصد
    # --continue برای ادامه دانلود ناقص
    # -P برای تعیین پوشه مقصد
    wget --continue -P "$OUTPUT_DIR" "$URL"
    
    # بررسی موفقیت دانلود
    if [ $? -ne 0 ]; then
        echo "Error: Download failed for $FILENAME"
        continue
    fi

    # ساخت نام فایل vtt با تغییر پسوند از mkv به vtt
    # مثال: movie.mkv -> movie.vtt
    VTT_FILENAME="${FILENAME%.mkv}.vtt"
    
    # مسیر کامل فایل‌ها
    MKV_PATH="$OUTPUT_DIR/$FILENAME"
    VTT_PATH="$OUTPUT_DIR/$VTT_FILENAME"

    echo "Converting subtitles: $FILENAME -> $VTT_FILENAME"
    
    # اجرای دستور ffmpeg
    # -y برای جایگزینی فایل خروجی اگر وجود داشته باشد (اختیاری)
    ffmpeg -y -i "$MKV_PATH" -map 0:s:0 "$VTT_PATH" 2>/dev/null
    
    # بررسی موفقیت تبدیل
    if [ $? -eq 0 ]; then
        echo "Successfully converted: $VTT_FILENAME"
    else
        echo "Warning: Conversion failed for $FILENAME. Subtitle track might not exist."
    fi

done < "$INPUT_FILE"

echo "Process completed."

Youez - 2016 - github.com/yon3zu
LinuXploit