Ubuntu下没有可用的百度盘客户端, 下载大文件如果通过浏览器就会特别不可靠. 可以使用Chrome插件 BaiduExport 得到下载链接和参数后, 通过aria2进行下载.

Aria2安装

直接通过apt install 就可以了

$ sudo apt install aria2
[sudo] password for milton:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libaec0 libfreexl1 libgeos-3.6. libgeos-c1v5 libgeotiff2 libhdf4--alt
libhdf5- libkmlbase1 libkmldom1 libkmlengine1 libminizip1
libmysqlclient20 libnetcdf13 libogdi3. libpq5 libproj12 libsz2
liburiparser1 libxerces-c3. proj-data python-asn1crypto python-cffi-backend
python-cryptography python-enum34 python-idna python-ipaddress
python-paramiko python-pyasn1 python-six
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
aria2
upgraded, newly installed, to remove and not upgraded.
Need to get , kB of archives.
After this operation, , kB of additional disk space will be used.
Get: http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 aria2 amd64 1.33.1-1 [1,236 kB]
Fetched , kB in 5s ( kB/s)
Selecting previously unselected package aria2.
(Reading database ... files and directories currently installed.)
Preparing to unpack .../aria2_1.33.1-1_amd64.deb ...
Unpacking aria2 (1.33.-) ...
Setting up aria2 (1.33.-) ...
Processing triggers for man-db (2.8.-) ...

运行aria2

可以直接通过命令行启动, 例如:

aria2c -c -s10 -k1M -x16 -o "output.file" -d /home/milton/Downloads/ "http://some.where.com/some/file"

各参数含义可以通过aria2c --help 查看, 或者在线手册 https://aria2.github.io/manual/en/html/aria2c.html

也可以使用配置文件, 使用配置文件启动的命令如下, 你也可以把conf文件放到其他目录, 如果使用-D参数则进入后台运行

aria2c --conf-path=/home/milton/.config/aria2/aria2.conf

配置文件例子

## 文件保存相关 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=~/downloads
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=none
# 断点续传
continue=true ## 下载连接相关 ## # 最大同时下载任务数, 运行时可修改, 默认:
#max-concurrent-downloads=
# 同一服务器连接数, 添加时可指定, 默认:
max-connection-per-server=
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=2M
# 单个任务最大线程数, 添加时可指定, 默认:
#split=
# 整体下载速度限制, 运行时可修改, 默认:
#max-overall-download-limit=
# 单个任务下载速度限制, 默认:
#max-download-limit=
# 整体上传速度限制, 运行时可修改, 默认:
#max-overall-upload-limit=
# 单个任务上传速度限制, 默认:
#max-upload-limit=
# 禁用IPv6, 默认:false
#disable-ipv6=true
# 连接超时时间, 默认:
#timeout=
# 最大重试次数, 设置为0表示不限制重试次数, 默认:
#max-tries=
# 设置重试等待的秒数, 默认:
#retry-wait= ## 进度保存相关 ## # 从会话文件中读取下载任务
input-file=/home/milton/.config/aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/home/milton/.config/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1..1以上版本, 默认:
#save-session-interval= ## RPC相关设置 ## # 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:
#rpc-listen-port=
# 设置的RPC授权令牌, v1..4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=123123
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>
# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key ## BT/PT下载相关 ## # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:-
listen-port=
# 单个种子最大连接数, 默认:
#bt-max-peers=
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT网络监听端口, 默认:-
#dht-listen-port=-
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

BaiduExport安装

https://github.com/acgotaku/BaiduExporter . 在Releases下找到最新的crx文件, 下载到本地后, 解压缩至用户home目录下 ~/.config/google-chrome/Default/BaiduExporter . (试过放Extensions目录下, 但是重启后会被删除)

打开Chrome, 菜单 More Tools -> Extensions, 打开Development Mode, 点击Load Unpacked, 选择刚才的目录, 安装就完成了

BaiduExport和Aria2使用

在Chrome中访问百度盘的时候, 在文件列表页会增加一项"导出下载", 如果本地已经启动了aria2, 这里可以配置本地的aria2信息, 然后点击Aria2 RPC将下载添加到本地Aria2, 也可以点击导出文本, 得到一个aria2c的命令行, 这个命令行稍加修改就可以直接运行启动下载.

安装YAAW

这也是一个Chrome插件, 但是可以直接从Chrome中在线安装. 配置一下就可以连接到aria2查看下载列表和进度. 如果设置了secret或用户名密码的, 连接URL需要修改一下, 如下

使用 --rpc-secret=xxxxxx 选项
设置为: http://token:xxxxxx@host:port/jsonrpc

使用 --rpc-user=user --rpc-passwd=pwd 选项设置为:
http://user:pwd@host:port/jsonrpc

以上 JSON-RPC Path 中的 http 可以用 ws 替代, 代表使用 WebSocket 协议

Openwrt 18.06.0下的Aria2

openwrt18.06.0下集成的aria2版本是1.33.0, 如果有配置界面的话, 直接在界面上就能进行配置, 我在路由器上的配置为

config aria2 'main'
option user 'aria2'
option dir '/mnt/sda1/aria2'
option bt_enable_lpd 'true'
option enable_dht 'true'
option follow_torrent 'true'
option file_allocation 'none'
option save_session_interval '30'
list header ''
option rpc_auth_method 'token'
option rpc_secret '123123'
option config_dir '/mnt/sda1/aria2'
option enable_log 'true'
option log_level 'debug'
option disk_cache '1M'
option max_concurrent_downloads '5'
option max_connection_per_server '16'
option min_split_size '2M'
option split '5'
option enabled '1'
option rpc_listen_port '6800'
list extra_settings 'log=/mnt/sda1/aria2/aria2.log'
list extra_settings 'check-certificate=false'

注意最后的两个 extra_settings:

log=/xxx/xxx 这个配置, 是为了打开日志记录. 因为界面上配置即使enable_log=true, 也只会在system_log中显示极少的几个日志, 为了检查出错的原因, 必须要显示指定日志文件

check-certificate=false 这个是因为openwrt下并没有像Ubuntu那样的/etc/ssl/certs/ca-certificates.crt , 所以下载https文件时会报错 SSL/TLS handshake failure: unable to get local issuer certificate, 为了能继续下载而关闭了证书校验. (这是不安全的做法, 不过对于下载电影之类的需求, 这个就无所谓了)

YAAW和BaiduExport与Openwrt Aria2的连接方式是一样的.

Ubuntu18.04和OpenWrt 18.06.0 下使用aria2和BaiduExport处理百度盘下载的更多相关文章

  1. nginx stream module on mt7621(newifi3 d2) with openwrt 18.06.2

    因为需要使用nginx的stream模块,专门编译了一个nginx安装包,适用于openwrt 18.06.2版本,mt7621平台 顺便记录一下编译的笔记: 1.修改feeds/packages/n ...

  2. NVIDIA-docker报错:docker-ce (= 5:18.09.0~3-0~ubuntu-xenial) but 18.06.0~ce~3-0~ubuntu is to be installed

    报错: The following packages have unmet dependencies: nvidia-docker2 : Depends: docker-ce (= 5:18.09.0 ...

  3. OpenWrt 18.06.1的ss-redir, 以及在乐视超4 X40上看Youtube

    在18.06里面要设个透明代理, 就一直不成功 各种TIME OUT, PRIVATE SSL ERROR, 换回旧版的luci-app-shadowsocks也不行. 我就一直想, 到底这东西还能有 ...

  4. 在ubuntu18.04中安装opencv_contrib-3.2.0采坑教程

    由于最近要在OpenCV3中使用SIFT和SURF特征提取,而自从OpenCV2升级到OpenCV3版本后,SIFT.SURF等这些算法都被移出opencv默认项目库,而被放到叫opencv_cont ...

  5. Ubuntu18.04 磁盘挂载在某目录下

    简介 记录Ubuntu18.04 桌面版系统下实现某个磁盘挂载到自己想要的目录下,内容参考网上教程,此处为自己操作记录. 查看当前所有的磁盘信息 命令:sudo fdisk -l 从列出的信息中可以看 ...

  6. ubuntu18.04手动安装二进制MySQL8.0

    wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz tar xvJf ...

  7. Linux中(Ubuntu18.04.x/CentOS)mysql8.0.x安装/配置/部署/启动

    The MySQL Connectors and APIs are the drivers and libraries that you use to connect applications in ...

  8. ubuntu18.04编译openwrt前的准备

    1.获取openwrt源码 git clone https://github.com/openwrt/openwrt.git 2.安装一些库及必备程序: sudo apt-get install li ...

  9. ubuntu18.04安装配置opencv3.4.0

    1.安装配置相关工具及依赖库 sudo apt-get install build-essential # 必须的,gcc编译环境 sudo apt-get install cmake git lib ...

随机推荐

  1. 突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;

    目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附 ...

  2. 也给我的E420拆机清清灰尘

    用了两年,天气燥热,是得拆开清理下了,E430清理非常方便,拆开后面挡板就行,E420就麻烦很多,需要全部拆下,关于E420的拆机网上已经有非常详细的教程了,我这里做一些补充,有兴趣的同学欢迎参考. ...

  3. HTML中的转义字符 (转)

    HTML中<, >,&等有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用.使用这三个字符时,应使用它们的转义序列,如下所示: & 或 & &a ...

  4. [leetcode]Sort Colors @ Python

    原题地址:https://oj.leetcode.com/problems/sort-colors/ 题意: Given an array with n objects colored red, wh ...

  5. [leetcode]Gas Station @ Python

    原题地址:https://oj.leetcode.com/problems/gas-station/ 题意: There are N gas stations along a circular rou ...

  6. Gson Json 序列号 最常用的功能 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. POJ 3525 Most Distant Point from the Sea 二分+半平面交

    题目就是求多变形内部一点. 使得到任意边距离中的最小值最大. 那么我们想一下,可以发现其实求是看一个圆是否能放进这个多边形中. 那么我们就二分这个半径r,然后将多边形的每条边都往内退r距离. 求半平面 ...

  8. (转)HLSL,函数列表

    中文列表 函数名 说明 abs 计算输入值的绝对值. acos 返回输入值反余弦值. all 测试非0值. any 测试输入值中的任何非零值. asin 返回输入值的反正弦值. atan 返回输入值的 ...

  9. mysql CAPI 接口 读取中文乱码的解决方案(转)

      最近的yymysqlsdk的开源项目里,对中文的支持不到位,因此用了1.5天的时间,对中文处理的各个情况进行了分析.     1.首先确认你的MySQL配置文件,my.ini (只针对window ...

  10. Creating fields using CSOM

      When creating a field, whether you are using CAML, server-side object mode, or one of the client-s ...