当前位置: 首页 > 软件库 > 应用工具 > 下载工具 >

winsoft666-teemo

基于 C++ 的下载工具
授权协议 GPLv3
开发语言 C/C++
所属分类 应用工具、 下载工具
软件类型 开源软件
地区 国产
投 递 者 李捷
操作系统 Windows
开源组织
适用人群 未知
 软件概览

teemo 是一个使用 C++ 开发的下载工具,基于 libcurl 开发而来,它支持如下特性:

  • 多协议支持,由于是基于libcurl的,所以支持libcurl所支持的所有协议,如http, https, ftp等。
  • 支持多线程下载
  • 支持断点续传
  • 支持暂停/继续下载
  • 支持获取实时下载速率
  • 支持下载限速
  • 支持磁盘缓存
  • 支持文件哈希校验
  • 支持大文件下载
  • 支持兼容服务器对客户端加速下载的限制

编译与安装

方式一、使用 vcpkg

teemo库已经收录到微软的vcpkg之中,可以使用如下命令快速安装:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
PS> bootstrap-vcpkg.bootstrap
Linux:~/$ ./bootstrap-vcpkg.sh
    1. 安装teemo
PS> .\\vcpkg install teemo [--triplet x64-windows-static/x64-windows/x64-windows-static-md and etc...]
Linux:~/$ ./vcpkg install teemo

方式二、使用源码编译

1. 安装依赖项

我倾向于使用vcpkg来安装依赖项,当然,这不是安装依赖项的唯一方式,你可以使用任何方式来安装依赖项。

建议将vcpkg.exe所在目录添加到PATH环境变量。

  • libcurl
    <pre>
    

    # 如果需要支持非http协议,如ftp等,需要指定[non-http]选项 vcpkg install curl[non-http]:x86-windows

    </li>
    <li>
    gtest 单元测试项目使用了gtest。
    
    
    <pre>
    

    vcpkg install gtest:x86-windows

    </li>
    

2. 编译

使用CMake生成相应的工程,然后编译即可。 Windows示例

cmake.exe -G "Visual Studio 15 2017" -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=ON -S %~dp0 -B %~dp0build

Linux示例

cmake -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=ON

# 如果使用vcpkg安装依赖库,需要指定CMAKE_TOOLCHAIN_FILE cmake -DCMAKE_TOOLCHAIN_FILE=/xxx/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=ON

make

命令行工具

teemo_tool是一个基于teemo库开发的命令行下载工具,用法如下:

teemo_tool URL TargetFilePath [ThreadNum] [DiskCacheMb] [MD5] [TmpExpiredSeconds] [MaxSpeed]
  • URL: 下载链接
  • TargetFilePath: 下载的目标文件保存路径
  • ThreadNum: 线程数量,可选,默认为1
  • DiskCacheMb: 磁盘缓存大小,单位Mb,默认为20Mb
  • MD5: 下载文件的MD5,可选,若不为空,则在下载完成之后会进行文件MD5校验
  • TmpExpiredSeconds: 秒数,可选,临时文件经过多少秒之后过期
  • MaxSpeed: 最高下载速度(byte/s)
 相关资料
  • Teemo是一个Java EE企业级通用开发框架,提供底层抽象和常用功能,包括基础CRUD、分页、角色权限、用户管理、资源管理、部门管理、数据库监控、自定义菜单等功能,完全开源,没有任何限制,在项目代码趋于稳定之后会切换成分布式项目,欢迎Star和Fork。 该项目适合于拥有1-3年开发经验的初级程序员作为学习、参考或者直接拿来作为开发的基础框架。 用到的技术 orm框架:Hibernate 5.

  • 本文向大家介绍C++文件上传、下载工具,包括了C++文件上传、下载工具的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++文件上传下载的实现代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 本文向大家介绍基于断点续传下载原理的实现,包括了基于断点续传下载原理的实现的使用技巧和注意事项,需要的朋友参考一下 需求背景 动态创建的文件下载的时候希望浏览器显示下载进度 动态创建的文件希望能够分段下载 HTTP断点续传报文 要实现HTTP断点续传必须要简单了解以下几个报文。 Accept-Ranges 告诉客户端(浏览器..)服务器端支持断点续传 服务器端返回 Range 客户端告诉服务器端从

  • 本文向大家介绍Android 基于IntentService的文件下载的示例代码,包括了Android 基于IntentService的文件下载的示例代码的使用技巧和注意事项,需要的朋友参考一下 文件下载这种事情是很耗时的。之前使用AsyncTask这样的异步类来做下载,然后切到后台就被干掉。所以打算试试Service。(不过按目前那些系统的尿性,其实Service也分分钟被干掉) 不过,这里并不

  • 本文向大家介绍基于C#实现XML文件读取工具类,包括了基于C#实现XML文件读取工具类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了基于C#实现XML文件读取工具类。分享给大家供大家参考。具体如下: 这是我去年写的一个XML文件读取工具类,现在做了一些调整 基本能满足一般的XML文件读取需求。 更新: 2013年6月26日19:37 Fix了几个Bug,为所有方法添加单元测试,并运行通过

  • 本文向大家介绍基于Python pip用国内镜像下载的方法,包括了基于Python pip用国内镜像下载的方法的使用技巧和注意事项,需要的朋友参考一下 异常信息: 通过pip安装scipy、scikit-learn等库的时候,可能会报上面的错误,国内通过翻墙手段,是可能解决该问题的。下面给个不用翻墙的办法。 使用国内镜像下载python库的办法。 以下载pandas为例,终端输入命令(前提是pyt