bilidrive

BiliDrive

Usage no npm install needed!

<script type="module">
  import bilidrive from 'https://cdn.skypack.dev/bilidrive';
</script>

README

BiliDrive.js npm Coverage Status

☁️哔哩哔哩云 JavaScriptCore (Node.js 限定)

安装

npm install bilidrive -S

使用

const { download, getMeta, extract } = require('bilidrive')

download(bdriveURL, { dir, parallel })

/**
 * 在指定目录中下载文件
 * @method download
 * @param  {String}  bdriveURL                           bdrive协议url
 * @param  {Object}  [options={dir='./tmp',parallel=16}] 设置
 * @return {Promise<String>}                             下载完成后的文件位置
 */
const download = async (bdriveURL = 233, { dir = './tmp', parallel = 16 } = {}) => Promise<String>

getMeta(bdriveURL)

/**
 * 通过bdrive链接获取URL
 * @method getMeta
 * @param  {String} bdriveURL bdrive协议url
 * @return {Promise<{filename:String,sha1:String,block:{url:String,size:Number,sha1:String}[],list:{url:String,size:Number,sha1:String,position:Number}[]}>} META
 */
const getMeta = async bdriveURL => Promise<{
                                             filename:String,
                                             sha1:String,
                                             block:{
                                               url:String,
                                               size:Number,
                                               sha1:String}[],
                                             list:{
                                               url:String,
                                               size:Number,
                                               sha1:String,
                                               position:Number}[]
                                           }>

extract(url)

/**
 * 下载并剪裁目标url
 * @method extract
 * @param  {string}  url     url
 * @return {Promise<Buffer>} 目标URL剪裁之后的buffer
 */
const extract = async url => Promise<Buffer>