ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 55982|回复: 2
上一主题 下一主题
[XBMC]

基于LINUX的XBMC 离线下载建立于树莓派 功耗3.5W

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-9 15:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhangming 于 2014-1-13 16:31 编辑


什么是树莓派(Raspberry Pi)树莓派就是一个只有信用卡大小的微型电脑,ARM 的 CPU,512M内存,可以安装命令行或简配的图形的(ARM版)Linux 或 Android,计算能力相当于普通Android手机(但比PC慢很多),播放1080p高清视频没问题(因为有硬件加速)。表面上看就是一块集成电路板,但具有电脑的所有功能,而且很小很便宜。

基于LINUX的XBMC 离线下载建立于树莓派 功耗3.5W
基于LINUX的XBMC 离线下载建立于树莓派 功耗3.5W
功能
你能想到的,有些很离谱,但是常用的就是XBMC、迅雷下载、BT下载,远程监控,共享服务器,web服务器等,为什么要用这个?因为它只有3.5W的功率,和鼠标一样大的身材,价格不会超过300软妹币。
安装



你还需要以下这些东西:
一张SD记忆卡
一个SD读卡器,用于将系统映像写入到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中我们将会用系统自带的dd工具写入,而在Windows中我们将会使用一个叫Win32DiskImager的工具进行。

为了让过程便得简单,我们建议你在开始操作前,先把下载文件夹清空。然后,从这里下载Raspbian.zip。在里面,选择最新的Raspbian来下载。当然你也可以选择使用BT来下载,为了能让其他人继续用BT下载,我们建议你在下载完成后继续上传。
把压缩文件解压以后,你将得到Raspbian的映像文件,这个时候打开终端窗口。如果你使用的是OS X 10.7或更高版本,你可以从应用程序中的工具(10.7)或者其他(10.8)中找到终端窗口。打开后,使用”cd ~/Downloads”来进入下载文件夹。
如果你在开始前清空了你的下载文件夹,那么现在里面应该有两个文件,输入”ls”来确认是否分别有一个img后缀与一个zip后缀的文件,如下图:
接下来就要开始将解压出来的映像文件写到SD卡中了,很可惜这个操作并不是直接把文件拷到卡中那么简单。首先,我们在把SD卡插到你的Mac之前,要把你电脑分区状态先搞清楚。如果你已经迫不及待把卡插了进去,那么先把它安全移除吧。
在终端窗口中输入”df –h”,你应该会看到类似这样的结果
现在,插入你的SD卡,再运行一次刚才的命令,你会发现多了一个”/dev/disk1s1”的设备。把它先记下来,等一会儿把它转换成原始设备名称时会用到的。
接下来,你需要先从系统中把卡卸载掉,以便”dd”这个工具可以将映像写入到SD卡中。在终端窗口输入”sudo diskutil unmount /dev/disk1s1”,然后输入你的系统密码。
如果操作成功的话,你会看到最后那一行字:”Volume XXX unmounted”中的XXX是你SD卡的名称。现在我们就可以往卡上写入映像了。
记得刚才让你记下来的设备名么?现在就是用到它的时候了。将你的设备名(例如/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
无论你使用的是哪一个发行版的Linux,”dd”这个工具通常都是默认安装的。对于接下来的操作,我们假设:
1) 你的sudo程序已经设置妥当,而且你知道如何使用它
2) 你的Linux中已安装fdisk工具(大多数发行版都默认安装)
在这里我们使用的是最为流行的Linux发行版Ubuntu,其中”dd”, “fdisk”已默认安装,并且”sudo”也已预先为用户配置好了。
首先,从这里下载Raspbian的最新版本压缩包。同样,你也可以选择使用BT下载。在你下载完成以后,第一个操作自然就是解压。
打开一个终端窗口,然后使用”cd ~”命令将工作目录变更到你的主目录中。输入”unzip imagename.zip”,将imagename替换为刚才你下载文件的名字。
如果你找不到刚才下载的压缩包,你可以尝试使用”cd ~/Downloads/”进入下载目录寻找。
接下来,我们要确定你的SD卡在系统中的设备名称。插入你的SD卡,然后在终端中输入”sudo fdisk –l”。
注意看列出来的设备:你运行命令后得出的结果跟上面显示的应该很相似
这里看到,/dev/sda是一个大小250.1GB的设备,而/dev/sdb是一个15.9GB的设备。很明显,/dev/sdb就是我们的SD卡。留意一下/dev/sdb下面显示的分区:/dev/sdb1与/dev/sdb2,我们要在写入映像之前将这两个分区先从系统中卸载掉:
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”部分继续阅读。

如果你正在使用Windows
如果你正在使用的是Windows系统,有一个叫做Win32DiskImager的小工具可以帮你完成这项工作。把它下载下来以后,再把Raspbian的映像从这里下载下来。记得选择最新版本的Raspbian。
当你把Win32DiskImager和Raspbian映像文件都下载下来以后,把他们都解压出来。你可以把所有文件都解压到桌面的一个文件夹中,方便接下来的操作。
将你的SD卡插入到你的读卡器中,留意一下读卡器在电脑中的盘符。将读卡器接到电脑以后,打开刚解压出来的Win32DiskImager程序:
在启动时,Win32DiskImager可能会提示以下错误:(至少在Windows 7中是这样的)
这个错误可以忽略掉,点OK继续
点击右边的蓝色文件夹图标,然后选中刚才解压出来的Raspbian映像文件。确保最右边Device中的盘符为你读卡器的盘符。
打开映像文件以后,点Write,然后点一下Yes确定操作。整个写入过程需要一些时间来完成。
写入完毕以后,你会看到下面的信息,这时你就可以把你的SD卡安全移除了。
初次启动你的Pi
初次启动Raspberry Pi时,你会看到一个叫做raspi-config的配置工具。如果在日后使用过程中你需要更改这些设置,你可以通过在Pi的命令行中运行raspi-config来使用这个工具。在这里,你需要进行一些最基本的设置来继续使用你的Pi。
首先,我们要选择expand_rootfs。它的作用是将刚才写入到SD卡中的映像文件大小扩展到整张SD卡中。如果你使用的是一张较大的SD卡(例如16GB),那么你肯定像充分利用上面的空间。因为原本的映像只有大约2GB的大小,进行该操作就能将它扩展到与你的SD卡同样的大小。
选中expand_rootfs选项,然后按下回车。你会看到如下提示,只需要再按一下回车就可以回到raspi-config的主菜单中。
接下来就是overscan选项。你会发现,屏幕显示的图像并没有完全占用你的显示器空间;所以,最后就是将overscan禁用掉,来让系统充分利用整个屏幕。但如果你的屏幕显示没有问题,那么你就可以跳过这个步骤。假设你需要禁用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用户密码。
到这里就差不多完成了。接下来设置你的“区域”,这个主要会决定系统使用的字符集和语言。同样,如果你不想使用英国英语,那么你可以在这里更改这些设置。在演示中我们选择的是美国英语,因此我们选择en_US.UTF-8,并下翻列表将en_GB选项剔除
再下一个对话框中会让你选择默认的区域,选择你刚才选的区域然后按回车继续。
回到raspi-config的主菜单,设置适当的时区。选中change_timezone选项然后按下回车。你会先看到一个地区列表。
选择一个地区,然后下一个菜单中会显示该区域的具体位置。
再次回到主菜单,剩下还没选过的选项我们可以忽略,直接点击完成(Finish)。系统会提示你,一些变更需要重启才能生效。重启以后,你会看到一个登录界面,如下:
在这里,用户名为”pi”,密码就是你刚才设置的UNIX用户密码。
使用你的Raspberry Pi
现在,你已经登录到了你之前设置的Raspberry Pi中了。你要做的第一件事,就是在命令行中输入”startx”来进入图形界面,以下我们会把这个界面称之为“窗口管理器”。
屏幕快速闪烁几次后,你应该会看到如下画面:(除了那个终端窗口以外)
欢迎使用LXDE窗口管理器。LXDE是一个非常轻量级,并且功能齐全的图形界面,它能够很好地运行在Raspberry Pi中。如果你从来未使用过LXDE,别担心,它用起来跟Windows非常相似。点击最左下角的图标,你会看到一个应用程序列表。

主要配置方法
网络配置
插入网线并启动机器,默认是 DHCP 分配的 IP,ifconfig 或者在路由器上查一下主机名是 raspberrypi 就能知道 IP 。不过为了以后远程连接方便,还是配置为静态 IP 比较好。可以在路由器上利用 mac 地址配置静态 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表示第一个分区。


FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。
sudo apt-get install exfat-fuse


如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0


挂载U盘的更多细节请参考 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]”节中,把 “read only = yes” 改为 “read only = no” 。


改好后重启 samba 服务:
sudo /etc/init.d/samba restart


把系统默认用户 pi 添加到 samba :
sudo smbpasswd -a pi
现在就可以从其它机器上访问 pi 这个用户的 home 目录了。




还可以配置一个公共文件区,任何用户都可以访问:
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)然后创建下载目录,一个是下载完成的目录,一个是未完成的目录,具体目录根据你的情况决定:
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,注意以下两个命令按顺序执行,单独 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 默认监听 51413 端口,最好在路由器上做个端口转发,把这个端口转到它的 IP 地址。


电驴可以用 mldonkey 支持。


安装远程桌面
Windows 系统的远程桌面大家都用过,并且 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系统就是xbmc和debian的结合体。xbmc是什么?xbmc是一个媒体中心,可以看电影,可以听歌,可以看图片,可以看天气。界面做得非常炫,支持键盘鼠标操作,有大神扩充功能,用家里的遥控器就能进行操作,完全可以做一个家庭媒体中心。里面有好多扩展插件,可以增加国内几大视频网站,比如优酷土豆,奇艺,迅雷看看,腾讯视频,还有好多,记不清了。当然感兴趣的话可以在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,不要解压。安装方法是这样的:系统设置中->扩展功能->从ZIP文件安装,选择下载的压缩包安装即可。xbian支持播放U盘中的文件,支持播放samba共享文件夹下文件,很方便的。以后看电影的时候不用开电脑了,直接用树莓派,连上显示器或者投影仪播放就可以。还有,上面提到的国内视频网站的视频,大部分都是高清的,很给力,当然你的网速需要给力,哈哈!当然,你也可以通过ssh远程连接xbian,登录之后可以进行一些设置,默认xbmc服务是开机自动启动的,可以用命令开启和停止,如果出现xbmc死机现象的话,可以用ssh连接,默认用户名是xbian,密码是raspberry,用命令:sudo service xbmc restart 来重启xbmc。还有一点比较重要,因为大部分用户电脑是VGA接口,但是树莓派提供HDMI接口,可能有些用户回去网上买些HDMI转VGA转换器,后来有位大神论证,这样不安全,因为电流达不到,可能会烧坏树莓派。如果转换的话最好是用有外接电源的,或者说用高清线。关于声音问题,如果用高清线的话,声音可能在高清线输出,我们可以设置一下,让声音从3.5mm音频接口输出。这个完全可以当作一个电视机顶盒来用了。除此之外,xbmc还有web控制工具,也有人开发手机控制工具,这样就方便多了,我们就可以把自己的手机当作遥控器进行操作。

迅雷离线
下载地址:https://github.com/iambus/xunlei-lixian
详细内容请往下看:
xunlei-lixian
迅雷离线下载脚本。
安装指南
安装git(非github用户应该只需要执行第一步Download and Install Git)
http://help.github.com/set-up-git-redirect
下载代码(Windows用户请在git-bash里执行)
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创建一个别名(比如lx),以减少敲键次数。
Linux上可以使用:
ln -s 你的lixian_cli.py路径 ~/bin/lx
Windows上可以创建一个lx.bat脚本,放在你的PATH中:
@echo offpython 完整的lixian_cli.py路径 %*
注:下文中提到的lx都是指python lixian_cli.py的别名。
你可以使用lx config保存一些配置。见“命令详解”一节。
lx config deletelx config tool asynlx config username your-idlx config password your-password
注:密码保存的时候会加密(hash)
使用lx download下载的文件会自动验证hash。其中ed2k和bt会做完整的hash校验。http下载只做部分校验(目前为止尚未发现迅雷离线能提供完整的hash码)。
注:包含多个文件的bt种子,如果没有完整下载所有文件,对于已下载的文件,可能有少量片段无法验证。如果很重视文件的正确性请选择下载bt种子中的所有文件。(目前还没有发现由于软件问题而导致hash验证失败的情况。)
如果觉得大文件的hash速度太慢,可以关掉:
lx download --no-hash ...
也可以使用lx config默认关掉它:
lx config no-hash
lixian_hash.py可以用于手动计算hash。见“其他工具”一节。

命令详解
注:下文中提到的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。一般来说,除非服务器故障或者执行了lx logout(或者你手动删除了cookies文件),否则session的有效期是一天左右。session过期之后需要手动重新执行login。但如果使用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,都需要先执行登录。这些命令大多支持--username和--password,以及--cookies参数,根据传递进来的参数,检查用户是否已经登录,如果尚未登录则尝试登录。一般来说不建议在其他命令里使用这些参数(因为麻烦),除非你不希望保存session信息到硬盘。
lx download
下载。目前支持普通的http下载,ed2k下载,和bt下载。可以使用thunder/flashget/qq旋风的连接(bt任务除外)。在信息足够的情况下(见“一些提示”一节的第3条),下载的文件会自动验证hash,出错了会重新下载(我个人目前还没遇到过下载文件损坏的情况)。见“一些提示”一节的第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
注意:在断点续传的情况下,如果文件已经存在,并且文件大小相等,并且使用了--continue,重新下载并不只是简单的忽略这个文件,而是先做hash校验,如果校验通过才忽略。如果文件比较多或者比较大,可能比较耗时。建议手动从--input文件里删除已经下载过的链接。也可以使用--mini-hash参数,如下。
如果指定了--mini-hash参数,对于已经下载过的文件,并且文件大小正确(一般意味着这个文件的正确性已经在前一次下载中验证过了),会做一个最简单的校验。对于尚未下载完成的任务,在完成之后还是会做完整的hash。
如果指定了--no-hash参数,永远不会做完整的hash。但还是会做文件大小检验和取样hash(很快)。
可以使用--delete参数在下载完成之后删除任务。
lx download link --delete
如果一个文件已经存在,使用参数--continue支持断点续传,使用--overwrite覆盖已存在的文件,重新下载。
你可能需要用--tool参数来指定下载工具。默认的下载工具是wget,有些环境的wget是最低功能版本,不支持指定cookie或者断点续传。这种情况可以使用--tool asyn。这在“支持的下载工具”一节有说明。
lx download --tool=wget linklx download --tool=asyn link
--output和--output-dir分别用来指定保存文件的路径和目录。
如果要下载的文件尚未在离线任务里,会被自动添加。
你也可以使用指定要下载的任务id(lx list命令可以用来查看任务id):
lx download task-id
但是要注意,多任务下载的时候,不能混用id和url(以后可能会支持)。
类似任务id,也可以指定任务的序列号。序列号从0开始。可以使用lx 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,任务名,以及状态。可以使用--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(见稍后的说明)(见支持的下载工具一节)
axel-opts(见稍后的说明)
(因为只有这几个参数我觉得是比较有用的。如果你觉得其他的参数有用可以发信给我或者直接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过的,不是明文保存。 注:如果不希望在命令行参数中明文保存密码,可以运行lx 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发行版(比如某些运行在路由设备上的mini系统)自带的wget可能无法满足功能要求。可以尝试使用其他工具。
asyn:内置的下载工具。在命令行中加上--tool asyn可以启用。注意此工具的下载表现一般,在高速下载或者设备性能不太好的情况(比如运行在低端路由上),CPU使用可能稍高。在我的RT-N16上,以250K/s的速度下载,CPU使用大概在10%~20%。
urllib2:内置下载工具。不支持断点续传错误重连,不建议使用。
curl:尚未测试。
aria2:测试通过。注意某些环境里的aria2c需要加上额外的参数才能运行。可以使用lx 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 .





上一篇:有大神指导下3D入门播放机么?
下一篇:★★★网络机顶盒购买,付款前必须问的十个问题★★★
沙发
发表于 2014-1-9 15:33 | 只看该作者
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

板凳
发表于 2014-1-21 22:09 | 只看该作者
kkkkkk
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2024-4-24 21:03 , Processed in 0.094388 second(s), 14 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2024 ZNDS.Com

快速回复 返回顶部 返回列表