Pendahuluan

Pada tutorial singkat kali ini, kita akan membuat script untuk mengunduh video yang dibagikan secara publik di situs Facebook. Sebenarnya ada beberapa script lain yang dibuat untuk mengunduh video dari Facebook, dan kebanyakan menggunakan python, namun kali ini kita akan menggunakan bash dan beberapa aplikasi lain untuk tujuan tersebut.

Langkah-langkah

Tutorial ini akan menggunakan beberapa aplikasi pembantu untuk proses pencarian tautan terhadap video, serta untuk proses pengunduhan. Aplikasi yang dimaksud adalah ripgrep dan aria2c, namun Anda dapat menggunakan aplikasi yang sudah ada pada sistem operasi Linux pada umumnya yaitu wget atau curl dan grep. Salah satu trik yang digunakan pada tutorial ini adalah mengubah tautan video Facebook menjadi versi basic sehingga halaman yang diunduh ukurannya jauh lebih kecil. Misalnya tautan berikut ini:

https://www.facebook.com/125175167529460/posts/3147307375316209/

Jika diubah menjadi tautan versi basic maka akan menjadi seperti ini:

https://mbasic.facebook.com/125175167529460/posts/3147307375316209/

Setelah mengubah tautan, kita dapat mengunduh halaman video tersebut. Dan yang perlu diperhatikan pada halaman video tersebut adalah bagian meta dimana propertinya adalah og:video berikut ini:

<meta property="og:video" content="https://video.fupg2-1.fna.fbcdn.net/v/t42.9040-2/105665251_570807390541027_2285418738025577844_n.mp4?_nc_cat=109&_nc_sid=985c63&efg=eyJ2ZW5jb2RlX3RhZyI6ImxlZ2FjeV9zZCJ9&_nc_ohc=S27lX4BmPTQAX9J88b5&_nc_ht=video.fupg2-1.fna&oh=83b19f2df1ef9766182eef02900ddda6&oe=5EF0BBEF" />

Untuk memperoleh tautan ke videonya, kita akan menggunakan ripgrep (namun Anda juga bisa menggunakan grep). Berikut ini adalah perintah untuk mendapatkan tautan tersebut:

rg -o '"og:video" content="(.+?)"' index.html | cut -d '"' -f4 | sed 's/amp;//g'

Jika dijalankan, maka perintah tersebut akan menghasilkan tautan berikut ini:

https://video.fupg2-1.fna.fbcdn.net/v/t42.9040-2/105665251_570807390541027_2285418738025577844_n.mp4?_nc_cat=109&_nc_sid=985c63&efg=eyJ2ZW5jb2RlX3RhZyI6ImxlZ2FjeV9zZCJ9&_nc_ohc=S27lX4BmPTQAX9J88b5&_nc_ht=video.fupg2-1.fna&oh=83b19f2df1ef9766182eef02900ddda6&oe=5EF0BBEF

Selanjutnya, kita dapat mengunduh tautan video tersebut. Pada tutorial ini kita akan menggunakan aria2c dengan perintah sebagai berikut:

aria2c -o 3147307375316209.mp4 "https://video.fupg2-1.fna.fbcdn.net/v/t42.9040-2/105665251_570807390541027_2285418738025577844_n.mp4?_nc_cat=109&_nc_sid=985c63&efg=eyJ2ZW5jb2RlX3RhZyI6ImxlZ2FjeV9zZCJ9&_nc_ohc=S27lX4BmPTQAX9J88b5&_nc_ht=video.fupg2-1.fna&oh=83b19f2df1ef9766182eef02900ddda6&oe=5EF0BBEF"

Dari informasi di atas, kita dapat membuat script untuk mengunduh secara otomatis menggunakan bash scripting. Berikut ini adalah script bash tersebut:

#!/usr/bin/bash
trap abrt INT

abrt() {
    echo "[-] Aborted!"
    exit 1
}

doit() {
    if [[ "$1" =~ "www" ]]; then
        URL=$(echo "$1" | sed 's/www/mbasic/')
    else
        URL="$1"
    fi

    aria2c -q -o index.html "$URL"

    FOUT=$(echo "$URL" | cut -d '/' -f6).mp4
    FURL=$(rg -o '"og:video" content="(.+?)"' index.html | cut -d '"' -f4 | sed 's/amp;//g')

    echo -n "[+] Downloading $FOUT "
    aria2c -q -o "$FOUT" "$FURL"
    echo "[DONE]"
    rm "index.html"
}


if [[ "$1" == "" ]]; then
    echo "Usage: $0 [URL or FILE]"
    exit 1
fi

if [[ "$1" =~ "https://" ]]; then
    doit "$1"
elif [[ -f "$1" ]]; then
    for lnk in $(cat "$1"); do
        doit "$lnk"
    done
else
    echo "Invalid URL or FILE not exits."
    exit 1
fi

Simpan script di atas dengan nama fbdown.sh, set executable atau jalankan menggunakan bash dengan perintah seperti ini:

chmod +x fbdown.sh
./fbdown.sh https://www.facebook.com/125175167529460/posts/3147307375316209/
[+] Downloading 3147307375316209.mp4 [DONE]

Anda dapat juga menyimpan tautan ke beberapa video di facebook ke dalam file, dan menggunakan script tersebut untuk mengunduhnya secara otomatis, dengan perintah seperti ini:

./fbdown.sh url.txt

Anda dapat menghentikan proses mengunduh video dengan menekan tombol CTRL+C pada keyboard.

Penutup

Script ini cukup sederhana sehingga Anda dapat mengembangkannya sesuai dengan keinginan. Sekian tutorial kali ini, semoga bermanfaat. Terima kasih kepada Allah SWT, dan Anda yang telah membaca tutorial ini.

Referensi