Nuptial Predicament Mediation
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    peardownloaderpublic

     
    PearDownloader.js

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

    npm jsdelivr License


    English

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

    PearDownloader(梨享下载器)[Demo]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)、多源
    • 多源传输能力支持目前所有已知主流浏览器(当浏览器不支持WebRTC时全调度HTTP节点)
    • 通过浏览器内核的MSE,可支持音视频的边下边播
    • 自研的调度算法,在保证下载速度的前提下最大化P2P率(用户亦可实现自己的调度算法,以满足不同场景需求)
    • 默认无需填参数(内部根据文件属性作自适应),高级使用模式可自行调整算法和参数
    • 可选接入低成本、高可用的Pear Fog CDN
    • 协议默认通过TLS/DTLS全加密,无DPI特征;并可通过Pear Fog组件的动态端口映射进一步消除统计学特征
    • 具备Browser P2P能力(基于WebTorrent)

    使用方法

    首先通过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> 

    如何为自己的文件加速?

    示例中的文件是已经分发过的,那么如何为任意文件加速呢?很简单,只需在文件分发系统中添加您的文件url, 即可利用Pear的海量节点为您的文件下载加速!具体教程请点击这里(文件的名字需要加上Pear-Demo-前缀, 如Pear-Demo-file.zip

    谁在用我们的产品?

    PearDownloader文档

    致谢

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

    演讲与媒体报道

    License

    MIT. Copyright (c) Pear Limited and snowinszu.

    帮助与支持

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

    install

    npm i peardownloader

    Downloadsweekly downloads

    47

    version

    1.2.1

    license

    MIT

    homepage

    pear.hk

    last publish

    collaborators

    • avatar