本帖最后由 zhangming 于 2014-1-13 16:31 編輯
什么是樹莓派(Raspberry Pi)樹莓派就是一個只有信用卡大小的微型電腦,ARM 的 CPU,512M內存,可以安裝命令行或簡配的圖形的(ARM版)Linux 或 Android,計算能力相當于普通Android手機(但比PC慢很多),播放1080p高清視頻沒問題(因為有硬件加速)。表面上看就是一塊集成電路板,但具有電腦的所有功能,而且很小很便宜。
QQ圖片20140113163121.jpg (97.54 KB, 下載次數: 178)
下載附件
保存到相冊
2014-1-13 16:31 上傳
QQ圖片20140109153017.jpg (80.37 KB, 下載次數: 192)
下載附件
保存到相冊
2014-1-9 15:29 上傳
功能
你能想到的,有些很離譜,但是常用的就是XBMC、迅雷下載、BT下載,遠程監(jiān)控,共享服務器,web服務器等,為什么要用這個?因為它只有3.5W的功率,和鼠標一樣大的身材,價格不會超過300軟妹幣。
安裝
你還需要以下這些東西:
一張SD記憶卡
一個SD讀卡器,用于將系統(tǒng)映像寫入到SD卡中供電來源。我們用的是一個舊的安卓手機充電器,你需要一個5V的micro USB接口充電器為它供電。
如果你是用的普通顯示器而不是高清電視,你需要一條HDMI連接線與HDMI-DVI轉換器。如果你的顯示器支持HDMI或者你打算使用電視機進行連接,那么你就可以省去轉換器了。
USB接口的鍵盤和鼠標
一條以太網線
可選設備:
用于保護Raspberry Pi的盒子
除了鍵盤和鼠標之外,如果你打算要連接更多的USB設備,那么你需要一個USB Hub集線器。
我們在本文中使用的東西:
一個Model B Raspberry Pi
一張16GB Class 10 SanDisk Ultra SDHC記憶卡(傳輸率標為300MB/s)
一個原本用于HTC Inspire的舊充電器
羅技K260無線鍵鼠套裝(兩件只用一個接收器,因此只占用一個USB口)
一條RJ-45網線
設置
當你把上面的一切都準備好以后,我們就可以開始設置Raspberry Pi了
將Raspbian映像安裝到SD卡中
Raspberry Pi出來已經有一段時間了,也正因如此,無論你是在用Windows、Mac OS X還是Linux,都有好幾種方法將Raspbian的映像寫到你的SD卡中。然而為了讓這篇文章不變成介紹各種映像寫入軟件的文章,我們將會把最常用的方法展示給大家看:在OS X與Linux中我們將會用系統(tǒng)自帶的dd工具寫入,而在Windows中我們將會使用一個叫Win32DiskImager的工具進行。
為了讓過程便得簡單,我們建議你在開始操作前,先把下載文件夾清空。然后,從這里下載Raspbian.zip。在里面,選擇最新的Raspbian來下載。當然你也可以選擇使用BT來下載,為了能讓其他人繼續(xù)用BT下載,我們建議你在下載完成后繼續(xù)上傳。 把壓縮文件解壓以后,你將得到Raspbian的映像文件,這個時候打開終端窗口。如果你使用的是OS X 10.7或更高版本,你可以從應用程序中的工具(10.7)或者其他(10.8)中找到終端窗口。打開后,使用”cd ~/Downloads”來進入下載文件夾。 如果你在開始前清空了你的下載文件夾,那么現在里面應該有兩個文件,輸入”ls”來確認是否分別有一個img后綴與一個zip后綴的文件,如下圖: 接下來就要開始將解壓出來的映像文件寫到SD卡中了,很可惜這個操作并不是直接把文件拷到卡中那么簡單。首先,我們在把SD卡插到你的Mac之前,要把你電腦分區(qū)狀態(tài)先搞清楚。如果你已經迫不及待把卡插了進去,那么先把它安全移除吧。 在終端窗口中輸入”df –h”,你應該會看到類似這樣的結果 現在,插入你的SD卡,再運行一次剛才的命令,你會發(fā)現多了一個”/dev/disk1s1”的設備。把它先記下來,等一會兒把它轉換成原始設備名稱時會用到的。 接下來,你需要先從系統(tǒng)中把卡卸載掉,以便”dd”這個工具可以將映像寫入到SD卡中。在終端窗口輸入”sudo diskutil unmount /dev/disk1s1”,然后輸入你的系統(tǒng)密碼。 如果操作成功的話,你會看到最后那一行字:”Volume XXX unmounted”中的XXX是你SD卡的名稱?,F在我們就可以往卡上寫入映像了。 記得剛才讓你記下來的設備名么?現在就是用到它的時候了。將你的設備名(例如/dev/disk1s1)最后的s1去掉,然后在disk前面加上r,變成”/dev/rdisk1”,這樣你就得到SD卡的原始設備名稱了。 也就是說,”/dev/disk1s1” = “/dev/rdisk1”。懂了嗎? 然后在終端中輸入以下命令:”sudo ddb s=1m if=2012-06-15-wheezy-raspbian.img of=/dev/YOURDISKNAME”。將YOURDISKNAME改成你的原始設備名稱,通常這個都是/dev/rdisk1。 寫入的過程需要一點時間。當”dd”完成了它的工作以后,將桌面的SD卡圖標拖進回收站中以將SD卡安全移除。 準備工作就完成了!直接到“初次啟動你的Pi”部分吧。 Our prep work is finished! Skip ahead to "Booting your Pi for the first time." 如果你使用的是Linux 無論你使用的是哪一個發(fā)行版的Linux,”dd”這個工具通常都是默認安裝的。對于接下來的操作,我們假設: 1) 你的sudo程序已經設置妥當,而且你知道如何使用它 2) 你的Linux中已安裝fdisk工具(大多數發(fā)行版都默認安裝) 在這里我們使用的是最為流行的Linux發(fā)行版Ubuntu,其中”dd”, “fdisk”已默認安裝,并且”sudo”也已預先為用戶配置好了。 首先,從這里下載Raspbian的最新版本壓縮包。同樣,你也可以選擇使用BT下載。在你下載完成以后,第一個操作自然就是解壓。 打開一個終端窗口,然后使用”cd ~”命令將工作目錄變更到你的主目錄中。輸入”unzip imagename.zip”,將imagename替換為剛才你下載文件的名字。 如果你找不到剛才下載的壓縮包,你可以嘗試使用”cd ~/Downloads/”進入下載目錄尋找。 接下來,我們要確定你的SD卡在系統(tǒng)中的設備名稱。插入你的SD卡,然后在終端中輸入”sudo fdisk –l”。 注意看列出來的設備:你運行命令后得出的結果跟上面顯示的應該很相似 這里看到,/dev/sda是一個大小250.1GB的設備,而/dev/sdb是一個15.9GB的設備。很明顯,/dev/sdb就是我們的SD卡。留意一下/dev/sdb下面顯示的分區(qū):/dev/sdb1與/dev/sdb2,我們要在寫入映像之前將這兩個分區(qū)先從系統(tǒng)中卸載掉: sudo umount /dev/sdb1 sudo umount /dev/sdb2 接下來,我們使用”dd”將映像文件寫入到SD卡中:”sudo dd bs=1M if=2012-08-16-wheezy-raspbian.img of=/dev/sdb”。跟在Mac中操作相同,這個過程需要一些時間來完成。 如果你看到終端顯示跟上面類似的文字,那么寫入已經完成了。現在,你可以跳到“初次啟動你的Pi”部分繼續(xù)閱讀。
如果你正在使用Windows
如果你正在使用的是Windows系統(tǒng),有一個叫做Win32DiskImager的小工具可以幫你完成這項工作。把它下載下來以后,再把Raspbian的映像從這里下載下來。記得選擇最新版本的Raspbian。 當你把Win32DiskImager和Raspbian映像文件都下載下來以后,把他們都解壓出來。你可以把所有文件都解壓到桌面的一個文件夾中,方便接下來的操作。 將你的SD卡插入到你的讀卡器中,留意一下讀卡器在電腦中的盤符。將讀卡器接到電腦以后,打開剛解壓出來的Win32DiskImager程序: 在啟動時,Win32DiskImager可能會提示以下錯誤:(至少在Windows 7中是這樣的) 這個錯誤可以忽略掉,點OK繼續(xù) 點擊右邊的藍色文件夾圖標,然后選中剛才解壓出來的Raspbian映像文件。確保最右邊Device中的盤符為你讀卡器的盤符。 打開映像文件以后,點Write,然后點一下Yes確定操作。整個寫入過程需要一些時間來完成。 寫入完畢以后,你會看到下面的信息,這時你就可以把你的SD卡安全移除了。 初次啟動你的Pi 初次啟動Raspberry Pi時,你會看到一個叫做raspi-config的配置工具。如果在日后使用過程中你需要更改這些設置,你可以通過在Pi的命令行中運行raspi-config來使用這個工具。在這里,你需要進行一些最基本的設置來繼續(xù)使用你的Pi。 首先,我們要選擇expand_rootfs。它的作用是將剛才寫入到SD卡中的映像文件大小擴展到整張SD卡中。如果你使用的是一張較大的SD卡(例如16GB),那么你肯定像充分利用上面的空間。因為原本的映像只有大約2GB的大小,進行該操作就能將它擴展到與你的SD卡同樣的大小。 選中expand_rootfs選項,然后按下回車。你會看到如下提示,只需要再按一下回車就可以回到raspi-config的主菜單中。 接下來就是overscan選項。你會發(fā)現,屏幕顯示的圖像并沒有完全占用你的顯示器空間;所以,最后就是將overscan禁用掉,來讓系統(tǒng)充分利用整個屏幕。但如果你的屏幕顯示沒有問題,那么你就可以跳過這個步驟。假設你需要禁用overscan,那么將overscan選項選中后按下回車。 接下來的畫面能夠讓你選擇禁用(Disable)或者是啟用(Enable) overscan。如果你在往后使用的過程中更換顯示器或者電視機,你或許需要重新啟用overscan。 接下來,我們要確保我們的鍵盤正常工作。Raspbian默認的是英國鍵盤布局,而我們在中國使用的鍵盤布局與美國的相同,因此我們要對它進行更改才能正常使用。 選中configure_keyboard,然后按下回車。下面顯示的畫面中你會看到一個很長的列表,里面都是不同的鍵盤類型。你可以根據你的需要來選擇,或者直接選擇Generic 105-key (Intl) PC鍵盤。 在選擇鍵盤類型以后,你需要為它選擇一個鍵盤布局。剛開始顯示的列表中,都只有英國的鍵盤布局,但是我們現在要選擇美國的鍵盤布局,因此我們選中其他(Other),然后再里面的列表選擇English (US)。
然后你會被問到關于輔助鍵的問題,選擇默認的選項,并且在下一個畫面中選擇No compose key選項。同樣,如果你需要更改這個設置,可以使用raspi-config來更改。 最后一個選項為是否打開CTRL+ALT+BACKSPACE的組合鍵。它可以在你的圖形界面崩潰時,不需重啟而將圖形界面進程結束掉。 回到主菜單,下一步我們要設置一個用戶密碼。 選中change_pass然后按下回車。一個確認窗口彈出以后,在屏幕的底下會提示你輸入一個新的UNIX用戶密碼。 到這里就差不多完成了。接下來設置你的“區(qū)域”,這個主要會決定系統(tǒng)使用的字符集和語言。同樣,如果你不想使用英國英語,那么你可以在這里更改這些設置。在演示中我們選擇的是美國英語,因此我們選擇en_US.UTF-8,并下翻列表將en_GB選項剔除 再下一個對話框中會讓你選擇默認的區(qū)域,選擇你剛才選的區(qū)域然后按回車繼續(xù)。 回到raspi-config的主菜單,設置適當的時區(qū)。選中change_timezone選項然后按下回車。你會先看到一個地區(qū)列表。 選擇一個地區(qū),然后下一個菜單中會顯示該區(qū)域的具體位置。 再次回到主菜單,剩下還沒選過的選項我們可以忽略,直接點擊完成(Finish)。系統(tǒng)會提示你,一些變更需要重啟才能生效。重啟以后,你會看到一個登錄界面,如下: 在這里,用戶名為”pi”,密碼就是你剛才設置的UNIX用戶密碼。 使用你的Raspberry Pi 現在,你已經登錄到了你之前設置的Raspberry Pi中了。你要做的第一件事,就是在命令行中輸入”startx”來進入圖形界面,以下我們會把這個界面稱之為“窗口管理器”。 屏幕快速閃爍幾次后,你應該會看到如下畫面:(除了那個終端窗口以外) 歡迎使用LXDE窗口管理器。LXDE是一個非常輕量級,并且功能齊全的圖形界面,它能夠很好地運行在Raspberry Pi中。如果你從來未使用過LXDE,別擔心,它用起來跟Windows非常相似。點擊最左下角的圖標,你會看到一個應用程序列表。
主要配置方法 網絡配置
插入網線并啟動機器,默認是 DHCP 分配的 IP,ifconfig 或者在路由器上查一下主機名是 raspberrypi 就能知道 IP 。不過為了以后遠程連接方便,還是配置為靜態(tài) IP 比較好??梢栽诼酚善魃侠?mac 地址配置靜態(tài) IP 分配。也可以在 Pi 上做網絡設置,和 Debian Linux 網絡配置一樣,編輯 /etc/network/interfaces 文件,修改后重啟網絡。
掛載U盤
外接U盤或移動硬盤時,默認不會自動掛載,所以需要用 mount 命令掛載。通常我們在 /mnt 或 /media 目錄下新建一個目錄作為掛載點。比如:
sudo mkdir /mnt/1GB_USB_flash
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/1GB_USB_flash
//用完之后卸載
sudo umount /mnt/1GB_USB_flash
sda1 是取決于你的實際情況,a表示第一個硬盤,1表示第一個分區(qū)。
FAT 格式U盤 mount 本身就能支持,但如果你的U盤或移動硬盤使用的是 exFAT 格式,mount 會說不支持。沒關系,安裝 exfat-fuse 軟件之后 mount 就支持了。
sudo apt-get install exfat-fuse
如果想開機自動掛載,而不是每次手工執(zhí)行,可以編輯 /etc/fstab 文件。比如在末尾添加一行:
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0
掛載U盤的更多細節(jié)請參考 RPi Adding USB Drives 。
使用 samba 文件共享
共享文件的方法很多,其中最常用是 samba ,并且Windows、Linux、Mac 都支持。讓樹莓派外接大容量移動硬盤,就可以把它作為一個低功耗的 NAS 來用了。
首先安裝 samba:
sudo apt-get install samba samba-common-bin
然后修改配置文件:/etc/samba/smb.conf 。下面的配置是讓用戶可以訪問自己的 home 目錄。
1)開啟用戶認證,找到“##### Authentication #####”,將“# security = user ”的井號去掉。
2)配置每個用戶可以讀寫自己的 home 目錄,在“[homes]”節(jié)中,把 “read only = yes” 改為 “read only = no” 。
改好后重啟 samba 服務:
sudo /etc/init.d/samba restart
把系統(tǒng)默認用戶 pi 添加到 samba :
sudo smbpasswd -a pi
現在就可以從其它機器上訪問 pi 這個用戶的 home 目錄了。
還可以配置一個公共文件區(qū),任何用戶都可以訪問:
sudo mkdir /home/shares
sudo mkdir /home/shares/public
sudo chown -R root:users /home/shares/public
sudo chmod -R ug=rwx,o=rx /home/shares/public
然后編輯 /etc/samba/smb.conf 文件,在文件的末尾添加:
[public]
comment = Public Storage
path = /home/shares/public
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
保存文件,并重啟 samba 服務。
最后,把移動硬盤 mount 到 samba 可訪問目錄中就可以了。
更多信息請參考:R-Pi NAS
BT 下載服務器
既然現在我們已經有了一臺低功耗的 NAS,讓它支持獨立的 BT 下載就更好了,這樣我外出或睡覺的時候就不用開著電腦下載了,而且更省電。很簡單,只要安裝 transmission 就可以了,更棒的是它還可以通過 Web 界面控制!
1)首先安裝 transmission :
sudo apt-get install transmission-daemon
2)然后創(chuàng)建下載目錄,一個是下載完成的目錄,一個是未完成的目錄,具體目錄根據你的情況決定:
mkdir -p /home/pi/incomplete # for incomplete downloads
mkdir /home/pi/complete # finished downloads
3)還要配置目錄的權限:
sudo usermod -a -G debian-transmission pi
#如果是 fat 格式的移動硬盤無需下面這么改,mount的時候指定用戶和讀寫權限就行
#這個是對 SD 卡上的目錄而言的
chgrp debian-transmission /home/pi/incomplete
chgrp debian-transmission /home/pi/complete
chmod 770 /home/pi/incomplete
chmod 770 /home/pi/complete
4)修改配置文件 /etc/transmission-daemon/settings.json ,這是一個 json 格式的文件,配置項很多,但重點改下面這些:
下載目錄位置:
"download-dir": "/home/pi/complete",
未完成的下載目錄
"incomplete-dir": "/home/pi/incomplete",
允許Web訪問的白名單地址
"rpc-whitelist": "192.168.1.*",
5)最后,配置好之后重啟 transmission,注意以下兩個命令按順序執(zhí)行,單獨 restart 的話配置不會保存:
sudo service transmission-daemon reload
sudo service transmission-daemon restart
現在就好了,在瀏覽器中訪問 IP 加 9091端口:比如: http://192.168.1.3:9091/ 。訪問時輸入用戶名和密碼,默認都是:transmission 。
你現在已經有了一個獨立的 BT 下載服務器了!界面功能完備,可以做限速等設置。
關于 transmission 配置的詳細信息請參考:EditConfigFiles 。
修改 transmission 用戶名和密碼的方法:
1)先停止服務: sudo service transmission-daemon stop
2)修改配置文件,下面兩項分別是用戶和密碼,你看到這個是加密的密碼,沒關系直接把密碼改為你想要的密碼明文就可以:
"rpc-username": "transmission",
"rpc-password": "{2dc2c41724aab07ccc301e97f56360cb35f8ba1fGVVRdHDX",
3)再此啟動服務 :sudo service transmission-daemon start 。啟動的時候 transmission 會自動把新密碼加密。
另外,transmission 默認監(jiān)聽 51413 端口,最好在路由器上做個端口轉發(fā),把這個端口轉到它的 IP 地址。
電驢可以用 mldonkey 支持。
安裝遠程桌面
Windows 系統(tǒng)的遠程桌面大家都用過,并且 Linux 和 Mac 上也可以使用遠程桌面。讓樹莓派支持遠程桌面訪問很簡單,首先安裝 xrdp:
sudo apt-get install xrdp
然后,使用遠程桌面程序連接到對應的 IP 即可!
播放視頻
樹莓派上可以播放 H264 和 mp4 等視頻格式,1080p也沒問題,因為這種格式的文件有硬件加速。
首先安裝 安裝 omxplayer ,這是一個命令行的播放器:
sudo apt-get install omxplayer
然后就可以播放了,當然需要通過 HDMI 連接到顯示器看:
omxplayer -o hdmi /path/to/filename.mp4
-o hdmi 表示音頻直接通過 HDMI 播放,播放時按左右箭頭快進、按 q 退出。更多命令行選項和播放時的控制快捷鍵請參考 omxplayer 的文檔。
實例 XBMC xbian系統(tǒng)就是xbmc和debian的結合體。xbmc是什么?xbmc是一個媒體中心,可以看電影,可以聽歌,可以看圖片,可以看天氣。界面做得非常炫,支持鍵盤鼠標操作,有大神擴充功能,用家里的遙控器就能進行操作,完全可以做一個家庭媒體中心。里面有好多擴展插件,可以增加國內幾大視頻網站,比如優(yōu)酷,土豆,奇藝,迅雷看看,騰訊視頻,還有好多,記不清了。當然感興趣的話可以在ubuntu上裝一個體驗體驗。音樂的話有酷狗音樂。要想增加這些插件的話首先要開啟中文支持,首先將一個中文字體復制到~/.xbmc/media/Fonts/arial.ttf,打開XBMC,進入SETTING-Appearance -> Look and Feel -> Skin Fonts設置為arial,再將 region中的language設置為Chinese simplified即可,接下來就是安裝國內視頻網站插件,插件可以在這里下載http://files.cnblogs.com/ma6174/raspberrypi.zip,不要解壓。安裝方法是這樣的:系統(tǒng)設置中->擴展功能->從ZIP文件安裝,選擇下載的壓縮包安裝即可。xbian支持播放U盤中的文件,支持播放samba共享文件夾下文件,很方便的。以后看電影的時候不用開電腦了,直接用樹莓派,連上顯示器或者投影儀播放就可以。還有,上面提到的國內視頻網站的視頻,大部分都是高清的,很給力,當然你的網速需要給力,哈哈!當然,你也可以通過ssh遠程連接xbian,登錄之后可以進行一些設置,默認xbmc服務是開機自動啟動的,可以用命令開啟和停止,如果出現xbmc死機現象的話,可以用ssh連接,默認用戶名是xbian,密碼是raspberry,用命令:sudo service xbmc restart 來重啟xbmc。還有一點比較重要,因為大部分用戶電腦是VGA接口,但是樹莓派提供HDMI接口,可能有些用戶回去網上買些HDMI轉VGA轉換器,后來有位大神論證,這樣不安全,因為電流達不到,可能會燒壞樹莓派。如果轉換的話最好是用有外接電源的,或者說用高清線。關于聲音問題,如果用高清線的話,聲音可能在高清線輸出,我們可以設置一下,讓聲音從3.5mm音頻接口輸出。這個完全可以當作一個電視機頂盒來用了。除此之外,xbmc還有web控制工具,也有人開發(fā)手機控制工具,這樣就方便多了,我們就可以把自己的手機當作遙控器進行操作。
迅雷離線
下載地址:https://github.com/iambus/xunlei-lixian
詳細內容請往下看:
xunlei-lixian
迅雷離線下載腳本。
安裝指南
安裝git(非github用戶應該只需要執(zhí)行第一步Download and Install Git)
http://help.github.com/set-up-git-redirect
下載代碼(Windows用戶請在git-bash里執(zhí)行)
git clone git://github.com/iambus/xunlei-lixian.git
安裝Python 2.x(請下載最新的2.7版本。3.x版本不支持。)
http://www.python.org/getit/
在命令行里運行
python lixian_cli.py
注:不方便安裝git的用戶可以選擇跳過前兩步,在github網頁上下載最新的源代碼包(選擇"Download as zip"或者"Download as tar.gz"):
https://github.com/iambus/xunlei-lixian/downloads
一些提示
你可以為python lixian_cli.py創(chuàng)建一個別名(比如lx),以減少敲鍵次數。
Linux上可以使用:
ln -s 你的lixian_cli.py路徑 ~/bin/lx
Windows上可以創(chuàng)建一個lx.bat腳本,放在你的PATH中:
@echo offpython 完整的lixian_cli.py路徑 %*
注:下文中提到的lx都是指python lixian_cli.py的別名。
你可以使用lx config保存一些配置。見“命令詳解”一節(jié)。
lx config deletelx config tool asynlx config username your-idlx config password your-password
注:密碼保存的時候會加密(hash)
使用lx download下載的文件會自動驗證hash。其中ed2k和bt會做完整的hash校驗。http下載只做部分校驗(目前為止尚未發(fā)現迅雷離線能提供完整的hash碼)。
注:包含多個文件的bt種子,如果沒有完整下載所有文件,對于已下載的文件,可能有少量片段無法驗證。如果很重視文件的正確性請選擇下載bt種子中的所有文件。(目前還沒有發(fā)現由于軟件問題而導致hash驗證失敗的情況。)
如果覺得大文件的hash速度太慢,可以關掉:
lx download --no-hash ...
也可以使用lx config默認關掉它:
lx config no-hash
lixian_hash.py可以用于手動計算hash。見“其他工具”一節(jié)。
命令詳解
注:下文中提到的lx都是指python lixian_cli.py的別名。
常用命令:
lx login
lx download
lx list
lx add
lx delete
lx pause
lx restart
lx rename
lx config
lx info
lx help
lx login
登錄,獲得一個有效session,默認保存路徑是~/.xunlei.lixian.cookies。一般來說,除非服務器故障或者執(zhí)行了lx logout(或者你手動刪除了cookies文件),否則session的有效期是一天左右。session過期之后需要手動重新執(zhí)行l(wèi)ogin。但如果使用lx config password把密碼保存到配置文件里,則會自動重新登錄。后文會介紹lx config。
lx login接受兩個參數,用戶名和密碼。第二次登錄可以只填密碼。
lx login username passwordlx login password
如果不希望明文顯示密碼,也可以直接運行
lx login
或者使用-代替密碼
lx login username -
上面的命令會進入交互式不回顯的密碼輸入。
可以用--cookies指定保存的session文件路徑。-表示不保存(在login這個例子里,沒什么實際意義)。
lx login username password --cookies some-pathlx login username password --cookies -
注意,除了lx login外,大多數lx命令,比如lx download,都需要先執(zhí)行登錄。這些命令大多支持--username和--password,以及--cookies參數,根據傳遞進來的參數,檢查用戶是否已經登錄,如果尚未登錄則嘗試登錄。一般來說不建議在其他命令里使用這些參數(因為麻煩),除非你不希望保存session信息到硬盤。
lx download
下載。目前支持普通的http下載,ed2k下載,和bt下載??梢允褂胻hunder/flashget/qq旋風的連接(bt任務除外)。在信息足夠的情況下(見“一些提示”一節(jié)的第3條),下載的文件會自動驗證hash,出錯了會重新下載(我個人目前還沒遇到過下載文件損壞的情況)。見“一些提示”一節(jié)的第3條。
lx download idlx download #nlx download http://somewherelx download ed2k://somefilelx download bt://info-hashlx download link1 link2 link3 ...lx download --alllx download keywordslx download date
下載bt的時候需要加--bt參數(或者--torrent參數)。可以指定本地.torrent文件路徑,或者.torrent文件的http url,或者torrent文件的info hash。(很多網站使用info hash來標識一個bt種子文件,這種情況你就不需要下載種子了,lx download可以自動下載種子,不過前提是之前已經有人使用迅雷離線下載過同樣的種子。如后所述,你也可以使用lixian_hash.py --info-hash來手動生成bt種子的info hash。)
lx download --bt Community.S03E01.720p.HDTV.X264-DIMENSION.torrentlx download --bt http://tvu.org.ru/torrent.php?tid=64757lx download --bt 61AAA3C6FBB8B71EBE2F5A2A3481296B51D882F6lx download --bt bt://61AAA3C6FBB8B71EBE2F5A2A3481296B51D882F6
注意,如果你使用最后一種方式,--bt參數是可選的。因為lx download可以從bt://識別出來這是一個bt任務。
可以把多個連接保存到文件里,使用--input參數批量下載:
lx download --input links.txt
注意:在斷點續(xù)傳的情況下,如果文件已經存在,并且文件大小相等,并且使用了--continue,重新下載并不只是簡單的忽略這個文件,而是先做hash校驗,如果校驗通過才忽略。如果文件比較多或者比較大,可能比較耗時。建議手動從--input文件里刪除已經下載過的鏈接。也可以使用--mini-hash參數,如下。
如果指定了--mini-hash參數,對于已經下載過的文件,并且文件大小正確(一般意味著這個文件的正確性已經在前一次下載中驗證過了),會做一個最簡單的校驗。對于尚未下載完成的任務,在完成之后還是會做完整的hash。
如果指定了--no-hash參數,永遠不會做完整的hash。但還是會做文件大小檢驗和取樣hash(很快)。
可以使用--delete參數在下載完成之后刪除任務。
lx download link --delete
如果一個文件已經存在,使用參數--continue支持斷點續(xù)傳,使用--overwrite覆蓋已存在的文件,重新下載。
你可能需要用--tool參數來指定下載工具。默認的下載工具是wget,有些環(huán)境的wget是最低功能版本,不支持指定cookie或者斷點續(xù)傳。這種情況可以使用--tool asyn。這在“支持的下載工具”一節(jié)有說明。
lx download --tool=wget linklx download --tool=asyn link
--output和--output-dir分別用來指定保存文件的路徑和目錄。
如果要下載的文件尚未在離線任務里,會被自動添加。
你也可以使用指定要下載的任務id(lx list命令可以用來查看任務id):
lx download task-id
但是要注意,多任務下載的時候,不能混用id和url(以后可能會支持)。
類似任務id,也可以指定任務的序列號。序列號從0開始??梢允褂胠x list -n查看序列號。如果希望lx list默認顯示序列號,可以使用lx config n。若要下載任務列表中的第一個任務:
lx download #0
要下載前三個任務:
lx download #0-2
注:#也可以省略。因為Shell里#會被當成注釋。所以可以lx download 0或者lx download "#0"。
對于bt任務,如果只想下載部分文件,可以在task id后指定文件id:
lx download bt-task-id/file-id bt-task-id/file-id2
或者:
lx download bt-task-id/[1,3,5-7]
注:上面的命令下載對應bt任務里文件id為1,3,5,6,7的五個文件。
也可以指定bt子文件的擴展名:
lx download bt-task-id/.mkv
或者:
lx download bt-task-id/[.mkv,.mp4]
可以使用--all參數下載所有的任務(如果已經在參數中指定了要下載的鏈接或者任務id,--all參數會被忽略):
lx download --all
也可以使用一個簡單的關鍵字匹配要下載的文件名:
lx download mkv
也可以搜索多個關鍵字(滿足其中一個就算匹配):
lx download mkv mp4
任務的添加日期也可以作為關鍵字:
lx download 2012.04.04lx download 2012.04.04 2012.04.05lx list
列出已存在的離線任務。默認只會列出任務id,任務名,以及狀態(tài)??梢允褂?-original-url和--download-url參數來列出原始鏈接和下載鏈接。--completed參數用于忽略未完成任務。
lx listlx list --completedlx list --no-status --original-url --download-url
如果要列出bt任務的子文件,可以在任務id后面加上/:
lx list id/
詳細參數可以參考lx help list。
lx add
添加任務到迅雷離線服務器上。一般來說你可以直接使用lx download下載而無需手動添加。如果你認為這個任務還沒人下載過,你可以先手動添加,稍后下載。
lx add url1 url2 url3lx add --input links.txtlx add --bt torrent-filelx add --bt torrent-urllx add --bt info-hashlx delete
從迅雷離線服務器上刪除任務。
lx delete id1 id2lx delete ed2k://...lxa> delete mkvlx delete --all mkvlx delete --all mkv mp4lx pause
暫停任務。
lx pause id1 id2lx pause --all mkvlx restart
重新開始任務。
lx restart id1 id2lx restart --all mkvlx rename
重命名任務
lx rename task-id task-namelx logout
不想保留session可以使用lx logout退出。一般用不著。
lx logout lx logout --cookies your-cookies-filelx config
保存配置。配置文件的保存路徑是~/.xunlei.lixian.config。雖然你可以差不多可以保存任何參數,但是目前只有以下幾個參數會真正起作用:
username
password
tool
continue
delete
output-dir
hash
mini-hash
id
n
size
format-size
colors
wget-opts(見稍后的說明)
aria2-opts(見稍后的說明)(見支持的下載工具一節(jié))
axel-opts(見稍后的說明)
(因為只有這幾個參數我覺得是比較有用的。如果你覺得其他的參數有用可以發(fā)信給我或者直接open一個issue。)
不加參數會打印當前保存的所有配置:
lx config
可以使用--print打印指定的配置:
lx config --print password
添加一個新的參數:
lx config username your-usernamelx config password your-passwordlx config deletelx config no-delete
刪除一個參數:
lx config --delete password
注:密碼是hash過的,不是明文保存。 注:如果不希望在命令行參數中明文保存密碼,可以運行l(wèi)x config password,或者lx config password -,會進入交互式不回顯密碼輸入(只支持password配置)。
關于wget-opts/aria2-opts/axel-opts,因為這些工具的命令行參數一般都包含-,所以需要用額外的--轉義。另外多個命令行參數需要用引號合并到一起:
lx config -- aria2-opts "-s10 -x10 -c"lx info
打印cookies文件里保存的迅雷內部id,包括登錄的ID,一個內部使用的ID,以及gdriveid。
關于gdriveid:理論上gdriveid是下載迅雷離線鏈接需要的唯一cookie,你可以用lx list --download-url獲取下載地址,然后用lx info獲取gdriveid,然后手動使用其他工具下載,比如wget "--header=Cookie: gdriveid=your-gdriveid" download-url。
lx help
打印幫助信息。
lx helplx help exampleslx help readmelx help download支持的下載工具
wget:默認下載工具。注意有些Linux發(fā)行版(比如某些運行在路由設備上的mini系統(tǒng))自帶的wget可能無法滿足功能要求??梢試L試使用其他工具。
asyn:內置的下載工具。在命令行中加上--tool asyn可以啟用。注意此工具的下載表現一般,在高速下載或者設備性能不太好的情況(比如運行在低端路由上),CPU使用可能稍高。在我的RT-N16上,以250K/s的速度下載,CPU使用大概在10%~20%。
urllib2:內置下載工具。不支持斷點續(xù)傳錯誤重連,不建議使用。
curl:尚未測試。
aria2:測試通過。注意某些環(huán)境里的aria2c需要加上額外的參數才能運行??梢允褂胠x config進行配置:lx config -- aria2-opts --event-poll=select
axel: 測試通過。注意官方版本的axel有一個URL重定向長度超過255被截斷的bug,需要手動修改源代碼編譯。見issue #44.
其他工具,比如ProZilla,暫時都不支持。有需要請可以我,或者直接提交一個issue。
其他工具
lixian_hash.py可以用于手動計算hash。
python lixian_hash.py --ed2k filenamepython lixian_hash.py --info-hash torrent-filepython lixian_hash.py --verify-sha1 filename sha1python lixian_hash.py --verify-bt filename torrent-file
lixian_batch.py是我自己用的一個簡單的“多任務”下載腳本。其實就是多個--input文件,每個文件里定義的鏈接下載到文件所在的目錄里。
python lixian_batch.py folder1/links.txt folder2/links.txt .
|