Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

安裝 xware (迅雷遠程下載) 下載迅雷離線的檔案
post by tommy @ 29 七月, 2016 06:29

最早的時候, 是用一台 VM 跑迅雷來下載 (比較快沒錯), 不過後來買了 NAS 之後, 就改用 Synology 裡頭的 Download Station 來下載迅雷離線上的檔案 (用的應該是 xunlei-lixian 這個軟體), 雖然速度不快, 但是擺著沒多久也一樣能抓完. 不過.... 這幾天, 突然連不上, 一直說我的密碼不對, 不過用瀏覽器連上都正常. 所以.... 就試著裝 xware 來用.

基本上, xware 就是迅雷的 linux 版本, 一開始的版本, 使用上並沒有任何限制, 不過在 1.0.31 版本之後, 就改用試用版的方式, 每個版本都只有三個月的試用期限, 所以.... 網路上教人安裝的都是 1.0.31 的版本.

安裝與使用不難, 就是抓了對應的 zip 版本, 回來解開來之後, 執行 portal 就可以了. (這部份 google 一下應該就有一堆)

那... 這篇只是要記錄一下我自己碰到的問題與解決方法.

  • Synology DS1813+ 無法正常執行

這個應該會有找不到 libz.so.1 的訊息. 因為 Synology 在這機器上的 DSM 是 x86-64 的版本, 而抓回來的 xware 1.0.31 是 x86 的版本, 而 DSM 上頭雖然有支援 x86 的程式, 不過並沒有包含 x86 的 zlib 元件. 可以自行到 x86 或 x86-64 的 Linux 上頭找 x86 的 libz.so.1.2.8 來用就可以 (應該任何 1.2.x 版本都可以).

以 Debian x86-64 來說, 可以在 /lib/i386-linux-gnu/ 底下找到這個檔案, 複製到 NAS 的 /lib/i686/ 底下, 再做一個 libz.so.1 的 symlink 就可以正常執行了.

root@DS1813:/lib/i686# ls -la libz*
lrwxrwxrwx 1 root root 13 Jul 27 15:24 libz.so.1 -> libz.so.1.2.8
-r-xr-xr-x 1 root root 112284 Jul 27 15:24 libz.so.1.2.8
  • 在 ARM 的 linux 上頭,無法正常執行

這問題其實與前一個問題是一樣的, 只是不知道為什麼 xware 的 armel_v5te 裡頭的檔案, 在 armv7l 的系統上, 用 ldd 看不出任何需要的 .so 檔案, 執行時也不是出現找不到某個 .so 的檔案, 而是出現 No suh file or directory 的訊息. 因為猜不出是少那個東西, 就先用 file 看一下那個檔案的資訊:

fw2:/var/spool/thunder# file portal
portal: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.22, not stripped

看起來是需要 /lib/ld-linux.so.3 這個檔案. 不過, 在近期的 Debian 上頭 (其他的版本應該也是), 支援 multi-arch 的關係, 很多的 shared library 是分在 /lib/ 下頭的不同目錄. 所以這個檔麼實際是在 /lib/arm-linux-gnueabihf/ (這是 armhf 的版本, 如果是用 armel 的版本, 應該會是/lib/arm-linux-gnueabi/ 下面), 只要自己做一個 symlink 就可以:

fw2:/lib# ls -la ld-linux*
lrwxrwxrwx 1 root root 30 Jul 20 02:22 ld-linux-armhf.so.3 -> arm-linux-gnueabihf/ld-2.23.so
lrwxrwxrwx 1 root root 33 Jul 28 16:07 ld-linux.so.3 -> arm-linux-gnueabihf/ld-linux.so.3

我的機器上是加了上頭的 symlink 就可以正常執行了 (如果不行, 應該是有少其他的 .so 吧, 要自己試看看, 如果用 x86 的版本來看, 需要的是下頭的 .so:

mail:/var/spool/thunder# ldd portal
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf776c000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7767000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf75b3000)
/lib/ld-linux.so.2 (0x56606000)
  • 下載位置的對應

正常執行後, 在 /tmp/thunder/volumes/ 目錄下會有對應的磁碟機與實際路徑. 預設 xware 會使用所有有權限的 mount point (會產生 ThunderDB 目錄), 為了限制存取的目錄, 可以透過 xware 安裝目錄下的 cfg/thunder_mounts.cfg 的檔案來限制 (新版好像可以用白名單的方式, 不過... 1.0.31 似乎只能用黑名單的方式處理)

invalid_mounts
{
/dev/mapper/vg-tmp /var/tmp
tmpfs /dev/shm
}

每行第一個是 mount 的 device, 第二個是 mount 的路徑.

除了這個方式外, 就是利用權限來控制, 可以用一個帳號來執行 xware, 然後任何 mount point 都不要給這個帳號寫入的權限. 接著在 /media/ 下面建一個目錄, 給這個帳號寫入的權限, 再用 mount --bind 的方式, 把實際要存放的路徑 (當然該帳號要有寫入權限) mount 到這個目錄就可以.

用 xware 跑了幾天, 感覺比 NAS 上頭用的 xunlei-lixian 似乎下載速度快了一些. 也許該早點換過來用...
Del.icio.us Furl HEMiDEMi Technorati MyShare
commons icon [1] Re:安裝 xware (迅雷遠程下載) 下載迅雷離線的檔案 [ 回覆 ]

您好
我的nas是ds713+
也是一樣不能使用download station裡的迅雷離線
所以想要用xware
但照教學之後發現一樣的問題 說找不到 libz.so.1 的訊息
本身對linux完全沒概念
但想請教該如何處理才能成功使用xware呢?
謝謝

commons icon [2] Re:安裝 xware (迅雷遠程下載) 下載迅雷離線的檔案 [ 回覆 ]

看不懂上面的... 那建議用 docker 處理吧, 我記得有迅雷離線的 docker 可以用 (不過我不確定 ds713+ 有沒有支援 docker).

commons icon [3] Re:安裝 xware (迅雷遠程下載) 下載迅雷離線的檔案 [ 回覆 ]

感謝回覆,目前已經用docker執行下載了~

迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 44 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS