百度云盘虽然好, 但是保不齐哪天东西就被删除了. 所以打算搭一个自己的离线下载工具
虽然有Windows电脑可以一直开着, 用百度云客户端来实现推送. 但是如果想在Raspberry Pi或OpenWRT等小设备上跑的话, 还是需要用Linux.
1 Aria2 安装
在Linux下可以装aria2跑成daemon方式, 监听jsonrpc
顺便提一句, aria2也是可以独立运行的, 特别值得使用-i
参数, 可以从一个URL列表里批量下载.
1.1 安装 webui-aria2
由于默认的aria2是不带GUI的, 所以需要一个WEB UI.
然后访问这台机器的7777端口就可以了, 注意需要设置一下aria2的地址.
如果需要临时使用的话, 可以直接访问http://ziahamza.github.io/webui-aria2/, 配置数据是存在本地浏览器的, 不需要注册.
1.1.1 或者 YAAW (不推荐,但有Chrome插件)
另外, 可以使用http://aria2c.com/, 反正数据是存在浏览器上的, 可以应急用一用.
1.2 OpenWrt 上挂载 NAS 提供服务
参考http://wiki.openwrt.org/doc/howto/cifs.client
然后可以这样挂载Samba
1.3 jsonrpc 密码验证
使用 --rpc-secret=xxxxxx
- URL:
http://token:xxxxxx@host:port/jsonrpc
使用 --rpc-user=user --rpc-passwd=pwd
- URL:
http://user:pwd@host:port/jsonrpc
v1.18.4新增了 --rpc-secret
,设置的RPC授权令牌, 取代 --rpc-user
和 --rpc-passwd
选项
1.4 在OpenWrt上部署示例
把以下内容添加到/etc/rc.local
的exit 0
之前:
然后jsonrpc的URL即是http://token:<your_secret_here>@host:6800/jsonrpc
2 Firefox/Chrome+百度云配置
3 Firefox 配置
安装Flashgot.
在Flashgot里新建一个Download Manager, 比如叫aria2rpc, 调用自己写的aria2rpc程序(代码见下面), 然后URL模板如下:
[--cookie COOKIE] [--output FNAME] --rpc http://<URL_TO_aria2_Server>:6800/jsonrpc [URL]
当然, 如果本地电脑上可以装aria2的话, 貌似Flashgot是直接支持的, 内嵌有模板.
配置好之后, 在需要下载的链接上右键, 使用FlashGot下载即可. 快捷键是Alt+Click
.
3.1 aria2rpc
以下代码的出处见此页面, 以下搬运Python和Bash版本, 原文中还提供Go版本.
3.1.1 Python版
3.1.2 Bash版
4 参考
4.1 推荐的电影站
TODO
- FlashGot不依赖脚本, 直接工作
- OpenWrt 同步 Dropbox