用O2 joggler做个下载机玩

发布时间:2011-09-14 13:44:32 | 文章编号:#5724

最近用电骡下动漫下的很多,经常晚上睡觉挂下载……然后电脑会好几天没关,感觉有点太费电了……然后就想起了下载机这种东西,初步我是打算用我家的老电脑搞,那是一台PIII 1G 512SD RAM的超级古董……然而一想:即使这样搞出来了下载机,功耗也是一个大问题……所以我的目标终于落在了最近不怎么用的O2 Joggler上了……

初步规划

既然要搞,那就要有个初步规划,O2 Jogger是一个PC架构的电子相册,具体的配置可以网络搜索,但是它有个弱点,没有足够大的存储空间,并且只有一个USB接口,这就面临着多种问题。

后来经过思考,决定采用USB Hub和外接供电的方式,用外接320GB USB硬盘进行下载存储。

系统的选择必然是Linux,但是Linux也有好几种,首先是内置默认的OpenPeak,还有外接U盘的UbuntuLinux Mint,以及内置的Debian系统等,最好的方案自然是内置Debian,但是这种方案过于复杂……最后还是抛弃,初步选择为U盘外置Ubuntu,毕竟Ubuntu算是我个人比较熟悉的操作系统。

所需配件

下面说说所需的配件,首先是O2 Joggler一台,这玩意售价也就300多了吧,

然后是大容量U盘一个,推荐8G的,速度要有保证,我的是SanDisk的,以及USB Hub一个,如果你买带电源版本的话,要慎重选择,我也买了一个带电源的Hub,可惜大硬盘还是带不起来。

USB电源线一个,这是我最终驱动大容量硬盘的解决方案

USB键鼠,配置系统还是得要键鼠(从家里翻出来的键盘,N久没用了……都落灰了)

最后就是USB移动硬盘了

系统安装

下载官方的Ubuntu Jogger 11.04其实很简单,然后将解压缩的img文件利用专业工具写入你的U盘,Windows下可以使用Win32DiskImager,Linux下可以用DD命令,也可以使用辅助工具ImageWriter。

写入的时间可能会很长,在Linux下不会显示出进度,所以看着硬盘灯耐心等待就好了。

系统写入完毕后,用你的USB Hub接好键鼠,启动系统,改造开始了。

系统改良

默认的Ubuntu系统很臃肿,老外做的镜像,开启了Compiz加速,开启了各种服务,作为下载机要进行一些调整才可以,首先就是需要对系统进行一次升级。打开终端输入命令
sudo apt-get update&upgrade
一般来说需要下载不少东西,当前你还得有一个网络连接,我觉得这应该不是什么问题。

接着可以删除一些用不上的东西,比如Libreoffice之类的,卸载方式很简单,依然用命令,把需要的卸载掉就可以。

sudo apt-get remove libreoffice*

推荐使用Ubuntu Tweak进行一些基本设置,因为后面还会用到它。

创建一个新的用户,删除Joggler默认用户

在登陆设置里选择自动登陆,一个下载机每次都要输入密码太蛋疼了。

注销一次登陆,选择No Effects登陆模式,我们都知道Compiz这玩意对于下载机毫无用处。窗口设置中可以选择simple,放弃那些臃肿的主题,到不是说影响速度,主要还是美化太多,占屏幕。

为了节省屏幕可以参考我以前的安装经验,把菜单栏置顶。

整体下来就是这个样子。

Q:你不汉化系统么? A:一般英文看得懂,而且这玩意汉化意义也不大,当然你如果真的想要汉化的话……在"语言支持"里进行设置就好

电骡下载方案:aMule DLP

如果说仅仅是使用aMule,那最简单不过了,搜索下载就行了,一行命令:
sudo apt-get install amule
但是在天朝这特殊的环境,我们用电骡还是很有必要使用DLP版本的。所谓DLP版本就是反吸血,让你的下载不至于全程都在对别人无私奉献。

aMule-DLP的最新版本为2.3 RC1,但是这个版本并不支持WebServer控制,也不支持远程连接,或许说不能叫不支持,因为aMule-GUI远程连接需要版本相同,很麻烦。所以说如果想要远程操控的话,安装aMule-DLP 2.2.6会很方便。

安装方式可以使用Ubuntu Tweak,在"软件源管理器"中,解锁并勾选aMule-DLP的PPA,或者你也可以像我一样用命令行添加PPA……

更新完毕软件源以后就可以安装aMule-DLP了:

sudo apt-get install amule-dlp*

编译安装aMule-DLP 2.3 RC1

虽然2.2.6的安装很方便,但是它并没有采用最新的反吸血模块,如果你很在意这一点,并且对远程控制没啥要求,那么不妨来自己动手编译aMule-DLP 2.3 RC1,它在反吸血和性能上的表现更出色。

首先还是准备好终端吧!

- 首先建立一个文件夹

mkdir amuledlp cd amuledlp
- 然后安装软件分布工具
sudo apt-get install mercurial
- 取出最新代码
hg clone https://amule-dlp.googlecode.com/hg/ amule-dlp
- 进入版本目录
cd amule-dlp
- 从版本库中检出 develop 分支。
hg update develop
- 安装编译工具
sudo apt-get install g++ binutils-dev libcrypto++-dev libgtk2.0-dev libgd2-xpm-dev libgeoip-dev libupnp3-dev zlib1g-dev libwxbase2.8-dev libwxgtk2.8-dev bison
- 编译开始
./configure --prefix=/usr/local --enable-debug --disable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --enable-amulecmd --disable-webserver --enable-alcc --enable-alc --enable-cas --enable-wxcas --enable-mmap

make

sudo make install

- 编译安装反吸血模块
hg clone https://antileech.amule-dlp.googlecode.com/hg amule-dlp-antileech

sudo apt-get install autoconf libtool

cd amule-dlp-antileech

./autogen.sh

./configure

make

sudo make install

- 完成了,你就可以启动aMule 2.3 RC1了
Q:为什么编译的时候你的参数是" --disable-webserver" A:在2.3 RC1的DLP版本内,这玩意是不可用的……

Q:为什么我编译了之后用另一台电脑的GUI客户端不能连接 A:你另一台电脑的GUI也需要是2.3 RC1,这就是麻烦的地方,也是我推荐使用2.2.6的原因之一

画外音:Atom的CPU性能真是烂啊,我编译了1个钟头还多啊

BT下载:Transmission

Transmission真的没啥可说的,设置简单,最后打开web客户端就行了……

web客户端里面可以说是应有尽有,远程上传种子下载实在是再简单不过了。

FTP/HTTP下载:wget/远程控制

控制这两方面的下载也不需要什么高端玩意,wget就行了,当然你首先要在下载机上开ssh。
sudo apt-get install ssh
然后ssh [你的下载机IP] 输入用户密码登陆后直接wget下载就行了,哦对了,要善用特殊命令,否则关机就没了可就杯具了。

不过如果你遇到了115这种没法wget的东西,不妨开启远程控制,来使用远程控制打开网页下载:

数据提取:smba / vsftpd

安装命令依然使用apt-get
sudo apt-get install smb sudo apt-get install vsftpd
smba的设置非常复杂……而且存在着各种各样的问题,网上也有不少教程,我现在设置完毕后也仅仅可以在某些情况下正常访问……大多数都是"无法连接",最后这个方案被暂时搁置,回头搞定了再来尝试。

vsftpd是FTP的备用解决方案,安装完毕后就可以使用,比如我的下载机IP是192.168.1.104,那就用FTP软件访问ftp://192.168.1.104即可

不过这样的话只能用来下载……上传和修改是没戏的,你需要修改一下/etc/vsftpd.conf

sudo vi /etc/vsftpd.conf
在Allow user upload选项中设置为on,然后重启vsftpd服务再用FTP连接即可。

硬盘与启动

正如你看到的,我的下载机使用移动硬盘和U盘系统,其实最精简的方案是把系统写入到移动硬盘的一个小分区内,不过我实在是不想对移动硬盘动手脚,于是就是现在这样了,不过每次启动都要先拔掉硬盘,等到启动完全后再插上,关机反之。

aMule的问题

aMule这个玩意在下载文件众多的时候,会出现崩溃现象,就是突然就自动关闭了,这对于下载机来说是不能忍受的,不过我们可以另辟蹊径启动aMule,也就是说在命令行中运行amuled来启动命令行的下载机。在那之前我们需要先设置一下远程连接:

然后运行命令即可,如果你能确保硬盘在开机的时候挂载,那么把这个命令加入开机自动启动也是可以的。

命令行启动的下载机如果要管理的话,可以使用amule gui,输入远程连接的IP端口和密码就行了。

还有一点值得注意的就是aMule的下载目录,默认的目录是隐藏文件夹,我们需要重新设置,然而并不是冒失的设置为移动硬盘的文件夹就行了,我个人建议是先做一些文件夹链接到Home目录,然后再设置下载目录为链接,这样避免一些因为移动硬盘没有连接好而造成的麻烦。同时我也建议修改一下自己的ED2K Nickname,比如加个[CHS]啥的,有些服务器会根据名字来判断是否给于HighID。

aMule的文件远程添加

BT只需要一个种子,http也只有一个地址,而ED2K则非常特殊。有时候下载动漫,直接一下12话……没有人有兴趣一条一条的逐一复制粘贴,我们能不能在电脑这边点点鼠标,直接把大量的下载任务就添加到下载机呢?答案是肯定的。

同时使用下载机的朋友也注意到这个问题,那就是复制出来的地址经常放入下载机都是乱码……那么就让我们一同解决掉。

首先是需要准备Firefox的ED2K链接支持,这个问题我们在早些时候的一篇文章内提及过。方法依然如下:

首先是在Firefox地址栏里输入about:config进行配置,添加network.protocol- handler.app.ed2k,类型为字符串,值为/usr/bin/ed2k,network.protocol- handler.expose.ed2k,类型为布尔,值为false,network.protocol- handler.external.ed2k,类型为布尔,值为true。

然后编辑 ~/.mozilla/firefox/mimeTypes.rdf文件

仿照以下的格式,增加一个ed2k的值,简单说你就是把Mailto全部换成ed2k就行了。

<RDF:Description RDF:about=”urn:scheme:mailto”

NC:value=”mailto”>

<NC:handlerProp RDF:resource=”urn:scheme:handler:mailto”/>

</RDF:Description>

然后新建立一个脚本:
#!/bin/bash lnk=$1 let idx=`expr index $lnk "%"` if [ $idx -gt 0 ]; then lnk=`printf ${lnk//\%/\\\\x}` fi /usr/bin/amulecmd -h 下载机 -P 密码 -c "Add $lnk"
下载机请提换成IP,密码替换成密码

保存为/usr/bin/addmuleremote,并且使用chmod +x允许运行。这个脚本的作用是顺便把firefox向ed2k传输链接造成的乱码问题一并解决了。然后在firefox的”应用程序”一栏中将ed2k的执行命令改为/usr/bin/addmuleremote,这样firefox和amule之间的协同工作问题就圆满了。

总结

下载机经过了大约4天的运行,目前基本良好,速度也有一定保证,当然前提是需要你设置好路由器的upnp,如果说美中不足的话就是Ubuntu还不够足够精简,同时每次开关机有点麻烦,另外似乎关机也不是那么稳定,总是会在关机的时候挂掉,或许在将来我彻底下决心的时候我会把joggler拆开增加USB口,同时把Linux系统写入内部空间,这样应该就会稳定太多了。

关于散热,我是没有对O2 Joggler进行任何散热防护措施的,我个人认为Joggler的热量问题80%来自屏幕,作为下载机的话,屏幕肯定是关着的,所以实际上散热并不是太大的问题。

今天测试了一下xmbc配合Mplayer的硬件加速播放,感觉720P似乎没有什么问题,将来应该会写一个关于xmbc的内容吧。

相关评论 (6)

🗣️ yetone 2011-09-18 12:41:39

十分之不错,我也想买一个joggler了

🗣️ plum 2011-09-18 17:27:33

有闲钱的话可以买来玩玩,现在已经可以上XP了

🗣️ zjqzzcx 2011-10-02 20:23:23

请问在ubuntu11.04下是怎么关闭屏幕的呢?

🗣️ plum 2011-10-03 17:10:58

使用命令可以实现,不过我嫌麻烦,最后是直接在电源里设置的1分钟闲置就关闭屏幕,挺好

🗣️ theflash 2011-10-03 21:45:10

实际上…… 用qq旋风和渣雷的离线下载就挺好……

🗣️ zjqzzcx 2011-10-19 21:15:49

是的啊!但是屏幕背光还是亮着的啊~~~还有~有什么办法把着机器做成打印服务器么?