Skip to main content
Background Image
  1. Teches/

Torrenting: P2P Network Through BitTorrent Protocol for Distributing and Downloading File(s)

··2021 words·10 mins· ·
Wildan
Author
Wildan
An Ordinary Human Being
Table of Contents

Getting to Know
#

Preface
#

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.

What is Torrent(ing)?
#

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:2 64 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
··767 words·4 mins
File signature is one of the most common concepts when it comes to identifying types of files in your opeating system.

Beberapa contoh file signature .torrent:
ss1
torrent file signature

P2P Network
#

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

Berikut ilustrasi perbedaan keduanya:

ss2
Server-Client model vs P2P model. Source: systemdesignschool.io

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.

Daftar protokol P2P: https://en.wikipedia.org/wiki/List_of_P2P_protocols

BitTorrent Protocol
#

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:

ss3
BitTorrent Protocol. Source: ResearchGate

Keterangan:

  1. Leecher men-download file torrent (.torrent) dari Web Server.
  2. Dalam proses pencarian file, Leecher akan menghubungi Tracker.
  3. Tracker akan memberi daftar Peers di dalam jaringan.
  4. Leecher mulai men-download file dari Peers yang menyediakan file-nya (Seeders)

Legality
#

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.

ss4
KaliLinux .iso is available in .torrent file. Source: Kali Linux Official Website

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

Privacy & Security
#

Beberapa efek samping dari melakukan kegiatan torrenting di internet, terutama yang terkait dengan privasi dan keamanan digital antara lain:

  1. ISP (Internet Service Provider) dapat melihat aktivitas torrenting kita.
  2. Peers dalam jaringan dapat melihat IP Address kita.
  3. 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).

Solution
#

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.

Installation
#

Beberapa software yang dapat digunakan untuk melakukan torrenting:6

  1. qbittorrent: https://www.qbittorrent.org/

  2. transmission:

  1. deluge:

Ketiganya adalah software open 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-install qbittorrent di beberapa sistem operasi Linux:

DistroCommand
Debian/Ubuntusudo apt install -y qbittorrent qbittorrent-nox
Arch Linuxsudo pacman -Sy qbittorrent qbittorrent-nox
Fedorasudo dnf install qbittorrent
Opensusesudo zypper install qbittorrent qbittorrent-nox

NixOS:
Masukkan baris berikut di file konfigurasi (/etc/nixos/configuration.nix):

  environment.systemPackages = [
    pkgs.qbittorrent 
    pkgs.qbittorrent-nox
  ];

Atau jika menggunakan nix-shell:

nix-shell -p qbittorrent qbittorrent-nox

Notes:
qbittorent adalah package untuk QBitTorrent versi GUI.
qbittorrent-nox adalah package untuk QBitTorrent versi Web.

Usage
#

qbittorent UI
#

Berikut adalah penampakan qbittorrent:

ss5
qbittorrent UI

Seperti terlihat, setidaknya ada 3 bagian penting yang ingin saya highlight pada UI (User Interface) qbittorrent ini:

  1. Menu bar: Berada di bagian paling atas (File, Edit, View, Tools, Help).
  2. Tool bar: Berada di bawah Menu bar, terdapat icon-icon unik yang berwarna.
  3. 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:

qbittorent-nox UI
#

Berikut adalah penampakan qbittorrent-nox:

ss6
qbittorrent-nox UI

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.

Torrenting
#

Sekarang, saya akan mendemonstrasikan cara menggunakan qbittorrent untuk torrenting, baik menggunakan file torrent (.torrent) maupun dengan magnet link.

Torrent File (.torrent )
#

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:

https://cdimage.kali.org/kali-2026.1/kali-linux-2026.1-installer-netinst-amd64.iso.torrent

Notes: Untuk alasan kemudahan, saya akan gunakan qbittorrent.

Berikut langkah-langkahnya:

  1. Buka aplikasi qbittorrent.
  2. Klik icon “Plus” (Add Torrent File) untuk menambahkan file torrent.
  3. Pilih file torrent (.torrent) yang sudah di-download sebelumnya. Klik “Open”.
  4. 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.

Magnet Link#

Untuk magnet link yang akan saya gunakan adalah magnet link iso Arch Linux yang saya dapatkan dari Website Resmi Arch Linux di alamat ini:

magnet:?xt=urn:btih:157e0a57e1af0e1cfd46258ba6c62938c21b6ee8&dn=archlinux-2026.04.01-x86_64.iso

Notes: Untuk alasan kemudahan, saya akan gunakan qbittorrent.

Berikut langkah-langkahnya:

  1. Buka aplikasi qbittorrent.
  2. Klik icon “Link” (Add Torrent Link) untuk menambahkan magnet link.
  3. Paste-kan magnet link Arch Linux iso yang ada di atas. Klik “Download”.
  4. Muncul Window baru. Perhatikan lokasi tempat file-nya akan disimpan. Klik “Ok”.

Berikut demonstrasinya:

Selebihnya, tidak ada perbedaan yang signifikan. Perbedaan utama antara torrent file dan magnet link hanya ada cara mulai men-download-nya saja.

Custom Theme
#

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:

  1. Cari tema qbittorrent yang tersedia di internet.
  2. Simpan file tema-nya (.qbtheme) di direktori ~/.config/qBittorrent.
  3. Buka qbittorrent > Tools > Preferences.
  4. Ceklis “Use Custom UI Theme”. Cari file (.qbtheme) yang sudah di-download tadi.
  5. Klik “Apply. Klik “Ok”.

Notes:
Daftar tema qbittorrent yang bisa digunakan bisa dilihat di sini:
https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes

Ini adalah qbittorrent saya dengan tema default:

ss7
qbittorrent default

Ini adalah qbittorrent saya dengan tema black:

ss8
qbittorrent black theme (customized)

Demikian.
Semoga bermanfaat.
Terima kasih.

Related

Docker: A Powerful Containerization Platform (+ Lazydocker)
··2796 words·14 mins
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.
··602 words·3 mins
A tiny but powerful (and super useful of course) video (and music) player.
Scrcpy: Open Source Tool for Mirroring Your Android Devices
·680 words·4 mins
Mirroring your android devices can never be this easy with open source tool: Scrcpy