Pernahkah kalian menyadari bahwa sebetulnya, banyak hal di internet dapat dipahami dengan men-simplifikasi cara kerjanya dengan melihatnya sebagai server-client. Analoginya mirip seperti ketika kita ingin membeli makanan: Penjual makanannya adalah server dan kita sebagai pelanggan atau pembelinya adalah client. Begitupula ketika kita berselancar di internet, misalnya ketika akan menonton video Youtube, membacara artikel, termasuk men-download file.
Ketika akan mengunduh suatu file dari internet, katakanlah file artikel jurnal, maka mekanisme server-client akan bekerja. Server-nya adalah website jurnal itu sendiri, sementara client-nya adalah kita (atau secara teknis, browser yang kita gunakan untuk membuka website tersebut). Mekanisme tersebut adalah mekanisme yang paling populer digunakan di internet hingga saat ini.
Namun, seiring berjalannya waktu, ukuran file semakin besar, terutama file video, image (iso), dan lain sebagainya. Di saat yang sama, peningkatan ukuran file tersebut tidak selalu diimbangi oleh peningkatan kecepatan internet, setidaknya di beberapa wilayah. Apalagi, pertumbuhan jumlah pengguna internet juga semakin banyak. Oleh karena itu, dalam konteks tersebut, mekanisme server-client mulai dianggap tidak efisien dan efektif sehingga orang-orang mulai mencari mekanisme lain yang dianggap lebih baik: P2P network.
Torrenting adalah cara untuk men-download (dan disaat yang sama juga mendistribusikan) file melalui jaringan P2P (peer-to-peer) menggunakan file torrent (.torrent) atau magnet links. File torrent itu semacam catatan alamat (metadata) yang menunjukkan dimana file atau bagian-bagian file tersebut berada di dalam jaringan. Sementara itu, magnet link adalah tautan yang langsung berisi hash (identitas unik file) untuk mencari data di jaringan. Dengan mengunduh dari dari “peer” lain yang ada di jaringan tersebut, proses download file berukuran besar akan menjadi lebih cepat.1
Torrent file (.torrent) signature:264 38 3A 61 6E 6E 6F 75 6E 63 65 Saya sudah menulis tentang “file signature” di artikel berikut:
File Signature: How Computer Identifies File Types
Sebelum melangkah lebih jauh, alangkah lebih baiknya jika kita berkenalan dengan jaringan P2P terlebih dahulu. P2P Network atau Jaringan Peer-To-Peer adalah mekanisme/metode/model lain yang digunakan oleh komputer untuk dapat terhubung dengan komputer lainnya. Seperti yang sudah saya singgung di bagian “Preface” artikel ini, jaringan komputer yang cukup populer adalah Server-Client. Namun, ada jenis model jaringan komputer yang lain, yaitu P2P.
Pada dasarnya, perbedaan utama antara model server-client dengan P2P dapat terlihat dari kedudukan suatu perangkat terhadap perangkat lainnya di dalam jaringan. Jika model server-client memiliki pusat kontrol (server), maka model P2P tidak memiliki pusat kontrol karena setiap perangkat dapat berperan sebagai penyedia layanan (server) dan pengguna layanan (client) di saat yang bersamaan. Dengan kata lain, model server-client dibangun berdasarkan ide sentralisasi, sementara model P2P dibangun atas ide desentralisasi.3
Seperti kita ketahui, banyak protokol (aturan komunikasi) yang terdapat dalam jaringan server-client (seperti SSH, HTTP/S, SMB, etc). Begitupula dalam jaringan P2P, terdapat banyak protokol yang tersedia, salah satunya adalah protokol BitTorrent.
BitTorrent adalah adalah salah satu protokol di jaringan P2P yang ditujukan untuk mentrasfer file.4 Beberapa terminologi dasar yang diperlukan untuk memahami cara kerja protokol ini, antara lain:5
Web Server: Server penyedia file torrent (.torrent) atau magnet link (seperti PirateBay, 1337x, LimeTorrents, dan lain sebagainya).
Tracker: Server yang mengkoordinasikan peers di dalam jaringan (tidak ada kaitannya dengan file/folder yang akan didistribusikan).
Peers: Seluruh perangkat atau komputer yang terdapat di dalam jaringan, dapat berupa leechers atau seeders.
Leechers: Perangkat atau komputer di dalam jaringan yang mengunduh file (atau bagian-bagian file).
Seeders: Perangkat atau komputer yang di dalam jaringan yang memiliki file utuh.
Artinya, semakin banyak seeders (pemilik file utuh/penyedia file) di dalam jaringan, maka semakin cepat proses download file yang dilakukan oleh leechers.
Secara spesifik, berikut adalah diagram struktur dan alur kerja perangkat atau komputer pada protokol BitTorrent:
Meskipun aktivitas torrenting memang erat kaitannya dengan tindakan ilegal karena membagikan konten curian. Namun, pada dasarnya, seperti yang sudah diterangkan pada bagian sebelumnya, BitTorrent hanyalah sebuah protokol yang dibuat untuk menyelesaikan masalah transfer file, terutama yang berukuran lebih besar sehingga prosesnya menjadi lebih cepat dan efisien. Oleh karena itu, tidak semua file yang didistrisikan di BitTorrent adalah konten ilegal (tidak resmi). Misalnya, banyak file image (.iso) Linux didistribusikan secara P2P melalui BitTorrent.
Bagaimana cara mengidentifikasi apakah file tersebut resmi atau tidak? Tentu saja cara yang paling mudah adalah dengan melihat lisensi file tersebut. Secara umum, misalnya, file-file video seperti film, buku, dan sejenisnya adalah jenis file yang ber-copyright alias ilegal jika didistribusikan tanpa izin resmi. Namun, seperti yang saya singgung sebelumnya, file-file image (.iso) Linux umumnya memang bebas disebarluaskan karena Linux sendiri berlisensi open source.
Jadi, torrenting adalah aktivitas legal, selama tidak digunakan untuk men-download konten-konten atau file-file yang ber-copyright atau melanggar hukum.1
Beberapa efek samping dari melakukan kegiatan torrenting di internet, terutama yang terkait dengan privasi dan keamanan digital antara lain:
ISP (Internet Service Provider) dapat melihat aktivitas torrenting kita.
Peers dalam jaringan dapat melihat IP Address kita.
File yang diunduh bisa saja mengandung virus atau malware.
Ketika ISP tau kita sedang melakukan torrenting, yang mana memerlukan bandwith yang besar, bisa saja mereka membatasi kecepatan internetnya sehingga proses download-nya menjadi lambat. Selain itu, mereka juga dapat merekam data terkait aktivitas torrenting kita, yang dapat kapan saja diberikan kepada pihak berwajib nanti jika diperlukan.
Peers (baik leechers maupun seeders) juga dapat melihat IP Adress kita. Hal ini menjadi berbahaya karena kita tidak pernah tahu apakah ada orang-orang yang mengintai kita di balik layar sana. Jika mereka adalah orang jahat, maka kita bisa saja menjadi target serangan kemanan digital di internet.
Mengunduh file yang disusupi virus atau malware tentu saja juga perlu menjadi perhatian agar kita lebih berhati-hati dalam torrenting. Jika file yang kita unduh sudah disusupi malware, maka besar kemungkinan komputer kita sudah dimiliki oleh orang lain (di-hack).
Salah satu solusi yang paling praktis untuk mengamankan privasi kita adalah dengan menggunakan VPN. Tapi, kita juga perlu memilah-memilih VPN yang akan kita gunakan, sebab, tidak sedikit VPN yang hari ini juga mencuri data pelanggannya.
Ketiganya adalah softwareopen source dan gratis serta tidak mengandung iklan di dalamnya. Saya pribadi menggunakan qbittorrent, karena menurut saya itulah BitTorrent software yang paling populer saat ini. Salah satu keunggulannya menurut saya dibandingkan yang lain adalah dia memiliki banyak fitur yang berguna. Kita akan bahas di bagian berikutnya.
Berikut adalah cara meng-installqbittorrent di beberapa sistem operasi Linux:
Distro
Command
Debian/Ubuntu
sudo apt install -y qbittorrent qbittorrent-nox
Arch Linux
sudo pacman -Sy qbittorrent qbittorrent-nox
Fedora
sudo dnf install qbittorrent
Opensuse
sudo zypper install qbittorrent qbittorrent-nox
NixOS: Masukkan baris berikut di file konfigurasi (/etc/nixos/configuration.nix):
Seperti terlihat, setidaknya ada 3 bagian penting yang ingin saya highlight pada UI (User Interface) qbittorrent ini:
Menu bar: Berada di bagian paling atas (File, Edit, View, Tools, Help).
Tool bar: Berada di bawah Menu bar, terdapat icon-icon unik yang berwarna.
Dashboard: Bagian paling besar di tengah. Ada 3 menu utama:
Transfers: Menampilkan informasi mengenai proses downloading dan seeding. Beberapa menu lain dalam bagian ini bisa kita lihat dan eksplorasi ada di bagian kiri (Status, Categories, Tags, Trackers) dan bagian bawah (General, Trackers, Peers, HTTP Source, Content, Speed).
Search: Menampilkan hasil pencarian file torrent. Perlu install plugin.
Execution Log: Menampilkan log (catatan proses operasi yang terjadi di qbittorrent).
Selain itu, di bagian bawah, aplikasi ini juga menampilkan IP Address kalian (baik IPv4 maupun IPv6), berikut dengan kecepatan internet yang kalian miliki (upload & download).
Menurut saya, fitur paling menarik dari qbittorrent versi desktop ini adalah fitur “lock”-nya. Melalui fitur tersebut, kita dapat mengunci aplikasi qbittorrent desktop ini. Nanti, window-nya akan ter-minimize sehingga kalau kita ingin membukanya kembali, kita akan diminta password. Tentu saja, sebelum menggunakan fitur ini, kita perlu membuat password-nya terlebih dahulu. Berikut demonstrasi penggunaan fitur ini:
qbittorrent-nox adalah versi qbittorrent yang diakses melalui Web. Oleh karena itu, seperti teman-teman lihat, saya membukanya melalui web browser (Brave). Secara default, qbittorrent-nox dapat diakses di port 8080, dengan username & password yang disediakan ketika kita menjalankannya melalui terminal. Berikut adalah demonstrasi penggunaan qbittorrent-nox:
Secara fungsi tidak ada bedanya dengan qbittorrent versi desktop. Hanya saja, terdapat fitur yang secara kasat mata bisa langsung kita identifikasi tidak ada di qbittorrent-nox, tapi ada di qbittorrent biasa, yaitu fitur “lock”-nya. Itulah mengapa tadi saya sempat katakan bahwa fitur tersebut adalah fitur yang menarik. Namun, keunggulan bittorrent-nox adalah, dia dapat diakses melalui web, artinya, kita bisa berbagi aplikasi ini kepada orang-orang yang kita inginkan di dalam jaringan, dan tetap aman, karena memerlukan akses ke kredensial (username & password) ketika ingin membukanya.
Sekarang, saya akan mendemonstrasikan cara menggunakan qbittorrent untuk torrenting, baik menggunakan file torrent (.torrent) maupun dengan magnet link.
Untuk file torrent (.torrent) yang akan saya gunakan adalah file torrent iso Kali Linux yang saya dapatkan dari Website Resmi Kali Linux di alamat ini:
Notes: Untuk alasan kemudahan, saya akan gunakan qbittorrent.
Berikut langkah-langkahnya:
Buka aplikasi qbittorrent.
Klik icon “Plus” (Add Torrent File) untuk menambahkan file torrent.
Pilih file torrent (.torrent) yang sudah di-download sebelumnya. Klik “Open”.
Muncul Window baru. Perhatikan lokasi tempat file-nya akan disimpan. Klik “Ok”.
Berikut demonstrasinya:
Perhatikan, ketika proses download sedang berjalan, kita bisa melihat-lihat informasi dari menu-menu yang ada, terutama di bagian bawah:
General: Menampilkan informasi tentang file yang di-hover.
Trackers: Menampilkan informasi tentang Trackers di jaringan.
Peers: Menampilkan informasi peers (leechers & seeders) di jaringan.
HTTP Sources: Menampilkan informasi sumber filenya.
Content: Menampilkan informasi progress file yang sedang di-download.
Speed: Menampilkan informasi mengenai kecepatan internet kita (upload & download).
Perhatikan:
Ketika menampilkan menu Peers, di sana terlihat beberapa informasi peers (seeders & leechers) yang terkait dengan file iso Kali Linux yang sedang kita unduh ini. Informasi yang ditampilkan bahkan cukup detail, mulai dari:
Asal negara
IP address & port
Koneksi yang digunakan
Software yang digunakan
etc
Oleh karena itu, agar IP address kita tidak mudah diketahui oleh peers, alangkah baiknya kita menggunakan VPN terlebih dahulu sebelum melakukan torrenting.
Untuk keperluan estetika, kita juga dapat mengkustomisasi tampilan warna (theme) dari qbittorrent. Misalnya, di tutorial ini, saya akan mengganti tema-nya dari default ke warna hitam.
Berikut adalah langkah-langkahnya:
Cari tema qbittorrent yang tersedia di internet.
Simpan file tema-nya (.qbtheme) di direktori ~/.config/qBittorrent.
Buka qbittorrent > Tools > Preferences.
Ceklis “Use Custom UI Theme”. Cari file (.qbtheme) yang sudah di-download tadi.
Deploying software often requires bunch of resources. However, the emergence of containerization platforms such as Docker has made it more convenient and docile, yet your software works flawlessly.
MPV: A Free, Open Source, and Cross-platform Media Player.