BitTorrent Client dengan Transmission pada OpenWrt

Transmission adalah salah satu BitTorrent client yang cukup simple, bisa berbagi file satu sama lain secara peer to peer, baik upload maupun download. Untuk lebih jelas, apa itu BitTorrent? Bisa dibaca di sini. Transmission BitTorrent Client ini saya implementasikan pada wireless router TP-LINK WR741ND dengan USB mod + Extroot.

Bagi yang membutuhkan firmware mod TP-LINK TL-WR741ND ver 1.x, bisa diambil di:

https://drive.google.com/folderview?id=0B1Aj8bC-AJMKb0xtVjFuMkpmR0k&usp=sharing

Instalasi
  1. Update list paket OpenWrt

    root@g-wrt:/# opkg update

  2. Lihat ketersediaan paket transmission

    root@g-wrt:/# opkg list | grep transmission
    transmission across the network also takes time!
    transmission-cli - 2.32-2 - CLI utilities for transmission.
    transmission-daemon - 2.32-2 - Transmission is a simple BitTorrent client.
    transmission-remote - 2.32-2 - CLI remote interface for transmission.
    transmission-web - 2.32-2 - Webinterface resources for transmission.

  3. Install paket transmission-daemon (service BitTorrent client)

    root@g-wrt:/# opkg install transmission-daemon
    Installing transmission-daemon (2.32-2) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/transmission-daemon_2.32-2_ar71xx.ipk.
    Multiple packages (libpthread and libpthread) providing same name marked HOLD or PREFER. Using latest.
    Multiple packages (librt and librt) providing same name marked HOLD or PREFER. Using latest.
    Installing libcurl (7.21.7-1) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/libcurl_7.21.7-1_ar71xx.ipk.
    Installing libopenssl (0.9.8r-1) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/libopenssl_0.9.8r-1_ar71xx.ipk.
    Installing zlib (1.2.3-5) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/zlib_1.2.3-5_ar71xx.ipk.
    Installing libevent2 (2.0.12-1) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/libevent2_2.0.12-1_ar71xx.ipk.
    Configuring zlib.
    Configuring libopenssl.
    Configuring libcurl.
    Configuring libevent2.
    Configuring transmission-daemon.

  4. Install paket transmission-cli (CLI utility)

    root@g-wrt:/# opkg install transmission-cli
    Installing transmission-cli (2.32-2) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/transmission-cli_2.32-2_ar71xx.ipk.
    Configuring transmission-cli.

  5. Install paket transmission-remote (utility untuk remote)

    root@g-wrt:/# opkg install transmission-remote
    Installing transmission-remote (2.32-2) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/transmission-remote_2.32-2_ar71xx.ipk.
    Configuring transmission-remote.

  6. Install paket transmission-web (Web-UI port 9091)

    root@g-wrt:/# opkg install transmission-web
    Installing transmission-web (2.32-2) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/transmission-web_2.32-2_ar71xx.ipk.
    Configuring transmission-web.

Konfigurasi

Edit file konfigurasi transmission sesuaikan kebutuhan.
Point yang perlu diperhatikan:

option enabled 0
option config_dir '/tmp/transmission'
option download_dir '/mnt/transmission/done'
option rpc_password ''
option rpc_username ''

Selebihnya tinggal atur sendiri sesuai bandwitdh yang tersedia, dengan satuan dalam KiloByte dan baca juga keterangannya di sini bagian Sections.

root@g-wrt:/etc/config# nano transmission
config transmission
option enabled 1
option config_dir '/etc/transmission'
option run_daemon_as_user root
option alt_speed_down 50
option alt_speed_enabled false
option alt_speed_time_begin  540
option alt_speed_time_day 127
option alt_speed_time_enabled false
option alt_speed_time_end 1020
option alt_speed_up 50
option bind_address_ipv4 '0.0.0.0'
option bind_address_ipv6 '::'
option blocklist_enabled false
option blocklist_url ''
option cache_size_mb 2
option dht_enabled true
option download_dir '/mnt/sda3/downl'
option encryption 1
option idle_seeding_limit 30
option idle_seeding_limit_enabled false
option incomplete_dir '/tmp/transmission/incomplete'
option incomplete_dir_enabled false
option lazy_bitfield_enabled true
option lpd_enabled false
option message_level 1
option open_file_limit 32
option peer_congestion_algorithm ''
option peer_limit_global 240
option peer_limit_per_torrent 60
option peer_port 51413
option peer_port_random_high 65535
option peer_port_random_low 49152
option peer_port_random_on_start false
option peer_socket_tos 0
option pex_enabled true
option port_forwarding_enabled true
option preallocation 1
option prefetch_enabled 1
option ratio_limit 2.0000
option ratio_limit_enabled false
option rename_partial_files true
option rpc_authentication_required false
option rpc_bind_address '0.0.0.0'
option rpc_enabled true
option rpc_password ''
option rpc_port 9091
option rpc_url '/transmission/'
option rpc_username ''
option rpc_whitelist '127.0.0.1,192.168.1.*'
option rpc_whitelist_enabled true
option script_torrent_done_enabled false
option script_torrent_done_filename ''
option speed_limit_down 100
option speed_limit_down_enabled false
option speed_limit_up 20
option speed_limit_up_enabled false
option start_added_torrents true
option trash_original_torrent_files false
option umask 18
option upload_slots_per_torrent 14
option utp_enabled true
option scrape_paused_torrents true
option watch_dir_enabled false
option watch_dir ''

Lalu aktifkan service transmission dan start transmission

root@g-wrt:/etc/init.d# ./transmission enable
root@g-wrt:/etc/init.d# ./transmission start

Web User Interface

Buka browser dan ketikkan (sesuaikan dengan IP router) http://192.168.1.2:9091

transmission-1

Dan kita juga bisa seting bandwidth sesuai dengan keinginan.
transmission-2

Transmission Remote GUI

Dan transmission juga bisa diakses secara remote lewat RPC dari komputer kita, aplikasinya bisa di-download di sini. Download aplikasi sesuai OS yang kita gunakan, di sini saya menggunakan OpenSuSE 32bit, jadi saya ambil yang xxx-i386-linux.zip.
Kemudian extract ke directory home

gatoti@bunglon:~> unzip -d /home/transgui4-1 /data/downloads/transgui-4.1-i386-linux.zip

Jalankan Transmission GUI

gatoti@bunglon:~/transgui4-1>./transgui

transmission-5

Lalu klik menu tab Torrent dan New Connection, kemudian isi sesuai IP router kita. Apabila diperlukan kita seting juga untuk Username dan Password-nya di file konfigurasi transmission-nya.

Coba Aaahh..

Nah sekarang kita coba masuk ke salah satu penyedia link torrent http://thepiratebay.sx dan saya coba cari judul film Inglorious Basterds, lalu perhatikan sebanyak apa seeder dan leecher-nya.

Seeder = kita sebagai yang “membagi” file (upload). Leecher = kita sebagai yang “mengambil” file (download). Jadi kalau kita mau men-download, ya kita prioritaskan yang banyak seeder-nya. Dalam satu waktu yang bersamaan kita bisa sebagai seeder dan leecher, suatu konsep yang sangat baik dalam berbagi secara peer to peer antar komputer client.

transmission-6

Untuk men-download, kita klik-kanan icon bergambar magnet (get this torrent), copy link address.

Untuk versi Web GUI

Klik Open –> masukkan/paste link URL –> Upload

transmission-7

Untuk versi Transmission GUI

Biasanya akan auto add link torrent

transmission-8

Praktis dan ekonomis. Selamat mencobaaa…😛

Referensi:
http://wiki.openwrt.org/doc/uci/transmission
http://en.wikipedia.org/wiki/Transmission_%28BitTorrent_client%29
http://en.wikipedia.org/wiki/BitTorrent
http://en.wikipedia.org/wiki/Remote_procedure_call
http://code.google.com/p/transmisson-remote-gui/