IGOS Nusantara dan Bittorrent: Perbedaan revisi
Baris 1: | Baris 1: | ||
− | Bittorrent adalah aplikasi P2P yang dibuat oleh Bram Cohen pada tahun 2001 | + | 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 | + | Berikut tutorial singkat tentang cara menggunakan Bittorrent, terdiri dari tiga bagian yaitu: |
# Membuat tracker | # Membuat tracker | ||
# Mempublish ke tracker dan | # Mempublish ke tracker dan | ||
Baris 20: | Baris 20: | ||
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.py --dfile dfile.log --logfile track.log --port 6969 & |
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://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. | ||
Baris 28: | Baris 28: | ||
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: | 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: | ||
− | $ btmakemetafile.py Aishah http://please.dong.ah:6969/announce | + | $ 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 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 | ||
− | $ btdownloadcurses.py Aishah.torrent | + | $ btdownloadcurses.py Aishah.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 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. | ||
Baris 38: | Baris 38: | ||
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 ./ | + | $ btlaunchmany.py ./ |
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 upload setiap file torrentnya gunakan option berikut: | ||
− | $ btlaunchmany.py ./ --max_upload_rate 4 | + | $ btlaunchmany.py ./ --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 50: | ||
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 | + | $ btdownloadcurses.py Aishah.torrent |
− | Ketika anda sebagai seeder membatasi maksimum | + | 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 | + | 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/ |
Revisi per 27 Mei 2011 05.45
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, terdiri dari tiga bagian yaitu:
- 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).
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.py --dfile dfile.log --logfile track.log --port 6969 &
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.
Membuat file torrent
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:
$ 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
$ btdownloadcurses.py Aishah.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.
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 ./
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:
$ btlaunchmany.py ./ --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:
$ btdownloadcurses.py Aishah.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:)