ติดตั้ง Transmission เพื่อโหลดบิตบน Router ที่ลง dd-wrt firmware

November 24, 2013 2:27 pm Linux, Private

พอดีไปจัด Router ที่ใช้งานเป็น MTD มาลองเล่นดู รุ่นที่ไปจัดมานั้นเป็น Huawei hg255d ซึ่งปกติแล้วจะเป็น Firmware Openbox ติดมากับเครื่องอยู่แล้ว ด้วยความที่ซน อยากเล่น dd-wrt เหมือนที่เค้าเล่นกัน เลยจัดการ Flash dd-wrt ลงไป ลองเล่นดูก็พบว่ามันทำอะไรได้เยอะเหมือนกันแฮะ แต่มันยังโหลดบิทไม่ได้หนิหว่า เรามาทำให้มันโหลดได้กันเถอะ

1394398_666439133400450_465699059_n

หน้าตาของ Transmission WebUI บน Router
auth.aspx

หน้าตาของ Huawei hg255d

สิ่งที่ต้องเตรียมก่อนทำ

  1. Router ที่มี Port USB ติดมากับเครื่อง พร้อม Flash dd-wrt เอาไว้เป็นที่เรียบร้อยแล้ว
  2. Flash Drive หรือ External Hardisk ที่ฟอร์ดแมทเป็น ext3 หรือ FAT32 (ลอง NTFS แล้ว มัน Mount ไม่ได้)

มาเริ่มกันเลย

อันดับแรก ให้เข้าไปหน้า GUI สำหรับ Config Router ครับ แล้วไปเลือกเมนู Services -> USB -> เปิดใช้งาน Automatic Drive Mount และเลือก Data Mount Point ไปที่ /mnt

Screen Shot 2556-11-24 at 3.57.50 AM
หน้าจอการตั้งค่า USB บน Firmware dd-wrt

หลังจากนั้นให้ทำการ telnet หรือ ssh ไปที่ Router ของคุณ เพื่อเข้าสู่โหมด Sell Command

2556-11-24 at 2.00 PM
หน้าจอการเข้าถึง ssh ผ่าน Application Termnal บน OSX

หลังจากนั้น ให้พิมพ์คำสั่งด้านล่าง เพื่อเรียกดูว่า Harddisk หรือ FlashDrive ของเรา mount อยู่ที่ตำแหน่งใด

df

2556-11-24 at 2.02 PM
ภาพการใช้คำสั่ง df บน ssh

ให้คุณดูตรง /dev/sd(ตัวเลขเรียงไปเรื่อยๆกรณีต่อ Harddisk หรือ FlashDrive หลายตัว) มันจะบอกขนาดและจุดที่มัน Mount เอาไว้ ในที่นี้ Mount ไว้ที่ /tmp/mnt/sdb_part1

ให้เราใช้คำสั่งในการเข้าไปสร้าง Folder สำหรับรองรับการติดตั้งและการดาวน์โหลดไฟล์ของ Transmission ด้วยคำสั่ง ดังนี้ (ในที่นี้ จะใช้ตำแหน่งการ Mount Harddisk ไว้ที่ /tmp/mnt/sdb_part1 ให้คุณนำไปเปลี่ยนแปลงตามรูปแบบของเครื่องของคุณ)

cd /tmp/mnt/sdb_part1
mkdir /tmp/mnt/sdb_part1/opt
mkdir -p /tmp/mnt/sdb_part1/data/torrents
mount /tmp/mnt/sdb_part1/opt /opt

หลังจากที่คุณเตรียมพื้นที่เรียบร้อยแล้ว เราจะทำการดึงสคริปติดตั้ง Transmission กันโดยใช้คำสั่ง

wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O /tmp/optware-install.sh
sh /tmp/optware-install.sh

หลังจากที่เราได้ดึงตัวติดตั้ง Transmission มาแล้ว เราก็จะทำการติดตั้ง Transmission กัน โดยใช้คำสั่ง ตามนี้เลย

/opt/bin/ipkg-opt -verbose_wget install transmission

หากไม่มีอะไรผิดพลาด Transmission จะถูกติดตั้งลงใน Flash Drive เรียบร้อยแล้ว เราจะต้องทำการหยุด Transmission เพื่อทำการ Config ให้มันก่อน โดยใช้คำสั่ง

/opt/bin/transmission-daemon -g /tmp/mnt/sdb_part1/data/torrents/.config/transmission-daemon
killall transmission-daemon

หลังจากนั้น เราจะทำการเตรียมพื้นที่สำหรับเก็บไฟล์การตั้งค่าและการทำงานต่างๆของ Transmission กันาครับ โดยใช้คำสั่ง

cd /tmp/mnt/sdb_part1/data/torrents
mkdir .config
mkdir transmission-daemon
cd transmission-daemon
wget http://www.3iii.dk/linux/optware/settings.json -O /mnt/sdb_part1/data/torrents/.config/transmission-daemon/settings.json

หลังจากนั้นเราจะทำการกำหนดค่าเริ่มต้นให้กับ Transmission ก่อน โดยการแก้ไขไฟล์ settings.json ก่อน โดยใช้คำสั่ง vi editor ดังนี้

vi /mnt/sdb_part1/data/torrents/.config/transmission-daemon/settings.json

หลังจากนั้น แก้ไขตามความเหมาะสมกับระบบของคุณครับ ตามคำแนะนำด้านล่าง

     {
     "blocklist-enabled": 1,
     "download-dir": "\/mnt\/sdb_part1\/data\/torrents", //พื้นที่สำหรับเก็บไฟล์สำหรับดาวน์โหลด
     "download-limit": 100,
     "download-limit-enabled": 1,
     "encryption": 2,
     "max-peers-global": 35,
     "peer-port": 25000,
     "pex-enabled": 1,
     "port-forwarding-enabled": 1,
     "rpc-authentication-required": 0,
     "rpc-password": "",
     "rpc-port": 9091,
     "rpc-username": "",
     "rpc-whitelist": "192.168.1.*", //วงหรือไอพีที่อนุญาตให้เข้าถึงระบบ
     "upload-limit": 200,
     "upload-limit-enabled": 1
     }

หลังจากนั้นให้ทำการบันทึก และเราจะทำการสั่งให้ Transmission เริ่มทำงานและออกอินเตอร์เนตได้ ดังคำสั่งนี้

/usr/sbin/iptables -I INPUT 1 -p tcp --dport 25000 -j logaccept
/opt/bin/transmission-daemon -g /mnt/sdb_part1/data/torrents/.config/transmission-daemon

หลังจากนั้นเปิด Browser พิมพ์ http://<ip router>:9091 ขอให้สนุกกับการโหลดบิทครับ