首頁 > 軟體

Ubuntu 14.04安裝迅雷Xware過程筆記

2020-06-16 18:02:18

迅雷一直沒有出Linux版,wine不想去弄。Linux下雖然也有各種bt軟體,無奈我試用後卻發現速度遠比不上迅雷,甚至有些資源根本找不到。而有些迅雷的專用連結,更是沒法下(原諒我2M的小水管,卻喜歡看美劇)。隨著各種電視盒子、智慧路由的出現,迅雷弄了一個遠端下載,即Xware。遠端下載其實就是在電視盒子、路由器上架一個極簡的迅雷核心,然後通過迅雷提供的網頁端來控制,實現下載。由於電視盒子多半是Android系統,智慧路由也是android或Linux核心,所以迅雷要想支援各種裝置,就必須提供各種版本的Xware,其中就有一個glibc 32bit版本。這個版本即可支援在大部分Linux系統(32或64位元)執行。

要執行Xware,有幾個條件:
1.下載好Xware
2.執行Xware
3.係結Xware
4.掛載一個儲存裝置

Xware可以到迅雷的論壇去下載(http://luyou.xunlei.com/forum.php?mod=forumdisplay&fid=51&filter=typeid&typeid=1),在產品發布里,下載最新的glibc_32版本即可。如Xware1.0.31_x86_32_glibc.zip。下載:

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

使用者名稱與密碼都是www.linuxidc.com

具體下載目錄在 /2015年資料/4月/16日/Ubuntu 14.04折騰迅雷Xware/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

下載好後解壓到一下目錄中,如Xware1.0.31。裡面的檔案如下:

linuxidc@linuxidc:~/Xware1.0.31$ ls -lh
總用量 4.2M
-rwxrwxr-x 1 linuxidc linuxidc 4.1M 8月 27 2014 EmbedThunderManager
-rwxrwxr-x 1 linuxidc linuxidc 24K 8月 27 2014 ETMDaemon
-rwxrwxr-x 1 linuxidc linuxidc 111K 8月 27 2014 portal
-rwxrwxr-x 1 linuxidc linuxidc 23K 8月 27 2014 vod_httpserver

  執行xware很簡單,進入當前目錄,執行./portal即可。執行出輸出如下:

linuxidc@linuxidc:~/Xware1.0.31$ ./portal
initing...
try stopping xunlei service first...
killall: ETMDaemon: no process killed
killall: EmbedThunderManager: no process killed
killall: vod_httpserver: no process killed
setting xunlei runtime env...
port: 9000 is usable.

YOUR CONTROL PORT IS: 9000

starting xunlei service...
etm path: /home/linuxidc/Xware1.0.31
execv: /home/linuxidc/Xware1.0.31/lib/ETMDaemon.

getting xunlei service info...
Connecting to 127.0.0.1:9000 (127.0.0.1:9000)
the active key is not valid.

try again...(has tried 1 time(s)).
getting xunlei service info...
Connecting to 127.0.0.1:9000 (127.0.0.1:9000)

THE ACTIVE CODE IS: xxxbbb

go to http://yuancheng.xunlei.com, bind your device with the active code.
finished.

執行時需要根據你的網路情況而定,有時try again...N多次才能連上迅雷的伺服器,也有過連不上的。連不上再重新執行一次就好。

接著需要繫結你的裝置到網頁版迅雷遠端控制。登入http://yuancheng.xunlei.com(沒帳號就註冊一個),然後將上面執行得到的一個code(THE ACTIVE CODE IS: xxxbbb),這裡是xxxbbb。輸入這個code,你剛剛執行的迅雷就與遠端下載系結了。

然後,就是熟悉的迅雷介面了

現在,迅雷基本算是跑起來了。但是還有一個問題,下載的檔案存在哪裡呢。遠端下載只是一個網頁用戶端,它沒有辦法知道你電腦上硬碟的情況。它只能通過與執行在電腦上的迅雷通訊才能了解電腦上有多少空間,有哪些盤。可是迅雷開發xware的初衷並不是給電腦用的,而是給各種盒子、路由使用的。這些裝置幾乎是沒有硬碟或者只有固定很小的空間,沒有辦法用來下載的。但它們都是linux核心,同時很多裝置也提供了USB介面把U盤、行動硬碟接入。這些裝置幾乎都會掛載到/media目錄下。所以xware只會檢測掛載到/media目錄下可寫的裝置。比如我把我的U盤插到電腦上,點選遠端下載中的新建,即可看到迅雷已經檢測到我的U盤,並在裡面自動建立了一些必要的資料夾。

linuxidc@linuxidc:~$ df
檔案系統 1K-blocks 已用 可用 已用% 掛載點
/dev/sda6 24475012 5982676 17226008 26% /
none 4 0 4 0% /sys/fs/cgroup
udev 3760900 4 3760896 1% /dev
tmpfs 754340 1324 753016 1% /run
none 5120 0 5120 0% /run/lock
none 3771696 652 3771044 1% /run/shm
none 102400 64 102336 1% /run/user
/dev/sda7 26866740 5797352 19681564 23% /home
/dev/sda1 307032 37920 269112 13% /boot/efi
/dev/sdb1 7135728 4606340 2529388 65% /media/linuxidc/APACER
linuxidc@linuxidc:~$ ls /media/linuxidc/APACER -lh
總用量 48K
drwx------ 2 linuxidc linuxidc 4.0K 12月 13 22:18 GHO
drwx------ 3 linuxidc linuxidc 4.0K 3月 13 23:22 system_tools
drwx------ 2 linuxidc linuxidc 4.0K 4月 15 20:57 TDDOWNLOAD
drwx------ 2 linuxidc linuxidc 4.0K 4月 15 20:57 ThunderDB

電腦上使用迅雷肯定希望直接下載到硬碟上啊。那麼我們可以使用mount --bind來將一個資料夾掛載到/media下,這樣迅雷就可以下載了。對,沒錯,一切都OK。可是又有一個問題,假如我正在下載,突然要用到U盤。接到電腦上,迅雷二話不說,直接在U盤上建立兩個資料夾,這讓我情何以堪。要讓迅雷忽略我的U盤,沒有別的辦法,只有取消迅雷在U盤上的寫許可權。但是U盤我還要往裡面拷東西啊。所以我們只好給迅雷建立一個使用者,然後用這個使用者執行迅雷。這樣,迅雷在我的U盤上就沒有寫許可權了。

先建立一個叫thunder的使用者

sudo useradd --no-create-home --user-group thunder

然後把xware的目錄改為thunder所有,這樣thunder才有許可權執行xware(直接通過sudo給許可權也行)

su chown thunder:thunder -R Xware1.0.31

再建立一個用來掛載的目錄和一個下載的目錄,這些目錄也歸thunder所有,不然它沒許可權寫,怎麼行。而這個下載目錄你當前的使用者也是有許可權讀的,不然下載的東西你沒法看,有什麼用?

sudo mkdir /home/linuxidc/TDDOWNLOAD -p
sudo mkdir /media/thunder/TDDOWNLOADS -p
sudo chown thunder:thunder /home/linuxidc/TDDOWNLOAD
sudo chown thunder:thunder /media/thunder/TDDOWNLOADS

然後我們把下載目錄掛載到另一個目錄

sudo mount --bind /home/linuxidc/TDDOWNLOAD /media/thunder/TDDOWNLOADS/

再重新以thunder使用者執行迅雷(先獲取root許可權,再轉換到thunder使用者可以免去輸入thunder的密碼,因為剛剛就沒給thunder建立密碼,輸入什麼都不對的)

sudo su thunder -c ./portal

這樣,迅雷會檢測到/media/thunder/TDDOWNLOADS目錄,下載的東西卻是放到/home/linuxidc/TDDOWNLOAD中去了。現在,如果你點“新建”任務,可以看到剩餘空間,則說明掛載成功。

折騰到此,總算是可以下載了,不過既然是在linux下,怎麼也得寫個指令碼吧

#!/bin/sh

XWARE_DIR=./Xware1.0.31

USERNAME="thunder"

DOWN_DIR=/home/linuxidc/TDDOWNLOAD
MOUNT_DIR=/media/thunder/TDDOWNLOADS

if [ $# -gt 0 ];
then
    #加引數 -s是關閉
    su $USERNAME -c "$XWARE_DIR/portal -s"
    code=$?

    if [ $code -eq 0 ];
    then
        umount $MOUNT_DIR
        echo "xware stop sucess..."
    else
        echo "xware stop fail,code $code"
    fi

else
    #不加引數預設是啟動
    su $USERNAME -c $XWARE_DIR/portal
    code=$?

    if [ $code -eq 0 ];
    then
        mount --bind $DOWN_DIR $MOUNT_DIR
        echo "xware start sucess..."
    else
        echo "xware start fail,code $code"
    fi

fi

這樣,把這個檔案放到Xware1.0.31的上一層,名為xware.sh。這個指令碼會自動掛載資料夾,或者取消掛載,需要root許可權。

執行 sudo ./xware.sh

關閉 sudo ./xware.sh -s


IT145.com E-mail:sddin#qq.com