Hướng dẫn sử dụng Transmission cho các loại NAS BOX

Từ Thư viện Khoa học VLOS
Bước tới: chuyển hướng, tìm kiếm

Giới thiệu

Một vài screen shots về trasmission dùng với chương trình GUI transmission remote:

Hiện peers:

<img>http://image.hdvnbits.org/image-DB11_4B868E78.jpg</img>


Biểu đồ tốc độ:

<img>http://image.hdvnbits.org/image-60AE_4B868F4F.jpg</img>


Giới hạn tốc độ up/down cho từng torrent:

<img>http://image.hdvnbits.org/image-40A0_4B868E78.jpg</img>


Bài viết này dựa trên 2 điều kiện:

- NAS box của bạn đã được cài optware (một thư viện các loại phần mềm) - Bạn đã sử dụng putty để SSH vào NAS box của bạn

Nếu bạn nào chưa thực hiện 2 điều kiện trên thì bắt buộc phải cài đặt optware. Nếu là buffalo box, các bạn có thể tham khảo 2 topic sau của bạn Puma:

Transmission Auto Install script dành cho Buffalo Link Station

Hướng dẫn cấu hình chi tiết cho Buffalo Linkstation có thể down torrent

Nếu bạn nào xài Western Digital My Book World Edition (MBWE) white light hoặc bluering thì tham khảo cách cài đặt ở đây:

http://mybookworld.wikidot.com/optware

http://mybookworld.wikidot.com/transmission

Sau khi đã có optware rồi thì việc cài đặt transmission trở nên cực kỳ đơn giản, chỉ bằng 1 dòng lệnh duy nhất:

ipkg install nano transmission

(cài đặt thêm phần mềm nano để chỉnh sửa file)

Nếu NAS box của bạn không nằm trong những những hướng dẫn trên thì bản phải tự compile transmission. Và rất may mắn là transmission có một forum và một kênh IRC rất tuyệt, bạn có thể có lời giải đáp trong nháy mắt: http://forum.transmissionbt.com/. Mình biết có những NAS box không hề có optware và ai muốn dùng transmission hay phần mềm nào khác là đều phải tự compile hết.

Bản thân mình thì đã sử dụng transmission trên MBWE từ hồi mà tranmission phải cài đặt clutch mới chạy được web ui cho đến bây giờ, nên cũng có ít chút đau thương đối với nó. Trên MBWE forum đã có nhiều bác tạo ra những công cụ rất hay cho transmission (và cho các phần mềm khác nữa), ví dụ như queing (giới hạn số lượng torrent download trong cùng một thời điểm, và xếp hàng các torrent còn lại).


Phần 1: điều khiển chung

1. Hiệu chỉnh file cấu hình (settings.json)

Sau khi bạn đã cài đặt transmission xong xuôi, tiến hành chạy transmission lần đầu bằng dòng lệnh sau:

killall transmission-daemon
transmission-daemon -f

Nhìn trên màn hình putty, khi thấy đã hiện ra như hình sau thì bạn nhấn Ctrl + C để thoát khỏi transmission

<img>http://image.hdvnbits.org/image-F480_4B869A5C.jpg</img>


Mục đích chạy khởi động như vậy để transmission tự tạo file cấu hình. Ở trong hình này, bạn để ý đến dòng, sẽ cho biết đường dẫn đến file cấu hình:

[00:21:00.607]Saved "/root/.config/transmission-daemon/settings.json" (bencode.c:1644)

Bạn dùng nano edit file cấu hình:

nano /root/.config/transmission-daemon/settings.json

Sửa những phần tô đậm:

....
"dht-enabled": false,
"download-dir": "\/mnt\/disk1\/share\/torrent\/done",
...
"incomplete-dir": "\/mnt\/disk1\/share\/torrent\/incomplete",
"incomplete-dir-enabled": true,
....
"rpc-authentication-required": true,
....
"rpc-enabled": true,
"rpc-password": "đặt password của bạn trong ô này",
....
"rpc-username": "username của bạn",
"rpc-whitelist": "*.*.*.*",
...

"umask": 0,
"watch-dir": "\/mnt\/disk1\/share\/torrent\/watch",
"watch-dir-enabled": true,
"upload-slots-per-torrent": 14
}


Những thư mục watch, incomplete, done bạn có thể tự tạo trực tiếp trên windows ngay sau khi hoàn tất chỉnh sửa file cấu hình. Sau khi đã sửa xong, nhấn ctrl + X và nhấn enter để lưu lại.

Với file cấu hình như vậy, bạn sẽ có thể cho transmission tự động download khi có một file torrent được bỏ vào thư mục watch. Những torrent đang download dở dang nằm trong thư mục incomplete, và những torrent đã download xong sẽ được chuyển vào thư mục done. Tất cả các file download về hiện giờ đều đã được thiết lập quyền sửa xóa thoải mái trên windows, và bạn phải có username và password thì mới điều khiển transmission từ xa được.

Bắt đầu sử dụng và khởi động transmission bằng lệnh sau:

transmission-daemon

2. Transmission khởi động và tắt cùng với box

Tuy nhiên bạn sẽ muốn transmission sẽ tự khởi động và tự tắt khi bạn bật NAS box và tắt, lúc này bạn sẽ dùng một file khởi động. Tất cả các file khởi động hoặc tắt cùng NAS Box đều nằm trong thư mục /opt/etc/init.d và hoạt động theo cơ cấu sau: NAS Box sẽ kích hoạt các chương trình khởi động với các file bắt đấu bằng chữ SXX khi NAS BOX boot up, và sẽ kích hoạt những file bắt đầu bằng chữ KXX khi NAS box shut down, XX thay thế bằng 2 con số bất kỳ

Như vậy tạo một file khởi động đặt tên bất kỳ, miễn sao có chữ S ở đầu là được, mình đặt là S88transmission:

nano /opt/etc/init.d/S88transmission

Nó là một file trống, bạn copy và paste nội dung sau vào file trống đấy:

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=transmission-daemon
CONFIGDIR=/root/.config/transmission-daemon


test -x /opt/bin/$DAEMON || exit 0

if [ -z "$1" ] ; then
    case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
        S??*) rc="start" ;;
        K??*) rc="stop" ;;
        *) rc="usage" ;;
    esac
else
    rc="$1"
fi

case "$rc" in
    start)
       echo "Starting torrent client service: $DAEMON"
       nice /opt/bin/$DAEMON -g ${CONFIGDIR}
        ;;
    stop)
        echo "Stopping torrent client service: $DAEMON"
        killall $DAEMON 2> /dev/null
        ;;
    restart)
        "$0" stop
        sleep 15
        "$0" start
        ;;
    *)
        echo "Usage: $0 (start|stop|restart|usage)"
        ;;
esac

Xong cũng nhấn Ctrl + X and enter để save

Đặt quyền cho file đấy và /dev/null bằng dòng lệnh

chmod +x /opt/etc/init.d/S88transmission
chmod 777 /dev/null

Tạo một file K88tranmssion với nội dung giống y như file S88transmission để transmission tự tắt bằng dòng lệnh:

ln -s /opt/etc/init.d/S88transmission /opt/etc/init.d/K88transmission

Và tiến hành khởi động lại transmission như sau:

/opt/etc/init.d/S88transmission restart

Rồi bây giờ bạn có thể log in vào webui theo đường dẫn

http://IP_của_bạn:9091

Webui đi kèm theo transmission không hay và ít điều chỉnh được nên mình dùng bản GUI chạy trên nền windows (xem những screenshots phần đầu). Giao diện và cách vận hành giống hệt utorrent, chạy nhẹ nhàng. Nếu có vài cái NAS box cũng dùng transmission thì sẽ thấy nó tiện lợi thế nào.

Tuy nhiên WEBUI của transmission hay ở chỗ nếu ai có dùng blackberry hay iphone thì khi log in vào sẽ thấy rất đẹp và tiện, vì nó có kèm luôn bản browser dành riêng cho những thiết bị như vậy.


Phần 2: Sử dụng GUI

Hiện nay có 2 bản GUI cho transmission: Transmission remotetransmission remote gui. Trong bài này mình chỉ đề cập đến transmission remote .

Bạn vào trang chủ: http://code.google.com/p/transmission-remote-dotnet/ download phiên bản mới nhất, hiện giờ là version 3.20: link cho bạn nào lười: http://transmission-remote-dotnet.go...-installer.exe

Tiến hành cài đặt bình thường, nên chọn như trong hình sau:

<img>http://image.hdvnbits.org/image-0304_4B86A8DE.jpg</img>


Cài đặt xong xuôi khởi động transmisison remote và bắt đầu đưa thông tin của NAS box bằng cách nhấn ctrl + o hay nhấn vào options chọn local settings


  • Tab Sever Settings:

Nhấp chuột phải và chọn add server

Phần Name, bạn đặt tên bất kỳ, như mình thì mình chọn XHL:

<img>http://cA4.upanh.com/10.653.14791274.KUX0/image1395_4B86AC5E.jpg</img>


Rồi điền tiếp IP của bạn vào ô HOST, nếu bạn ở cơ quan và muốn kết nối vào NAS box của bạn ở nhà thì bạn điền địac chỉ No_Ip của bạn vào đấy, ví dụ như của mình là arryo.servefpt.com (trong trường hợp này bạn phải forward port 9091 ra ngoài trước đã nhé)

<img>http://cA5.upanh.com/10.653.14791275.KUX0/imageEC27_4B86AC5E.jpg</img>


Sang đến tab authentication, bạn điền tiếp thông tin usernamepassword mà bạn đã đặt từ phần cấu hình vào:

<img>http://cA5.upanh.com/10.653.14791271.PDH0/image169D_4B86AC5E.jpg</img>


Xong xuôi thì đừng có nhấn save and connect vội, quay lại tab server nhấn save server

Chuyển sang tab Global Settings


  • Tab Global Settings:

Thiết lập như sau:

<img>http://image.hdvnbits.org/image-1148_4B86AE9A.jpg</img>


Xong xuôi, nhấn Save and connect

Như vậy là bắt đầu tiến hành down và up được rồi.

Để add torrent vào, bạn có thể có 2 cách, một là lưu file torrent vào thư mục watch hoặc là mở trực tiếp. Ưu điểm của việc mở trực tiếp file torrrent là mình có thể thay đổi đường dẫn lên một thư mục khác với thư mục done đã đặt ra ban đầu.

Dùng firefox mở trực tiếp như sau:

<img>http://image.hdvnbits.org/image-5257_4B868E78.jpg</img>


Sau đó sẽ có một bảng hiện ra :

<img>http://image.hdvnbits.org/image-580D_4B868E78.jpg</img>


Như các bạn thấy trong ô alternate destination directory, các bạn có thể điền vào một đường dẫn khác với đường dẫn ban đầu, nếu không chọn gì thì transmission sẽ bỏ vào thư mục done. Lúc này mình có thể lựa chọn những file mình muốn download và hoặc không thích download, đồng thời thiết lập quyền ưu tiên download cho những file mong muốn.

Ngoài ra bạn có thể thiết lập tốc độ down và up riêng cho từng torrent một bằng cách nhấp chuột phải vào torrent đó:

<img>http://image.hdvnbits.org/image-40A0_4B868E78.jpg</img>


Hoặc double click vào torrent đó set thuộc tính cho từng torrent, trong đó có cả việc torrent tự động dừng khi đã seed đến một mức ratio nào đó, như VD của mình là seed đến ratio 0.75 cho torrent đó mà thôi:

<img>http://image.hdvnbits.org/image-F643_4B868E78.jpg</img>


Bây giờ nhấn ctrl + shift + o hay nhấp chuột vào option chọn remote settings . Phần này cho phép bạn chỉnh sửa trực tiếp vào cấu hình của transmission nhưng lưu ý là những phần hiệu chỉnh này chỉ có tác dụng tạm thời, sau khi khởi động lại NAS box thì những gì bạn sửa sẽ mất. Nếu bạn muốn không mất nữa thì bạn phải chỉnh trực tiếp trong file settings.json như phần đầu tiên.


  • tab General:

Trong phần này bạn có thể thay đổi lại đường dẫn mặc định, bật tắt DHT và thay đổi port.

<img>http://image.hdvnbits.org/image-4DF8_4B868E78.jpg</img>


Nhằm tránh tình trạng torrent chiếm hết đường truyền thì bạn cũng nên giới hạn tổng tốc độ download và upload trong giờ cao điểm và cho seed/leech tẹt ga vào các giờ khác

Ví dụ mình muốn hạn chế tốc độ Down/up là 500Kb/50Kb từ 9h sáng đến 5h chiều và không hạn chế tốc độ vào những giờ khác đồng thời chỉ cho torrent seed đến ratio 1 và tự động dừng lại thì mình điều chỉnh như sau:


  • tab Limits

<img>http://image.hdvnbits.org/image-6B21_4B86C28C.jpg</img>


  • tab Alternate Limits

<img>http://image.hdvnbits.org/image-5CAB_4B86C28C.jpg</img>


Ngoài ra, transmission còn có một điểm hay nữa là có thể di dời torrent sang thư mục khác mà không phải recheck và seed được bình thường. Muốn di dời một torrent nào đó thì bạn nhấn chuột phải torrent đấy và chọn move torrent data

<img>http://image.hdvnbits.org/image-4317_4B868E78.jpg</img>


Lúc này chỉ cần nhập đường dẫn mới vào là xong ngay, không cần phải pause rồi mới di dời, và thích nhất là không phải recheck.

<img>http://image.hdvnbits.org/image-ADF9_4B868E78.jpg</img>


Phần 3: Một vài câu lệnh áp dụng cho transmission

Sau một thời gian sử dụng linux và đã quen với nền hình trắng đen của shell thì mình cũng bắt đầu thích điều khiển mọi thứ qua câu lệnh nên phần này dành chuyên cho các bạn thích sử dụng câu lệnh để điều khiển transmission thay vì dùng GUI.

1. Thay đổi file cấu hình không cần phải tắt transmission (chỉ áp dụng cho transmission 1.90 trở lên)

Trước gì chúng ta vẫn quen với việc phải tắt hoàn toàn transmission đi rồi mới sửa file settings.json được việc này từ version 1.9 trở đi đã trở nên không cần thiết nữa, chúng ta cứ việc sử file cấu hình thoải mái rồi sau đó chạy câu lệnh sau:

kill -SIGHUP pid

pid là Process ID của transmission, là số đầu tiên khi bạn chạy dòng lệnh:

ps | grep transmission
root@LS-XHL5CE:/mnt/disk1/music/EAC# ps | grep transmission
 1605 nobody   86720 S    /opt/bin/transmission-daemon
19348 root      2804 D    grep transmission

Của mình là số 1605, thì lệnh đấy sẽ là:

kill -SIGHUP 1605


2. Tạo file torrent

Nếu mình ngồi ở nhà thì việc tạo file torrent để upload dễ dàng vì chỉ cần dùng utorrent hoặc bất kỳ trình tạo torrent nào đấy, tuy nhiên nếu bạn phải remote từ công ty thì sao, làm sao tạo file torrent đây. Bạn có thể dùng luôn transmission để tạo file torrent.

Câu lệnh tổng quát như sau:

transmissioncli -n <folder muốn tạo torrent> -a <announce announce-url> -r <tên torrent>

Ý nghĩa các tham số:

-n : tạo mới -a : thêm announce -r : private torrent

Đây là các tùy chọn mình sử dụng thường xuyêt nhất, tham khảo thêm ở http://trac.transmissionbt.com/wiki/man/transmissioncli

Ví dụ mình vừa tạo một torrent upload lên hdvnbits, câu lệnh của mình như sau:

transmissioncli -n Louis\ Armstrong\ -\ Hello\,\ Dolly\ \(1964\)\ \[FLAC\]\ \{MCA\ Records\ 2000\}/ -a http://hdvnbits.org/announce.php -r "Louis Armstrong - Hello, Dolly (1964) [FLAC] {MCA Records 2000}".torrent

Choáng quá phải không, câu lệnh gì mà dài lòng thòng thế này gõ chừng nào mới xong, nhỡ gõ nhầm thì sao. Câu trả lời là, chả ai mà ngồi gõ thế này cả, có chăng chỉ gõ đúng 1 từ. Vậy cách gõ thế nào.

Trước tiên bạn chuyển vào thư mục chứa folder bạn định upload, gõ transmissioncli -n và gõ tiếp chữ đầu tiên của tên folder bạn đang muốn tạo torrent, và nhấn tab, rồi sau đấy chỉ cần copy and paste. Làm quen rồi thì cực kỳ nhanh.

Để cho transmission chạy đâu vài giây, có bảng thông báo thế này:

<img>http://cA4.upanh.com/10.664.14802370.KUX0/1.jpg</img>


Để ý dòng Saved "Louis Armstrong - Hello, Dolly (1964) [FLAC] {MCA Records 2000}.torrent" tức là file torrent đã được tạo xong.

Đa số các bạn đều chạy dưới quyền root nên phải chạy thêm một dòng lệnh nữa để đặt quyền sửa xoá cho file torrent đấy:

chmod 777 "Louis Armstrong - Hello, Dolly (1964) [FLAC] {MCA Records 2000}.torrent"

Bây giờ bạn có thể dùng file torrent đấy để upload được rồi

3. điều khiển transmission bằng command line

Đa số chúng ta đều thích GUI vì dễ nhìn, dễ sử dụng , nhưng đôi khi bạn cũng muốn bật trình điều khiển trực tiếp từ dòng lệnh như thế này

<img>http://cA5.upanh.com/10.664.14802371.KUX0/2.jpg</img>


<img>http://cA2.upanh.com/10.664.14802376.KUX0/3.jpg</img>


Việc này hoàn toàn thực hiện được bằng một chương trình chạy kèm với transmission gọi là transmission-remote-cli. Chương trình này thực tế nó chỉ là một cái script lấy thông tin từ transmisison và trích xuất ra màn hình shell.


Vì đây là srcript python nên bạn phải cài python vào trước

ipkg install python26

Tiếp đó bạn download cái script này về và bỏ vào /opt/bin:

cd /opt/bin
wget http://download7.mediafire.com/dyyteed3kw4g/km2y4znkc3z/transmission-remote-cli

rồi chạy dòng lệnh lần đầu để ghi file cấu hình:

transmission-remote-cli -c username:password@localhost:9091 --create-config

với username và password bạn đã chọn để vào transmission.

rồi bây giờ chạy thôi:

/opt/bin/transmission-remote-cli


Tham khảo thêm: Hướng dẫn sử dụng Transmission cho các loại NAS BOX - Việt Nam High-Definition Forums


Credit: arryo (hatng)

Liên kết đến đây