DamonQin / PearDownloader.js

一个支持多协议、多源、混合P2P-CDN的下载器

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

 
PearDownloader.js

一个支持多协议、多源、混合P2P-CDN的下载器

npm jsdelivr License


PearPlayer 发布后,吸引了大家持续的关注,同时我们也收集到了大家许多宝贵的建议。 一方面我们将持续维护更新PearPlayer,使其支持更多的拓展功能; 另一方面我们将更底层、更基础的且适用范围更广的相关组件重新整理,专注于节点的选择以及数据的调度,将多源传输部分剥离出来,形成PearDownloader。 PearDownloader的发布,可以降低已有成熟播放器的内容提供商的迁移成本,内容提供商可以按需将其集成到自有产品中,使用PearFog服务。 PearDownloader支持更多样化的文件类型,更灵活的调度算法、调度策略的选择,满足更广阔、灵活、多变的业务场景与业务需求。

PearDownloader(梨享下载器)PearPlayer的底层下载模块, 实现了融合HTTP(包含HTTPS、HTTP2)、WebRTC的多协议、多源、低延迟、高带宽利用率的无插件Web端下载加速能力。 基于高效的调度算法将来自多个节点的数据进行拼接形成完整的文件或将有序的数据/媒体流喂给上层的应用,例如音视频播放器, PearDownloader能在保证下载速度前提下最大化P2P率。

arch

只需将pear-downloader.min.js通过<script>标签导入到HTML就可以使用。 参考以下代码示例,也可以查看/examples/downloader-test.html来了解使用方法。

参考get-started来了解基本使用方法。

特性

  • P2P能力基于WebRTC,无须安装任何插件
  • 下载快速,严格测试,稳定可靠
  • 多协议(HTTP、HTTPS、WebRTC)、多源
  • 自研的调度算法,在保证下载速度的前提下最大化P2P率
  • 默认无需填参数(内部根据文件属性作自适应),高级使用模式可自行调整算法和参数
  • 支持Chrome、Firefox、Opera、腾讯微信、X5/TBS等主流浏览器,不久将支持Safari11
  • 可选接入低成本、高可用性的Pear Fog CDN
  • 协议默认通过TLS/DTLS全加密,无DPI特征;并可通过Pear Fog组件的动态端口映射进一步消除统计学特征
  • 目前已实现Browser P2P能力(基于WebTorrent)

Demo演示地址:https://demo.webrtc.win/peardownloader/

使用方法

首先通过script标签导入pear-downloader.min.js:

<script src="./dist/pear-downloader.min.js"></script>

或者使用CDN:

<script src="https://cdn.jsdelivr.net/npm/peardownloader@latest"></script>

假设要下载https://example.com/file.zip

<script>
var downloader = new PearDownloader('https://example.com/file.zip');
</script>

谁在用我们的产品?

PearDownloader文档

致谢

特别感谢以下项目,为本项目提供了部分灵感来源以及API设计参考:

演讲与媒体报道

License

MIT. Copyright (c) Pear Limited and snowinszu.

帮助与支持

E-mail: service@pear.hk;用户QQ群:373594967CP/CDN接入、OEM与其他商务合作

About

一个支持多协议、多源、混合P2P-CDN的下载器

License:MIT License


Languages

Language:JavaScript 100.0%