IGOS Nusantara dan Bittorrent: Perbedaan revisi

Dari IGNwiki
Langsung ke: navigasi, cari
 
(14 revisi antara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
Bittorrent adalah aplikasi P2P yang dibuat oleh Bram Cohen pada tahun 2001 dengan lisensi MIT yang termasuk ke dalam kategori Open Source. Adalah sebuah aplikasi yang bisa menyediakan network 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 mendownload file sekaligus membantu distribusi upload secara otomatis meskipun file yang sedang didownload belum selesai.
+
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 tutorial singkat tentang cara menggunakan Bittorrent ini, terdiri dari tiga bagian yaitu:
+
Berikut ini contoh panduan membuat torrent di repo.igos-nusantara.or.id. Direktori yang akan dibuat torrent ada di /home/repo/iso
# Membuat tracker
+
# Mempublish ke tracker dan
+
# Mengunduh file menggunakan Bittorrent.  
+
  
Tutorial ini khusus untuk lingkungan sistem operasi Linux/Unix dengan Python dan Bittorrent sudah terinstall (distribusi modern Linux umumnya sudah menyertakan aplikasi Bittorrent).
+
== Persiapan ==
 +
Jika aplikasi bittorrent belum ada, pasang dengan cara:
 +
# yum -y install bittorrent
  
 
== Membuat tracker ==
 
== 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 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.
  
Baris 20: Baris 18:
 
Contoh menjalankan tracker dengan menyimpan datafile ke dfile.log dan logfile ke track.log pada port 6969
 
Contoh menjalankan tracker dengan menyimpan datafile ke dfile.log dan logfile ke track.log pada port 6969
  
$ bttrack.py --dfile dfile.log --logfile track.log --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://212.212.212.212:6969 atau http://please.dong.ah:6969 di mana tempat untuk mendaftarkan torrent nantinya adalah http://212.212.212.212:6969/announce atau http://please.dong.ah:6969/announce.
+
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 ==
 
== Membuat file torrent ==
 +
Direktori ISO image ada di /home/repo/iso, langkah pertama yang harus dilakukan adalah menggenerate file tersebut menjadi torrent dengan cara:
  
Sekarang misalnya kita akan mempublish sebuah direktori yang berisi file-file mp3 bernama Aishah, 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
$ btmakemetafile.py Aishah http://please.dong.ah:6969/announce
+
  
Perintah di atas akan menghasilkan sebuah file bernama Aishah.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
+
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
  
$ btdownloadcurses.py Aishah.torrent
+
$ bittorrent-curses IGN2011-beta2.iso.torrent
  
Layar console anda akan mengecek direktori Aishah 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.
+
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
 
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
  
$ btlaunchmany.py ./
+
$ launchmany-console ./
  
Perintah di atas akan mengecek semua file .torrent di current directory dan menjalankan semuanya sebagai seeder. Untuk membatasi bandwidth upload setiap file torrentnya gunakan option berikut:
+
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:
  
$ btlaunchmany.py ./ --max_upload_rate 4
+
$ launchmany-console ./ --max_upload_rate 4
  
 
Angka 4 artinya maksimum upload adalah 4KB/s atau 32Kbps
 
Angka 4 artinya maksimum upload adalah 4KB/s atau 32Kbps
Baris 50: Baris 48:
 
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:
 
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:
  
$ btdownloadcurses.py Aishah.torrent
+
$ bittorrent-curses IGN2011-beta2.iso.torrent
  
Ketika anda sebagai seeder membatasi maksimum upload 32Kbps maka jika ada 100 orang mendownload 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. Imagine that great concept!
+
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 mendownload file tertentu melalui torrent anda bisa mencari file torrentnya melalui search engine atau ke situs-situs yang menyediakan kumpulan file torrent seperti suprnova.org. Download file torrentnya yang cukup kecil dan mulailah download 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:)
+
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 ===
 
=== Taut ===
 
* http://yulian.firdaus.or.id/2004/10/08/menggunakan-bittorrent/
 
* http://yulian.firdaus.or.id/2004/10/08/menggunakan-bittorrent/
 +
* http://fedoraunity.org/solved/post-install-solutions/bt-btgui
 +
* http://id.wikipedia.org/wiki/BitTorrent

Revisi terkini pada 27 Mei 2011 09.22

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