jerry048 / Dedicated-Seedbox

721 stars 181 forks source link

qb 4.3.9 复制 .torrent 文件 开启后 文件名中 非ASCII 字符丢失 #6

Open Bimyooo opened 2 years ago

Bimyooo commented 2 years ago

比如:

ぱちんこ 超電磁ロボ コン・バトラーV.mp3.torrent

变成了

  V.mp3.torrent

星大脚本的 4.2.5 linuxserver docker 版本的 4.3.8 4.3.9 均未出现这个问题

tar-xz commented 1 year ago

比如:

ぱちんこ 超電磁ロボ コン・バトラーV.mp3.torrent

变成了

  V.mp3.torrent

星大脚本的 4.2.5 linuxserver docker 版本的 4.3.8 4.3.9 均未出现这个问题

問題

我這裡發現種子完成時調用外部腳本傳遞參數時也會出現同樣情況,具體也是非ASCII字符丟失,估計由編譯系統的環境 (e.g. 字符集) 引起。

例子

好油喔peko.mp4 --> peko.mp4

青蛙撞奶_frog_bang_milk.mp4 --> _frog_banging_milk.mp4

解決

實測自己編譯可以解決,方法如下。 我這裡採用的是docker進行,請預先安裝。

  1. 編譯

    docker run -it --name qb_builder -w /root -v $HOME/qbt:/root alpine:edge /bin/ash -c 'apk update && apk add bash curl && curl -sL git.io/qbstatic | bash -s all -pr jerry048/Patch -qt release-4.3.9 -lt v1.2.15 -bv 1.78.0 -o'
    編譯參數說明 - `-pr jerry048/Patch` - 套用jerry的優化 - `-qt release-4.3.9` - 設置將要編譯的qBittorrent版本 - `-lt v1.2.15` - 設置將要編譯的libtorrent版本 - `-bv 1.78.0` - 設置將要編譯的boost版本,這裡採用1.78.0的原因是1.80.0有[這個問題](https://stackoverflow.com/questions/73640763/error-rule-version-boost-build-unknown-while-building-libtorrent-using-boost),而我不會用應用裡面的patch 🙂。 另一個原因是jerry也是用這個版本(跟風 - `-o` - 文檔說是會針對CPU架構生成對應的代碼 (翻譯:把qBittorrent優化成CPU的形狀),能提升多少我就不知道了,用了再說 😗。 要注意的是,應用了優化編譯出來的靜態包如果轉移到不同架構的CPU上運行,有可能無法運行或者降低效能,所以用來公開分享的記得不要加。

    編譯完成後,退出容器。

  2. 停止舊的qBittorrent service qbittorrent-nox@<用戶名> stop

  3. 替換文件 mv -f $HOME/qbt/qbt-build/bin/qbittorrent-nox /usr/bin/qbittorrent-nox

  4. 開始新的qBittorrent service qbittorrent-nox@<用戶名> start

  5. 清理案發現場 rm -rf $HOME/qbt && docker rm -f qb_builder && docker rmi alpine:edge

參考資料

如有錯誤,歡迎指出。

jerry048 commented 1 year ago

我這裡發現種子完成時調用外部腳本傳遞參數時也會出現同樣情況,具體也是非ASCII字符丟失,估計由編譯系統的環境 (e.g. 字符集) 引起。

大概是我用WSL編譯的問題, 有空我再處理一下。感謝大大debug

tar-xz commented 1 year ago

新脚本安装完输入qb地址显示代码页,提示需要开启javascript才能启用webui

請看對應issue,不要在本issue回覆無關言論。

#7