不用把CLI想的很難,雖然設定看似密密麻麻,但很設定能在網頁上完成。本文大概分兩部分,前面會講解如何架好,如果你想追根就底,再閱讀「進階細項」的部分。
1. 安裝 Transmisson-daemon
如果你之前裝過 transmission 視窗版本,用下述指令移除:
$ sudo apt-get remove --auto-remove transmission
#移除 transmission GTK版
安裝 transmission-daemon
$ sudo apt-get install -y transmission-daemon
#安裝 transmission-daemon
接下來準備修改設定組態,先停掉程式
$ sudo killall transmission-daemon
#強制終止該執行續
或
$ sudo pkill transmission-daemon#強制終止該執行續
參考:在 Linux 中使用 kill、killall 與 xkill 等指令強迫關閉程式、Linux 指令: kill 常用參數
2. 修改組態檔
準備修改settings.json 組態檔,這個檔案是 transmission-daemon 的重要參數。
$ sudo nano /etc/transmission-daemon/settings.json
#修改設定檔
如果在上面找不到該檔,可試試下面路徑:
$ sudo nano /var/lib/transmission-daemon/info/settings.json
#修改設定檔
#根據官方的文件,參考:Configuration Files ,settings.json可以在兩個路徑任一個,但我的測試,同時存在settings.json兩個路徑,只要修改一個,兩個都會變。註:版本 2.52
▼打開settings.json 長這樣
先別看到一堆設定很煩,我們只要啟用網頁介面,又可以偷吃步了~( ̄▽ ̄)...
3. 啟用網頁伺服器
我看到 RPC 有點噴飯,網頁控制也該有個web 字吧!
檢查並修改以下設定:
"rpc-enabled": true,
#開啟網頁服務,預設=true
"rpc-authentication-required": true,
#網頁要驗證登錄,如果設定為false,不須帳號密碼就可進入,預設= false
"rpc-port": 9091,
#網頁port號可以依個人喜好,不要衝突其他服務,記得開防火牆,預設= 9091
"rpc-username": 自己改,
#使用者名稱(與Linux 系統無關),不要打中文
"rpc-password": 自己改,
#密碼,不要打中文
"rpc-whitelist-enabled": false,
#驗證登入IP,如果你改true,就需要有允許IP列表,預設= false
當然,你也可以設 "rpc-authentication-required": false, ,就可以免認證偷懶,但你妹妹可以用Lan端的電腦直接進去,並表示:哥哥壞壞 ~Σ( ° △ °|||)︴驚!
以上設定屬於網頁的部分。
4. 其他設定
有些設定無法使用網頁設定,我們先在此先搞定。
"download-queue-size": 8,
#可同時下載排程限制,預設=5
伊文認為5太少,這是我的習慣,多設幾個一起跑可以善用頻寬,但你的頻寬還是有限,碰到熱門檔頻寬滿載只會互相卡速,結果都沒下完;但也不要設20以上,不但不變快,只會浪費系統資源。
"cache-size-mb": 16,
#快取大小,單位MB,擔心BT搞掛硬碟可以改,建議不要超過32
"seed-queue-enabled": true,
#如果設定為true,開啟「seed-queue-size」功能,預設= false
"seed-queue-size": 10,
#最大做種數
這裡得多加說明一下,當你下載完成後,你擁有完整檔案,電腦持續分享給別人稱之為 seed ( 種子源 ),這也是BT網路社會中重要的觀念。「seed-queue-size」功能是用來限制seed的數量,如果你不做限制,最後下載完成項目都會去做seed(當然有其他限制方法),seed的數量變大,連線數大增,結果連來我這下載的速度都不快,還會拖累系統資源。
▼維持10個做種上傳,超過10個就會排隊網頁顯示如下:
"umask": 0,
#設定transmission-daemon新增的每檔案、目錄的權限,預設= 18
注意!這裡的權限是用減的,18要換成8進位=22,在用777(最大權限)-22=755,換成權限-rwxr-xr-x,這會造成FTP、Samba 的使用者無法刪除,正常的做法是將這些使用者使設為同群組,也是較安全的作法。
這部分我偷懶用0,因為這台RPI只有我在用,若在多人的情況,放任所有使用者可刪除檔案還挺危險的。請參考以下資料,依你的狀況設定。
參考:第五章、Linux 的檔案權限與目錄配置、umask 指令、Editing Configuration Files、打造脫機下載農場,使用Raspberry pi + transmission-daemon
ctrl + o 存檔
$ sudo service transmission-daemon restart
#重啟服務
[ ok ] Restarting bittorrent daemon: transmission-daemon.
sudo service transmission-daemon status
#確認服務狀態
[ ok ] transmission-daemon is running.
恭喜你!到了這一步,就快完成了!
5. 用網頁偷吃步
打開你的瀏覽器輸入http://樹梅派IP:port號/ 例如:
http://192.168.1.74:9091/
又可以看到我們在 Raspberry pi 加Transmission 化身超級BT機 (上) 視窗版 介紹過的畫面
看到「設定」了嗎?點下去喔!

#注意:transmission-daemon 的使用者是 debian-transmission 記得給它有讀取、寫入的權限,不然會無法下載,這也是常見錯誤!
▼限速
▼設定連結點數
然後按下 × 保存設定,本篇走到這裡我們已經完成,若有興趣深究可以往下看,趕快上傳 *.torrent 或貼Magnet,祝各位下載愉快 ~ \( ̄▽ ̄)/
設定細項:
這裡的設定來自,若有些項目沒有看到,若項目不清楚保持預設即可,請參考標準文件:Editing Configuration Files,我個人認為要再稍稍注意的用藍色做標示。
頻寬管理(Bandwidth):
alt-speed-enabled: Boolean (default = false, aka 'Turtle Mode')
#開啟進階頻寬管理 ( 網頁上那隻烏龜,alt 進階頻寬管理 )
alt-speed-up: Number (KB/s, default = 50)
#進階頻寬管理的上傳頻寬
alt-speed-down: Number (KB/s, default = 50)
#進階頻寬管理的下載頻寬
speed-limit-down: Number (KB/s, default = 100)
#限制上傳頻寬
speed-limit-down-enabled: Boolean (default = false)
#限制下載頻寬
speed-limit-up: Number (KB/s, default = 100)
#限制上傳頻寬
speed-limit-up-enabled: Boolean (default = false)
#開啟限制上傳頻寬
upload-slots-per-torrent: Number (default = 14)
#每一種子的上傳連線數限制
檔案和路徑(Files and Locations)
download-dir: String (default = default locations)
#存檔路徑(網頁可以設定)
incomplete-dir-enabled: Boolean (default = false)
#開啟「未完成檔案的存檔路徑」這功能
incomplete-dir: String (default = default locations)
#未完成檔案的存檔路徑
preallocation: Number
#(0 = Off, 1 = Fast, 2 = Full (速度慢但可減少磁碟分散), default = 1),如果設定 2 會預先分配好磁碟空間
rename-partial-files: Boolean (default = true)
#將未完成的檔案加附檔名.part標註
start-added-torrents: Boolean (default = true)
#加入種子之後馬上開始下載
umask: Number (default = 18)
#我們上面介紹過了
watch-dir-enabled: Boolean (default = false)
#開啟「監視資料夾」,當有 .torrent 傳入後,馬上掛上去下載
不過,伊文認為這功能意義不大,因為網頁就可以一次上傳多個種子,這功能就有點多餘了!
watch-dir: String
#監視資料夾的路徑
雜項(Misc)
cache-size-mb: Size (default = 4),
#我們上面介紹過了
dht-enabled: Boolean (default = true)
#開起分散式網路(Distributed Hash Table ,DHT)
encryption: Number (0 = 偏好未加密, 1 = 偏好加密, 2 = 要求加密; default = 1)
#加密也許可以防止ISP者阻擋,但會增加CPU使用率
lpd-enabled: Boolean (default = false) .
#開起本地使用者探索(Enable Local Peer Discovery, LPD),參考:具「本機用戶探索」功能BT工具Transmission
有興趣研究 DHT的可以看: eMule、BT 下載最佳化:無種也完檔,速限再提升
message-level: Number (0 = None, 1 = Error, 2 = Info, 3 = Debug, default = 2)
#設定紀錄訊息等級
pex-enabled: Boolean (default = true)
#開啟節點信息交換(Peer Exchange ,PEX),參考:Peer exchange
prefetch-enabled: Boolean (default = true)
#這選項我看不懂 = ='
scrape-paused-torrents-enabled: Boolean (default = true)
#我看不懂 = ='
script-torrent-done-enabled: Boolean (default = false)
#當一個種子項目下載完成後,跑一個script
script-torrent-done-filename: String (default = "") Path to script.
#script的路徑
utp-enabled: Boolean (default = true)
#開起 Micro Transport Protocol (µTP)
連線節點(Peers)
bind-address-ipv4: String (default = "0.0.0.0")
#綁定監聽節點(IPv4)
bind-address-ipv6: String (default = "::")
#綁定監聽節點(IPv6)
peer-id-ttl-hours: Number (default = 6)
#N小時後回收某種子的節點,這項目我也不很了解
peer-limit-global: Number (default = 240)
#總連線節點數限制
peer-limit-per-torrent: Number (default = 60)
#單一連線種子連線節點數限制
peer-port: Number (default = 51413)
#監聽埠號
peer-port-random-on-start: Boolean (default = false)
#開啟隨機監聽埠
peer-port-random-high: Number (default = 65535)
#隨機 監聽埠號,最大值(需開啟隨機監聽埠)
peer-port-random-low: Number (default = 1024)
#隨機 監聽埠號,最小值(需開啟隨機監聽埠)
port-forwarding-enabled: Boolean (default = true)
#開起 UPnP
列隊(Queuing)
download-queue-enabled: Boolean (default = true)
#開啟下載排程數限制
download-queue-size: Number (default = 5)
#我們講解過了
queue-stalled-enabled: Boolean (default = true)
queue-stalled-minutes: Number (default = 30)
#種子還沒分享N分鐘之前不列入「 queue-download-size 」和「 seed-queue-size limits」
seed-queue-enabled: Boolean (default = false)
##我們上面介紹過了
seed-queue-size: Number (default = 10)
#我們上面介紹過了
網頁介面(RPC)
rpc-whitelist-enabled: Boolean (default = true)
#開啟限制連入IP(沒在名單內的不能連)
rpc-whitelist: String
#允許IP列表,格式範例: "127.0.0.*,192.168.*.*", Default: "127.0.0.1"
排程(Scheduling)
alt就是網頁上那隻烏龜 ( 進階速度限制 ) 。
alt-speed-time-enabled: Boolean (default = false)
#開啟進階速度限制,如果開啟
idle-seeding-limit-enabled: Boolean (default = false)
#開啟「idle-seeding-limit」功能
idle-seeding-limit: Number (default = 30) Stop seeding after being idle for N minutes.
#在seed無下載要求N分鐘後,停止分享
中間還有如何設定alt的部分跳過,請參閱原始文件:Editing Configuration Files
ratio-limit: Number (default = 2.0)
#分享比例
ratio-limit-enabled: Boolean (default = false)
#預設關閉,開啟做種分享比例限制,達到分享比例會自動停掉
修改使用者[14]:
有些人想把使用者改成 pi
$ sudo nano /etc/init.d/transmission-daemon
將文件中的
NAME=transmission-daemon
改成你要的使用者。
其他:
transmission-daemon 也可以用CLI操作,詳細可以問「男人」
$ man transmission-daemon
#詢問參數使用方式
預設檔文件路徑:
/etc/default/transmission-daemon
如果發生錯誤,需要做紀錄除錯,可用以下指令:
$ transmission-daemon -f --logfile /your/path/transmission.log
#給錯誤紀錄路徑
或
在 STOP_TIMEOUT=30 下面加註
OPTIONS=" --logfile /your/path/transmission.log"
參考:Enable logging to service[16]
參考資料:
[1] Raspberry pi 加Transmission 化身超級BT機 (上) X-Window 視窗版
[2] Qt、GTK
[3] Raspbian Jessie版本差異?
[4] 在 Linux 中使用 kill、killall 與 xkill 等指令強迫關閉程式、
[5] Linux 指令: kill 常用參數
[6] 第五章、Linux 的檔案權限與目錄配置
▼記得設定路徑

#注意:transmission-daemon 的使用者是 debian-transmission 記得給它有讀取、寫入的權限,不然會無法下載,這也是常見錯誤!
▼限速
▼設定連結點數
▼設定uPnP監聽埠
#記得允許監聽埠防火牆,開啟分享器的 uPnP 。
然後按下 × 保存設定,本篇走到這裡我們已經完成,若有興趣深究可以往下看,趕快上傳 *.torrent 或貼Magnet,祝各位下載愉快 ~ \( ̄▽ ̄)/
設定細項:
這裡的設定來自,若有些項目沒有看到,若項目不清楚保持預設即可,請參考標準文件:Editing Configuration Files,我個人認為要再稍稍注意的用藍色做標示。
頻寬管理(Bandwidth):
alt-speed-enabled: Boolean (default = false, aka 'Turtle Mode')
#開啟進階頻寬管理 ( 網頁上那隻烏龜,alt 進階頻寬管理 )
alt-speed-up: Number (KB/s, default = 50)
#進階頻寬管理的上傳頻寬
alt-speed-down: Number (KB/s, default = 50)
#進階頻寬管理的下載頻寬
speed-limit-down: Number (KB/s, default = 100)
#限制上傳頻寬
speed-limit-down-enabled: Boolean (default = false)
#限制下載頻寬
speed-limit-up: Number (KB/s, default = 100)
#限制上傳頻寬
speed-limit-up-enabled: Boolean (default = false)
#開啟限制上傳頻寬
upload-slots-per-torrent: Number (default = 14)
#每一種子的上傳連線數限制
檔案和路徑(Files and Locations)
download-dir: String (default = default locations)
#存檔路徑(網頁可以設定)
incomplete-dir-enabled: Boolean (default = false)
#開啟「未完成檔案的存檔路徑」這功能
incomplete-dir: String (default = default locations)
#未完成檔案的存檔路徑
preallocation: Number
#(0 = Off, 1 = Fast, 2 = Full (速度慢但可減少磁碟分散), default = 1),如果設定 2 會預先分配好磁碟空間
rename-partial-files: Boolean (default = true)
#將未完成的檔案加附檔名.part標註
start-added-torrents: Boolean (default = true)
#加入種子之後馬上開始下載
umask: Number (default = 18)
#我們上面介紹過了
watch-dir-enabled: Boolean (default = false)
#開啟「監視資料夾」,當有 .torrent 傳入後,馬上掛上去下載
不過,伊文認為這功能意義不大,因為網頁就可以一次上傳多個種子,這功能就有點多餘了!
watch-dir: String
#監視資料夾的路徑
雜項(Misc)
cache-size-mb: Size (default = 4),
#我們上面介紹過了
dht-enabled: Boolean (default = true)
#開起分散式網路(Distributed Hash Table ,DHT)
encryption: Number (0 = 偏好未加密, 1 = 偏好加密, 2 = 要求加密; default = 1)
#加密也許可以防止ISP者阻擋,但會增加CPU使用率
lpd-enabled: Boolean (default = false) .
#開起本地使用者探索(Enable Local Peer Discovery, LPD),參考:具「本機用戶探索」功能BT工具Transmission
有興趣研究 DHT的可以看: eMule、BT 下載最佳化:無種也完檔,速限再提升
message-level: Number (0 = None, 1 = Error, 2 = Info, 3 = Debug, default = 2)
#設定紀錄訊息等級
pex-enabled: Boolean (default = true)
#開啟節點信息交換(Peer Exchange ,PEX),參考:Peer exchange
prefetch-enabled: Boolean (default = true)
#這選項我看不懂 = ='
scrape-paused-torrents-enabled: Boolean (default = true)
#我看不懂 = ='
script-torrent-done-enabled: Boolean (default = false)
#當一個種子項目下載完成後,跑一個script
script-torrent-done-filename: String (default = "") Path to script.
#script的路徑
utp-enabled: Boolean (default = true)
#開起 Micro Transport Protocol (µTP)
連線節點(Peers)
bind-address-ipv4: String (default = "0.0.0.0")
#綁定監聽節點(IPv4)
bind-address-ipv6: String (default = "::")
#綁定監聽節點(IPv6)
peer-id-ttl-hours: Number (default = 6)
#N小時後回收某種子的節點,這項目我也不很了解
peer-limit-global: Number (default = 240)
#總連線節點數限制
peer-limit-per-torrent: Number (default = 60)
#單一連線種子連線節點數限制
peer-port: Number (default = 51413)
#監聽埠號
peer-port-random-on-start: Boolean (default = false)
#開啟隨機監聽埠
peer-port-random-high: Number (default = 65535)
#隨機 監聽埠號,最大值(需開啟隨機監聽埠)
peer-port-random-low: Number (default = 1024)
#隨機 監聽埠號,最小值(需開啟隨機監聽埠)
port-forwarding-enabled: Boolean (default = true)
#開起 UPnP
列隊(Queuing)
download-queue-enabled: Boolean (default = true)
#開啟下載排程數限制
download-queue-size: Number (default = 5)
#我們講解過了
queue-stalled-enabled: Boolean (default = true)
#開啟功能「queue-stalled-minutes」
queue-stalled-minutes: Number (default = 30)
#種子還沒分享N分鐘之前不列入「 queue-download-size 」和「 seed-queue-size limits」
seed-queue-enabled: Boolean (default = false)
##我們上面介紹過了
seed-queue-size: Number (default = 10)
#我們上面介紹過了
網頁介面(RPC)
rpc-whitelist-enabled: Boolean (default = true)
#開啟限制連入IP(沒在名單內的不能連)
rpc-whitelist: String
#允許IP列表,格式範例: "127.0.0.*,192.168.*.*", Default: "127.0.0.1"
排程(Scheduling)
alt就是網頁上那隻烏龜 ( 進階速度限制 ) 。
alt-speed-time-enabled: Boolean (default = false)
#開啟進階速度限制,如果開啟
idle-seeding-limit-enabled: Boolean (default = false)
#開啟「idle-seeding-limit」功能
idle-seeding-limit: Number (default = 30) Stop seeding after being idle for N minutes.
#在seed無下載要求N分鐘後,停止分享
中間還有如何設定alt的部分跳過,請參閱原始文件:Editing Configuration Files
ratio-limit: Number (default = 2.0)
#分享比例
ratio-limit-enabled: Boolean (default = false)
#預設關閉,開啟做種分享比例限制,達到分享比例會自動停掉
修改使用者[14]:
有些人想把使用者改成 pi
$ sudo nano /etc/init.d/transmission-daemon
將文件中的
NAME=transmission-daemon
改成你要的使用者。
其他:
transmission-daemon 也可以用CLI操作,詳細可以問「男人」
$ man transmission-daemon
#詢問參數使用方式
預設檔文件路徑:
/etc/default/transmission-daemon
如果發生錯誤,需要做紀錄除錯,可用以下指令:
$ transmission-daemon -f --logfile /your/path/transmission.log
#給錯誤紀錄路徑
或
在 STOP_TIMEOUT=30 下面加註
OPTIONS=" --logfile /your/path/transmission.log"
參考:Enable logging to service[16]
參考資料:
[1] Raspberry pi 加Transmission 化身超級BT機 (上) X-Window 視窗版
[2] Qt、GTK
[3] Raspbian Jessie版本差異?
[4] 在 Linux 中使用 kill、killall 與 xkill 等指令強迫關閉程式、
[5] Linux 指令: kill 常用參數
[6] 第五章、Linux 的檔案權限與目錄配置
[10]分散式網路(Distributed Hash Table ,DHT)
[11] 「本機用戶探索」功能BT工具Transmission
[12] eMule、BT 下載最佳化:無種也完檔,速限再提升
[13] Peer exchange
作者已經移除這則留言。
回覆刪除請問使用Raspbian Jessie的版本話,如何讓Transmission開機自動啟動服務呢?謝謝
回覆刪除transmission-daemon &
刪除其實我沒有真的測試Raspbian Jessie,但以經驗來說是開機自動啟動。
刪除