使用非 Docker 方式在 Synology NAS 上安裝 qBittorrent 「PT用途」

本文主要以正體中文撰寫,部分專有名詞會在後面加上〔简体中文写法〕,配圖是簡體中文,以方便兩岸讀者閲讀,您亦可以直接使用翻譯工具進行簡繁轉換。同時,建議頁面放大至 125% 進行閲讀,避免您眼睛疲勞。

前言

玩 PT 網站也將近 10 年了,目前還養著接近 20 個 PT 站,算上由於被關門而失去的站,前前後後應該也曾擁有 30-40 個,最可惜的還是 what.cd,萬幸的是留下了 Gazelle 架構得以繼續發揚光大。扯遠了,由於最近要變動 Home Lab,原先我的 Synology NAS 把整個 RAID5 都劃分給一個存儲空間,而現在我準備騰出空間給我的 VMware 虛擬化環境當 iSCSI LUN,不得不把檔案都拷貝出來,刪除存儲空間重建。之前我在 Windows 上用來養 PT 的軟體一直是 uTorrent 2.2.1,後面購入NAS之後,在 Synology 上是用 Transmission 2.92,後面聼一些朋友推薦說 qBittorrent 更容易獲得上傳量,於是就打算趁這個機會試試這個軟體。

準備工作

作業環境

NAS

  • 硬體:Synology DS916+
  • 韌體:DSM 6.2.2-24922 Update 4

Mobile Phone

  • 硬體:Google Pixel 3
  • 韌體:Android 10 QQ1A.200105.002

資源下載

  1. qBittorrent 4.1.7 spk: Index of /pub/synology/qbittorrent
  2. Web UI: miniers/qb-web_0.4
  3. Transdrone: Google Play

這裏順便解釋下,我搜尋了一下我擁有的各個 PT 站對於 qBittorrent 版本的支援説明,大部分站點有在「常見問題」中標明支援 qBittorrent,也有部分未標明,但是内站論壇有網友咨詢過管理是可以使用,但是版本都不建議過高,有些站點明確表示不允許使用 qBittorrent 4.2.0 及以上版本,而且由於 qBittorrent 官方要求 qBittorrent Enhanced Edition 更改客戶端的 PeerID「來源: Please change your PeerID and user-agent」,所以導致一些使用 qBittorrent Enhanced Edition 的用戶,由於 PeerID 不在合法客戶端内,被 PT 站點 Ban ID。基於以上考慮,我選擇了 4.1.7 版本。

至於爲什麽要下載 UI 界面,是因爲 qBittorrent 原版 UI 並不能依照 tracker 進行分類,簡單來説,就是沒法根據不同站點進行篩選,這就導致一個問題,一個資源如果給不同站點輔種,要找出其中某一個,就需要一個一個種子詳細訊息點開看 tracker 訊息。另一個問題是原版 UI 不能批量更改 tracker。有時候站點會更改自己的 tracker,當您在這個站點挂了幾百個種的時候,要一個一個改就會瘋掉,有時候是由於泄露了自己的 passkey,也需要更新自己的 tracker。雖然還有其他辦法「來源: qbittorrent tracker批量修改教程」,但是替換這個第三方 UI 之後即可簡單實現。而且原版 UI 不會記錄儲存路徑的子路徑,比如您在儲存路徑下還有不同的子路徑,比如 Movie/Music/TV 等等,原版 UI 您每次添加種子就需要手動補全,而這個第三方 UI 也會記錄之前用過的子路徑。

最後一個是移動端控制器,這個就不細説了,這個 App 還支援 Seedbox,支援各種下載軟體管理,像是 Aria2/BitTorrent/Deluge/rTorrent/Transmission/uTorrent,更別説還原生支援 Dlink 路由器/Buffalo NAS/Synology NAS(其實就是 Download Station)。

qBittorrent 安裝及設定

確保 admin 啟用並啟動家目錄

由於 qBittorrent 的運行用戶是 admin,所以請確保 admin 處於 正常 狀態。

打開 控制台〔控制中心〕,選擇 使用者帳號〔用户账号〕,再選擇 進階設定〔高级设置〕,拉到最下方,勾選 啟動家目錄服務〔启动家目录服务〕

安裝 qBittorrent

打開 套件中心,點擊右上角 手動安裝〔手动安装〕,彈出對話方塊,點擊 瀏覽〔浏览〕,選擇準備工作中資源下載的 qBittorrent_x64-6.1_4.1.7.spk

點擊 下一步,會要求您進行 recheck,直接點擊 套用〔应用〕

安裝完成,在 套件中心 看到 qBittorrent v4.1.7 的圖標,點擊 開啟〔打开〕

登錄 qBittorrent Web UI
初始帳號:admin
初始密碼:adminadmin

設定 qBittorrent

語言設定

初次打開 qBittorrent Web UI,是英文界面。點擊 頂端工具欄〔顶部工具栏〕 圖標彈出 Option 對話方塊。點擊 Web UI 頁面,在 User Interface Language 選擇需要的語言,下拉到底部點擊 save 後會自動刷新頁面成爲新的語言。

PT 相關設定

由於本文是針對 PT 用戶使用,所以請務必取消勾選 DHT/PeX/LSD,以及匿名模式,簡單來説,就是點擊 頂端工具欄〔顶部工具栏〕 圖標彈出 選項〔选项〕 對話方塊。點擊 BitTorrent 頁面, 隱私〔隐私〕 下都不勾選。

監聽埠〔端口〕設定

qBittorrent 安裝完后初始 連入連缐時使用的埠〔用于传入连接的端口〕8999,一般爲了安全起見,我會選擇修改到一個五位數的監聽埠〔端口〕。這裏我選擇改成 23772,您可以根據自己喜好選擇自己監聽埠〔端口〕,建議設定 49152~65535 之間任選一個,因爲根據定義,該段埠屬於「動態埠」範圍,沒有埠可以被正式地註冊占用「來源: Wikipedia:TCP/UDP埠列表」。

補充:如果您家路由器不支持 UPnP,或者您家網路環境比較複雜,建議在路由器上同時設定 虛擬伺服器〔端口转发〕 下的 通訊埠轉發清單〔端口转发列表〕,企業級設備上叫 DNAT 設定。將 外部通訊埠〔外部端口〕本地通訊埠〔本地端口〕 都設定為上面 qBittorrent 的監聽埠號。以防其他用戶連接不上您,導致您沒有上傳速率。

預設儲存路徑〔默认保存路径〕設定

qBittorrent 安裝完后初始儲存路徑是 /var/services/Downloads/,其實也就是 /volume1/homes/admin/Downloads。可是我不希望下載内容放在 admin 家目錄,因爲以後可能我需要使用 Kodi 或者其他軟體通過 NFS 或者 SMB 播放儲存資料夾内的影片,這些軟體都會要求寫入權限,這樣可能會導致一些風險問題。

所以,我在 控制台 單獨新增一個共享資料夾〔共享文件夹〕 Downloads,在這個共享資料夾下面建立子資料夾 qBittorrent,選中 Downloads 點擊 編輯,選擇 權限〔权限〕,將 admin 的 可讀寫〔可读写〕 勾選,點擊 確定〔确定〕。不勾選 可讀寫〔可读写〕 會導致下載錯誤。

在 qBittorrent Web UI 點擊 頂端工具欄〔顶部工具栏〕 圖標彈出 選項〔选项〕 對話方塊。點擊 下載〔下载〕 頁面,編輯 存檔管理〔保存管理〕預設儲存路徑〔默认保存路径〕,我這裏修改成 /volume1/Downloads/qBitorrent

可以正常下載:

替換第三方 Web UI

我在 控制台 單獨新增一個共享資料夾〔共享文件夹〕 Tool,在這個共享資料夾下面建立子資料夾 qBittorrent,選中 Tool 點擊 編輯,選擇 權限〔权限〕,將 admin 的 可讀寫〔可读写〕 勾選,點擊 確定〔确定〕否則在 qBittorrent Web UI 上設定這個第三方 Web UI 之後會變成亂碼。

具體替換 Web UI 的緣由已經在上文説明過,此處不再贅述。首先,把 Github 上下載的 qb-web_0.4.zip 解壓縮出 qb-web 資料夾,確認下一級資料夾為 public。將 qb-web 資料夾複製到上面創建的 Tool/qBittorrent 資料夾下。

然後回到 qBittorrent Web UI 點擊 頂端工具欄〔顶部工具栏〕 圖標彈出 選項〔选项〕 對話方塊。點擊 Web UI〔Web 用户界面〕 頁面,勾選 使用替補 Web UI〔使用备用 Web UI〕 ,然後編輯 檔案位置〔文件路径〕,我這裏編輯成 /volume1/Tool/qBitorrentUI/qb-web/,特別注意,這裏路徑寫道 public 上一級路徑,而且結尾必須帶上 /,否則也會變成亂碼。

點擊下方 儲存〔保存〕 之後即可看見新 UI 效果。左側可以看見 站點 欄目,就可以根據 tracker 來查詢種子。左下角還有 切換至原生 UI 的按鈕,下一步的賬號安全設定就需要返回原生 UI 才可操作。

新 UI 新建任務的時候如下圖,不僅可以記錄儲存路徑的子路徑,還可以同時支持種子或者種子下載鏈接。

至此,就可以使用 qBittorrent 下載 PT 種子了。但是由於 qBittorrent 還是有不少坑,所以建議您看完下面的内容,特別是第 6 章節故障排除。

賬號安全設定

如果您只在家庭内網環境中訪問 qBittorrent Web UI,其實到上一步,就算可以完成在 PT使用需求下的 qBittorrent 安裝以及設定了。但是如果您需要從外部網路遠程訪問的話,初始密碼 adminadmin 就遠遠不符合安全性需求了。

在 qBittorrent Web UI 點擊 頂端工具欄〔顶部工具栏〕 圖標彈出 選項〔选项〕 對話方塊。點擊 Web UI〔Web 用户界面〕 頁面,編輯 驗證〔验证〕密碼〔密码〕,修改成您需要的密碼,但是由於在 qBittorrent 的 Web UI 無法顯示明文密碼,所以建議在其他軟體先輸好密碼,然後直接拷貝過來粘貼確保不會輸錯。

外部網路訪問〔外网访问〕

很多朋友在家使用 NAS 或者虛擬化搭建 Linux 伺服器都是爲了能在外部網路能遠程訪問。但是普通家庭 PPPoE 大多都只有動態公網 IP 地址(中國大陸用戶,運營商如果給的是内網 IP 是沒法使用,需要使用 FRP 内網穿透),所以需要配合 DDNS 才能遠程訪問,這裏我就不贅述 DDNS 設定,留著以後別的文章裏說,最主要還是需要設定 通訊埠轉發清單〔端口转发列表〕。由於我新買的 MikroTik RB4011iGS+RM 剛剛到貨還沒開始折騰,先換回 Merlin OS,所以這裏用 Netgear R7000 舉例。

在路由器上同時設定 虛擬伺服器〔端口转发〕 下的 通訊埠轉發清單〔端口转发列表〕,將 外部通訊埠〔外部端口〕本地通訊埠〔本地端口〕 都設定為上面 qBittorrent 的 Web UI 埠號 8085本地IP設定為 NAS 的 IP。當然,如果您想把 外部通訊埠〔外部端口〕設定為其他埠號也可以,那麽您在外網訪問的端口就修改為對應端口。

在外網訪問的時候就應該這麽訪問:

http://your ddns:port

假設您的 DDNS 網域是 mysynologynas.com, 外部通訊埠〔外部端口〕 設定為 18085,那麽應該這麽訪問:

http://mysynologynas.com:18085

移動終端設定

除了 Transdrone,還有 qBittorrent Controller 和 nzb360 可以使用,這裏先説結論爲什麽不使用這兩個 App:首先這兩個 App 都沒有中文,qBittorrent Controller 有廣告,需要付費購買 Pro 版才能去除廣告,但是我感覺沒有必要花這個錢,因爲只能使用在 qBittorrent 上面,不能給其他類型伺服器使用;至於 nzb360,我只想說功能實在是太複雜,太多可以使用的功能,如果您跟我一樣英語水平有點差,建議不要使用,我們是拿來當作 PT 用途,萬一有什麽看不懂的按鈕,按下去把你的 tracker 泄露出去,那就會連帶泄露 passkey,離被 ban 也就不遠了。

添加伺服器

選擇 Add normal, custom server,其他選項都是給 seedbox 使用。

名稱〔名称〕:隨您喜歡,怎麽寫都行
伺服器類型〔服务器类型〕:qBittorrent(如果您還有 Transmission 或者 uTorrent 伺服器,一樣可以添加)
IP 或網域〔IP 或域名〕:NAS IP 或者 DDNS 網域
用戶名:admin
密碼:您的 qBittorrent 密碼

輸入完以上内容后,點擊 高級設定 進入高級設定。

埠號〔端口号〕:根據 NAS IP 和 DDNS 網域填入對應埠號,上面我 NAS IP 是8085,DDNS 網域是 18085
由於這個設定在最頂部,很容易被無視,其他選項都不用修改。

查看伺服器

返回上級菜單,發現已經設定好了。

再返回上級,就來到 Transdrone 主界面,已經能看到種子了。

橫屏效果如下。

進入種子詳細内容頁面,可以看到對應的信息。

主界面左側可以根據狀態和分類篩選種子。

種子完成時候頂部通知效果如下。

您也可以加上您的 DDNS 網域遠程訪問伺服器。這樣出門在外就可以隨時查看家中 qBittorrent 狀態。

qBittorrent Controller

qBittorrent Controller 首頁下端是廣告。

qBittorrent Controller 也可以根據分類篩選種子。

nzb360

nzb360 雖然會顯示種子分類,但是似乎沒法根據分類進行篩選,這裏就不多做説明。

小貼士

手動停用 qBittorrent 套件服務前請暫停所有種子

由於第 6 章節故障排除出現多次出現在 套件中心 手動停用 qBittorrent 套件服務以及在 套件中心 手動開啓〔打开〕 qBittorrent 套件服務,所以建議您在每一次操作之前,暫停所有種子,除了由於 Web UI 顯示變成亂碼無法操作的情況,其他時候務必暫停所有種子。如果沒有暫停,手動開啓〔打开〕 qBittorrent 套件服務之後,所有種子都會重新進行 hash 校驗,非常浪費時間。

故障排除

下載沒有速率

預設儲存路徑〔默认保存路径〕權限不足導致下載錯誤

問題描述:下載狀態顯示錯誤,原因是預設儲存路徑〔默认保存路径〕權限不足/填錯導致。

解決辦法:詳見本文 3.3.4 章節。

Web UI 亂碼

替換第三方 Web UI 之後馬上亂碼

問題描述:替換第三方 Web UI 後網頁馬上顯示亂碼。

解決辦法:

  1. 具體導致此問題的詳見本文 3.3.5 章節,原因是替補 Web UI 檔案位置〔使用备用 Web UI 文件路径〕權限不足/填錯導致;
  2. 如果根據本文 3.3.5 章節修改存放 qb-web 資料夾的共享資料夾權限後,依然是顯示亂碼,請您在 套件中心 手動停用 qBittorrent 套件服務;
  3. 打開 Synology Nas 的 File Station,進入路徑 /volume1/homes/admin/.config/qBittorrent,右鍵點擊 qBittorrent.conf,點擊 以文本編輯器開啟〔用文本编辑器打开〕,修改以下行,將 true 改為 false,即手動關閉備用 Web UI;
    WebUI\AlternativeUIEnabled=true
    改為
    WebUI\AlternativeUIEnabled=false
  4. 同時檢查以下行,recheck 這行結尾是否帶有 / 符號,如果沒有,請補全;
    WebUI\RootFolder=/volume1/Tool/qBitorrentUI/qb-web/
  5. 請您在 套件中心 手動開啓〔打开〕 qBittorrent 套件服務,此時您應該會發現 qBittorrent 已經返回初始 Web UI。

替換第三方 Web UI 後正常使用一段時間,之後亂碼

問題描述:替換第三方 Web UI 後正常,使用一段時間后變成亂碼。有網友表示 1 個小時後亂碼。我自己是使用後第 2 天亂碼。

解決辦法:

根據網友 PhotonQuantum 的説法,打開 Synology Nas 的 File Station,進入路徑 /volume1/Tool/qBitorrentUI/qb-web/public,複製 index.html副本,重命名為 login.html即可解決問題。「來源: 更换UI后,一开始使用正常,过了1个小时就乱码

密碼錯誤/忘記密碼

無法登錄 Web UI

問題描述:由於密碼設定錯誤/忘記密碼導致無法登錄 Web UI。

解決辦法:

  1. 請您在 套件中心 手動停用 qBittorrent 套件服務;
  2. 打開 Synology Nas 的 File Station,進入路徑 /volume1/homes/admin/.config/qBittorrent,右鍵點擊 qBittorrent.conf,點擊 以文本編輯器開啟〔用文本编辑器打开〕,修改以下行,將括號内字符修改為 f6fdffe48c908deb0f4c3bd36c032e72,由於 qBittorrent.conf 内密碼是以 MD5 方式加密的密文,所以密文 f6fdffe48c908deb0f4c3bd36c032e72 相當於明文密碼 adminadmin,「來源: 常见PT客户端忘记密码的解决方法 」,您也可以自己選擇想要的複雜密碼,在這個網站 MD5 Encryption 自己生成對應密文,然後修改到 qBittorrent.conf中;
    WebUI\Password_ha1=@ByteArray(f6fdffe48c908deb0f4c3bd36c032e72)
  3. 請您在 套件中心 手動開啓〔打开〕 qBittorrent 套件服務,此時您就可以使用密文對應的明文密碼登錄。

無法登錄移動終端 App

問題描述:Transdrone 顯示拒絕訪問。

解決辦法:

我自己出現這個問題是由於在本文 3.3.6 章節於 Web UI 上修改了密碼之後,沒有立即更新 Transdrone 上的登錄信息,而 Transdrone 上我又開啓自動刷新,所以導致 Transdrone 使用錯誤的密碼反復嘗試登錄 qBittorrent,最終導致被 qBittorrent Ban 掉 IP。而且 Transdrone 並不提示錯誤是由於多次嘗試被 Ban,後面我是通過 qBittorrent Controller 才發現拒絕訪問的原因:IP address banned after too many failed attempts。這裏沒有截圖到,因爲 qBittorrent Controller 的錯誤提示也就出現 1 秒鐘就消失。

根據 Reddit 網友討論「來源: Localhost banned IP 」,有網友說 Ban IP 持續時間約 1 個小時,但是另一個討論「來源: IP address banned after too many failed attempts - fix? 」中,其他網友表示等候多少時間都沒有效果。

於是我又搜尋 Google,發現 GitHub 上 qBittorrent 項目的 issues 下有網友 anonymous09 提出一個解決辦法很有參考價值「來源: Blocked IP cant be unblocked back #1837 」。該網友表示從 qBittorrent.conf 刪除這行 IPFilter\BannedIPs= 即可解決問題。於是我看了下我的 qBittorrent.conf,發現我的居然沒有這行,所以我轉變了思考方式,我想這行如果存在,就應該在等號後面是我被 Ban 的 IP,那我不如直接新增這行,等號後面放空不填,豈不是就代表我沒有 IP 被 Ban。結果如我所料,增加這行之後,回 套件中心 手動開啓〔打开〕 qBittorrent 套件服務,Transdrone 就可以順利訪問 qBittorrent 伺服器了。

IPFilter\BannedIPs=

其他

寫入緩存設定

根據網友説法,按照如下内容手動編輯寫入緩存,但是我替換了第三方 Web UI 之後,會自動修改 qBittorrent.conf 導致這條設定失效。但是目前我暫時也沒發現有沒有這條設定會造成什麽影響,所以我個人暫時認爲可有可無,如果有比較瞭解這方面的朋友,麻煩評論指明優缺點。

由於 qBittorrent 4.1.X 版本還未支持在 Web UI 上設定高級參數,所以需要手動進入設定目錄下,編輯 qBittorrent.conf

路徑:/volume1/homes/admin/.config/qBittorrent

由於我是在存儲空間 1 下作爲 NAS 使用,所以我的路徑是在 volume1 下,若您是在其他存儲空間下使用,請對應修改為您的 volume

補充:强烈建議在 套件中心 安裝 文本編輯器〔文本编辑器〕,因爲這裏編輯 qBittorrent.conf 内容需要。

右鍵點擊 qBittorrent.conf,點擊 以文本編輯器開啟〔用文本编辑器打开〕

[Preferences] 下加入一行。

> Downloads\DiskWriteCacheSize=XXXX
>

其中 XXXX 是緩存大小,單位是 MB。我自己設定是 1024,以前用 uTorrent 的時候我也是設定這個大小。

結尾

以上就是我這幾天折騰 qBittorrent 遇到的一些問題和經驗,本來想説只是根據其他網友的帖子自己隨便測試下就好了,沒想到自己遇到那麽多奇怪的問題,而這些問題似乎在中文網站中都幾乎搜尋不到,所以我才花了2天時間把我遇到的問題寫到本文當中,希望能給網友提供幫助。説實話,當初在 Synology NAS 上折騰 Transmission 並沒有那麽多問題。如果您也有遇到其他問題,歡迎您留言,如果我可以復現場景,我會考慮測試一下,補充到本文。

參考資料

  1. 非Docker方法安装qBittorrent,舒心玩转PT。
  2. NAS | 群晖安装 qBittorrent 套件并优化设置、替换 UI(非 docker 安装)
  3. Github: miniers/qb-web
  4. 更换UI后,一开始使用正常,过了1个小时就乱码
  5. 常见PT客户端忘记密码的解决方法
  6. Blocked IP cant be unblocked back #1837
  7. Localhost banned IP
  8. IP address banned after too many failed attempts - fix?
Author: Darren
Link: https://opsdarren.github.io/2020/01/27/install-qbittorrent-on-synology-nas-using-non-docker-method/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.