IGOS Nusantara dan Bittorrent

Dari IGNwiki
Langsung ke: navigasi, cari

Bittorrent adalah aplikasi P2P yang dibuat oleh Bram Cohen pada tahun 2001. Lisensi yang dipakai adalah lisensi MIT yang termasuk ke dalam kategori Open Source. Aplikasi ini dapat menyediakan jaringan untuk pertukaran file yang terdistribusi antara client dengan client, bukan konsep one-to-many seperti yang kita kenal dalam protokol FTP tapi many-to-many, di mana client yang mengunduh file sekaligus membantu distribusi unggah secara otomatis meskipun file yang sedang diunduh belum selesai.

Berikut ini contoh panduan membuat torrent di repo.igos-nusantara.or.id. Direktori yang akan dibuat torrent ada di /home/repo/iso

Persiapan

Jika aplikasi bittorrent belum ada, pasang dengan cara:

# yum -y install bittorrent

Membuat tracker

Tracker adalah sebuah server yang berfungsi meng-announce sebuah torrent dan torrent adalah sebuah file kecil ukurannya terhadap file yang dipublish yang merupakan hash dan metadata file sesungguhnya. Sebuah file yang hendak disebar harus didaftarkan ke tracker pada saat menggenerate file torrent-nya.

Tracker akan memantau lalu lintas (bukan melewatkan data file sesungguhnya) antar client, jadi bisa dikatakan sangat kecil bandwidth yang dihabiskan untuk fungsi kerja sebuah tracker ini. Satu buah tracker bisa dipakai oleh banyak torrent.

Ketika satu client mempublish torrentnya dan menyediakan file yang sesungguhnya untuk didownload client lain dinamakan seeder.

Sebuah tracker bekerja pada protokol HTTP dengan port default 80, umumnya pembuat tracker menggantinya dengan port di atas 1023 supaya user linux biasa (bukan root) bisa menjalankannya.

Contoh menjalankan tracker dengan menyimpan datafile ke dfile.log dan logfile ke track.log pada port 6969

$ bttrack --dfile dfile.log --logfile track.log --port 9091 &

Perintah di atas akan membuat IP address atau hostname server tersebut menjadi misalnya http://202.162.217.58:9091 atau http://repo.igos-nusantara.or.id:9091 di mana tempat untuk mendaftarkan torrent nantinya adalah http://202.162.217.58:9091/announce atau http://repo.igos-nusantara.or.id:9091/announce.

Membuat file torrent

Direktori ISO image ada di /home/repo/iso, langkah pertama yang harus dilakukan adalah menggenerate file tersebut menjadi torrent dengan cara:

$ cd /home/repo/iso
$ transmissioncli -n IGN2011-beta2.iso -a http://repo.igos-nusantara.or.id:9091/announce IGN2011-beta2.iso.torrent

Perintah di atas akan menghasilkan sebuah file bernama IGN2011-beta2.iso.torrent. Sekarang bagaimana direktori tersebut dipublish? Anda harus menjadi seeder pertama. Menjadi seeder pertama adalah seolah-olah anda mendownload melalui torrent padahal anda sudah punya filenya lengkap. Caranya jalankan fungsi download Bittorrent di direktori tadi

$ bittorrent-curses IGN2011-beta2.iso.torrent

Layar console anda akan mengecek direktori /home/repo/iso dan isinya dan dibandingkan dengan informasi metadata pada file torrentnya, status Bittorrent anda akan mengatakan file sudah selesai terdownload. Dengan membiarkan file yang sudah selesai terdownload anda sudah menjadi seorang seeder dan orang lain siap mendownload file anda.

Bagaimana jika ada banyak direktori yang ingin anda seed ke tracker dengan file torrent yang berbeda-beda? Buatlah file torrent-nya masing-masing sesuai petunjuk di atas dan gunakan perintah berikut untuk menjadi seeder dengan banyak file torrent

$ launchmany-console ./

Perintah di atas akan mengecek semua file .torrent di current directory dan menjalankan semuanya sebagai seeder. Untuk membatasi bandwidth unggah setiap file torrentnya gunakan option berikut:

$ launchmany-console ./ --max_upload_rate 4

Angka 4 artinya maksimum upload adalah 4KB/s atau 32Kbps

Mengunduh dengan Bittorrent

Bagaimana orang lain bisa mendownload file anda? Caranya adalah publikasikan file .torrent yang anda buat ke dalam sebuah halaman web atau kirimkan melalui email sebagai attachment ke rekan anda, dan rekan anda akan mendownload file tersebut dengan cara:

$ bittorrent-curses IGN2011-beta2.iso.torrent

Ketika anda sebagai seeder membatasi maksimum unggah 32Kbps maka jika ada 100 orang mengunduh file anda bandwidth upload maksimum tetap 32Kbps tapi bukan berarti client lain yang sedang mendownload akan mendapat 32/100Kbps karena semua client akan saling bertukar informasi melalui tracker dan saling bertukar file yang sama meskipun semuanya belum ada satu pun yang sudah selesai mendownload dari anda sebagai seeder.

Untuk mengunduh file tertentu melalui torrent anda bisa mencari file torrentnya melalui search engine atau ke situs-situs yang menyediakan kumpulan file torrent seperti suprnova.org. Unduh file torrentnya yang cukup kecil dan mulailah unduh file sesungguhnya dengan Bittorrent, dan satu pesan ketika selesai mendownload jangan tutup dulu biarkan orang lain mendownload dari anda meskipun upload anda batasi misalnya hanya 2KB/s:)

Taut