前一段时间考虑如果实现一个家庭存储的解决方案,NAS是一个解决思路,不过价格略贵,即便是双11活动的时候,最便宜的也得接近1000块,这还不算硬盘的价格。后来参考了一篇用路由器(OpenWrt系统)和移动硬盘来实现家庭存储的文章,决定试下用路由器+移动硬盘的方案。 OpenWrt是一个基于linux的嵌入式操作系统,你可以通过opkg来定制安装软件包,来获取你所需要的服务, 如aria2下载服务,DDNS服务,SMB共享文件服务等。它对路由器的硬件有一定的要求,所以首先得选择下合适的路由器。最后的软硬件选择为:
- 水星mw4530r 320
- 希捷1T移动硬盘 440
- 迅雷白金会员 90
路由是直接从taobao上买了刷好的系统,主要是为了超频和升级16M内存,后来才意识到软件其实可以安装在移动硬盘上,多花了70比较失败。水星的这款是支持2.4G和5.G双频的,实际使用没觉得有什么太大的区别。大概配置了如下的这些服务:
- ftp 服务, 用来从路由器外接的移动硬盘下载电影
- samba 文件共享服务, 用来在不用的电脑/系统间进行文件共享,直接选择共享文件去播放电影,偶尔有卡顿,还是下载到本机比较好
- aria2 下载服务,用来在路由器上下载文件,同时可以用迅雷离线进行远程下载
- ddns服务,动态路由,可以把路由绑定到域名上,这样就能在任何地方访问到我的路由器
大部分的服务比较容易配置,直接在Luci的web界面就可以配置了,还可以配置mDLNA的服务,这个只能等到去新房的电视机上测试了。这里只说几个稍微tricky点的设置。 动态路由:
- 申请花生壳动态域名, 如
myname.oicp.net
- 在DDNS配置页面中绑定你申请的动态域名
ssh root@192.168.1.1
, 修改/etc/config/uhttpd
将option rfc1918_filter 1
修改为option rfc1918_filter 0
,允许openwrt 接受external的请求.- 重启DDNS服务,
/etc/init.d/ddns restart
离线下载:
- 申请离线下载,双十一的时候有活动,迅雷白金会员半价, 90块。还是比较超值的,离线空间大概有300多T,支持多种协议,如BT、磁力链接、ed2k等,基本上高清电影随便往进去扔。
- 在chrome下安装 迅雷离线助手 这个插件,可以帮助你直接导出aria2/aria2-rpc/wget/IDM/Orbit/YAAW下载。
- 安装完成后,登陆迅雷离线, 打开右上角设置,修改Aria2 json path 为
http://myname.oicp.net:6800/jsonrpc
- 点击任意一个资源下拉框,选择 yyaw导出,之后访问
http://myname.oicp.net/aria2
,就可以看到正在下载的任务了。
国内云存储的选择很多,微云,115,百度云,华为网盘,迅雷离线空间等,存储空间都是以T为单位,大部分是不用付费的,每个云存储都有相应的客户端做同步。迅雷的价格最贵,但是它有几点好处:
- 离线空间更大,300T+,按照单部高清电影50G来计算,可以放6000部电影了,这辈子估计也看不完
- 资源丰富,很多时候,你可以发现,下载任务刚添加,就完成了,可以推测服务器上早就有这个资源了,凭借md5校验码来验证资源是否,存在的话,直接做个链接就可以了
- 迅雷做了很好的CDN,所以不管你的网络运营商是什么,电信、联通还是铁通,都可以做到峰值下载
- 迅雷云播,可以直接在电脑或者手机客户端上播放离线空间资源,还能自动匹配字幕
国家的版权控制越来越严格,可以想见的将来,资源的获取会更加困难,首先是音乐,因为目前音乐作品在网络上缺乏一个很好的渠道和商业模式去盈利,因此发行商或者利益相关者会盯的更紧些。电影则不然,清晰版的影片一般会在下映后或者更长时间才会出现,盈利不会受到很大影响。后来思考一番,多下载点影片和无损音乐在云端,路由接的移动硬盘除了放部分电影之类的话,也可以作为文档或者家里的视频照片等的存储空间。你可以使用samba或者ftp去上传文件,就是每次人工干预会略不爽,可以使用rsync做文件的同步,然后用crontab建个定时自动运行的任务就可以了。 大概的步骤是如下这样:
- 把你的public key 扔到openwrt系统上,openwrt使用的是一个比较轻量的ssl服务,叫做dropbear,所以ssh key放置的目录也不太一样。你可以直接run这条命令:
cat ~/.ssh/id_rsa.pub | ssh root@192.168.1.1 "cat >> /etc/dropbear/authorized_keys”
. 这样你ssh到openwrt的时候就不需要再输入密码. - 安装rsync,
opkg install rsync
. - 在pc端新建cron job,假设我希望每天晚上11点半同步所有dropbox里面的文件, 运行
crontab -e
,添加”30 23 * * * rsync -r ~/Dropbox/ root@192.168.1.1:/mnt/sda1/Dropbox/“
, 保存即可
自己去搭建这么一套简单的家庭存储的解决方案的好处很多:
- 省钱,一场电影要30块,两个人一年看10次电影就差不多了。路由器的功耗很低,每小时只有几瓦,如果你开着一台PC去下载,一小时至少400w左右的功耗,从这个角度也节省了钱。
- 最大化利用带宽,压榨宽带资源。一个月的宽带费用要一两百,所以一定要做到物尽其用,在家人都上班的时候添加好任务,回家之后就可以观看电影,不会影响到家人去使用网络。
- 私人服务器。由于电信运营商对上行带宽的限制,从外部访问路由上的ftp下载服务比较慢,但是下载一些文档照片是足够了,上传的速度很快,所以如果你在旅游的时候拍的照片啊什么的,可以上传到服务器上,家人就可以在电视上看了。
- 可玩性高。可以在openwrt上安装使用的服务远不止此,比如使用摄像头进行监控服务,只要有无线摄像头连接上,可以随时监控家里的情况。13号baidu就要退出一款无线摄像头,价格只有99,非常之便宜。还有类似流媒体服务,在家庭多个位置放置无线音箱,在手机或者电视,pc上控制播放,很有趣。
当然,相比NAS,还是有些不足,比如:
- 单个USB移动硬盘无法做数据的备份,比如raid,如果硬盘出问题,数据可能丢失。
- 意外断电可能导致的设备损坏。
几年前我在TCL教育做实习的时候,他们已经开始做基于android的智能电视了,在互联网企业杀入这个市场后,家庭智能化趋势已经不可阻挡了,物联网真正的实现也近在眼前。其中智能电视,路由器和游戏机是几个比较关键的要素,国内的几家公司,比如小米,马上要推出的小米路由或者果壳等,比较值得关注。随着宽带计划提升到国家战略层面,访问敏感网站逐渐松绑,互联网带来的自由革命也即将到来。