可靠的下载服务器
rd-api的Python项目详细描述
rd api是一个http文件服务器,它提供静态文件托管和可靠的 下载rd client的api。
rd api提供web根目录下的文件。你可以像python3 -m http.server那样使用它。
此外,如果使用rd命令行工具进行下载,它将 以可靠的方式下载,以2mib块下载并验证校验和 每个街区。
安装
要安装此软件包:
$ sudo apt install -y redis-server # redis is used to cached block sha1sum $ pip install --user rd-api $ rd-api --help $ ~/.local/bin/rd-api --help # if ~/.local/bin/ is not in PATH
百色用量
服务器端:
$ ls bigfile1 bigfile2 $ rd-api --host 0.0.0.0 --port 8082
客户端(需要rd client):
$ rd http://server-ip:8082/bigfile1
文档
可靠的下载是这样实现的:
- 用户使用rd客户端请求下载资源。
- rd客户端通过/rd/api请求资源块元数据。块元数据 包含块计数、块id、块字节偏移量、块内容sha1sum。
- rd api以增量方式计算块元数据并将其提供给rd客户端。 块元数据在计算后缓存在redis中。
- rd客户端使用http/1.1范围头获取块并验证sha1sum 逐渐地。当下载并验证所有块时,合并块 得到最后的资源。
- RD客户端将在http错误和sha1sum验证失败时重试。
- RD客户端支持继续部分下载。您可以按CTRL-C键 随时停止下载,稍后再次运行同一命令继续。
可靠的下载是用haskell编写的,二进制文件是在pypi上发布的 易于在Linux系统上安装。可靠的下载只在Linux中运行。
更改日志
- v1.1.0.0 2018年5月10日
- 功能:支持使用env变量传递参数,对于cli arg–redis host,env变量将是redis_host。
- 错误修复:修复字符串类型的cli参数分析
- v1.0.0.3 2018-05-09
- 更新安装文档,rd api需要redis服务器
- v1.0.0.2 2018-05-09
- 初始释放。