aardio 文档

process.aria2 库模块帮助文档

process 成员列表 #

process.aria2() #

返回对象:ProcessAria2Object

process.aria2(rpcPort) #

创建 aria2 对象,
可选使用 @rpcPort 参数指定 RPC 服务端监听端口,\不指定参数则自动分配空闲端口

process.aria2 成员列表 #

用于创建 aria2 服务进程
已添加 UPnP 自动端口映射功能,下载速度更快。
注意 BT 下载速度要养,如果没速度先找个热门资源下载就可以了

创建 aria2 客户端

process.aria2.defaultTrackerList #

默认 Tracker 服务器列表,
当获取用户指定的 Tracker 服务器列表失败时使用此值,
Tracker 服务器必须以逗号换换行符分隔,
这里不能指定 获取 Tracker 服务器列表的网址

process.aria2.server #

最后一次启动的 process.aria2 实例

返回对象:ProcessAria2Object

ProcessAria2Object 成员列表 #

ProcessAria2Object.addArguments() #

使用一个或多个参数指定 aria2 启动参数,应在 startRpcUrl 之前调用

ProcessAria2Object.defaultArguments #

字符串数组,用于指定 aria 的默认启动参数,
已指定的默认参数请参考库源码

ProcessAria2Object.dhtListenPort #

允许的 DHT 监听端口,默认为 "6881-6999"。
可以指定一个或多个用逗号分隔的端口配置,
可指定单个端口,也可用 "6881-6999" 格式表示端口范围。
调用 startServer 以后可用 dhtListeningPort 属性查看实际监听端口

ProcessAria2Object.dhtListeningPort #

实际使用的 DHT 监听端口,
请先用 listenPort 配置允许的 DHT 监听端口

ProcessAria2Object.diskCache #

磁盘缓存大小,默认为 32M

ProcessAria2Object.downloadDir #

自定义下载目录,默认为系统下载目录。
如果自定义此属性,将在调用 startServer 函数时生效

ProcessAria2Object.fileAllocation #

文件分配方式。
建议保持为 null 由 aardio 自动指定:
NTFS 分区自动指定为 "falloc",否则为 "prealloc"

ProcessAria2Object.getGlobalOption() #

返回 aria2 全局配置表。

ProcessAria2Object.isReady() #

aria2已启动,并且 jsonClient 已连接时返回true

ProcessAria2Object.jsonClient() #

启动并返回基于 WebSocket 协议的异步 JSON-RPC 客户端,
成功返回 web.socket.jsonClient 对象。
如果服务端未启动,则启动服务进程。
可用接口函数请参考 https://aria2.github.io/manual/en/html/aria2c.html#rpc-interface

jsonClientSync 与 jsonClient 函数返回的 API 接口是一样的,
区别是 jsonClientSync 调用后阻塞等待结果返回,
而 jsonClient 则立即返回,RPC 调用结束再触发返回对象的 end 成员函数

返回对象:websocketjsonClientObject

ProcessAria2Object.jsonClientSync() #

启动并返回基于 HTTP 协议的同步 JSON-RPC 客户端,
成功返回 web.rpc.jsonClient 对象。
如果服务端未启动,则启动服务进程。
可用接口函数请参考 https://aria2.github.io/manual/en/html/aria2c.html#rpc-interface

返回对象:webRpcJsonClientObject

ProcessAria2Object.listenPort #

允许的监听端口,默认为 "6881-6999"。
可以指定一个或多个用逗号分隔的端口配置,
可指定单个端口,也可用 "6881-6999" 格式表示端口范围。
调用 startServer 以后可用 listeningPort 属性查看实际监听端口

ProcessAria2Object.listeningPort #

实际使用的监听端口,
请先用 listenPort 配置允许的监听端口

ProcessAria2Object.onBtDownloadComplete #

ProcessAria2Object.onBtDownloadComplete = function(task){
    /*BT 下载完成,task.gid 可获取下载任务 gid */
}

ProcessAria2Object.onDownloadComplete #

ProcessAria2Object.onDownloadComplete = function(task){
    /*下载完成,task.gid 可获取下载任务 gid */
}

ProcessAria2Object.onDownloadError #

ProcessAria2Object.onDownloadError = function(task){
    var errMsg = ProcessAria2Object.taskErrorMessage(task.gid); 
    /*下载出错了,task.gid 可获取下载任务 gid。  
errMsg 为错误信息。 */
}

ProcessAria2Object.onDownloadPause #

ProcessAria2Object.onDownloadPause = function(task){
    /*暂停下载,task.gid 可获取下载任务 gid */
}

ProcessAria2Object.onDownloadStart #

ProcessAria2Object.onDownloadStart = function(task){
    /*开始下载,task.gid 可获取下载任务 gid */
}

ProcessAria2Object.onDownloadStop #

ProcessAria2Object.onDownloadStop = function(task){
    /*停止下载,task.gid 可获取下载任务 gid */
}

ProcessAria2Object.onError #

function(errMessage,rpcError){ __/*出错时触发此函数,errMessage 为错误信息。
如果服务端按 jsonrpc 协议返回 error 对象,
则 rpcError 有值,包含 messge,code 字段。*/
}

ProcessAria2Object.ready(proc) #

ProcessAria2Object.ready(  
    function(){  
        var jsonClient = ProcessAria2Object.jsonClient();  
        /*aria2已启动,并且jsonClient已连接时执行此函数*/  
    }  
)

ProcessAria2Object.rpcListenAll #

是否允许外部网络使用 RPC 调用 aria2 接口,默认为 false
如果自定义此属性,将在调用 startServer 函数时生效

ProcessAria2Object.rpcMaxRequestSize #

最大请求数
如果自定义此属性,将在调用 startServer 函数时生效

ProcessAria2Object.rpcPort #

RPC端口
不指定时自动分配空闲端口
如果自定义此属性,将在调用 startServer 函数时生效

ProcessAria2Object.rpcToken #

RPC密钥
如果自定义此属性,将在调用 startServer 函数时生效

ProcessAria2Object.rpcUrl #

默认为 null,调用 startServer 函数后为启动的 RPC 接口地址

ProcessAria2Object.saveSession() #

保存会话

ProcessAria2Object.saveSessionInterval #

保存下载状态时间间隔,默认为 30 秒

ProcessAria2Object.saveSessionPath #

保存状态文件路径,用于恢复下载,
不指定则默认存于 downloadDir 属性指定的目录下,文件名为 aria2.session

ProcessAria2Object.server #

服务进程

返回对象:processPopenObject

ProcessAria2Object.startServer() #

启动 aria2 服务进程,返回 RPC 地址。
如果服务进程已启动且正常运行则直接返回 RPC 地址,否则启动或重新启动 aria2。
注意所有下载配置都需要在调用此函数以前指定才会有效。
可选使用一个或多个参数指定 aria2 启动参数。
可用参数见 https://aria2.github.io/manual/en/html/aria2c.html#options
启动参数可指定多个字符串参数,也可指定包含数组或名值对的表。
短参数名应用逗号分隔为 2 个参数,例如: "-j",10 。
长参数可在一个参数内以等号分隔名字与参数值,
也可以小驼峰式命名写为表的名值对,如:
{ maxConcurrentDownloads = 12 }

ProcessAria2Object.stop() #

关闭 aria2,并等待调用完成。
如果参数 @1 为 true,则发送 RPC 指令后不等待调用完成。
当前进程退出后也会自动关闭 aria2

ProcessAria2Object.stopped #

是否已调用 stop 函数停止 aria2 服务端。
不可修改此属性。
如果在断开连接后自动调用 startServer 函数,
应当首先检查 stopped 属性以避免在调用 stop 函数以后重启 aria2 。
调用 startServer 函数以后会重置此属性为 null 值。

ProcessAria2Object.taskAdd #

添加下载任务

ProcessAria2Object.taskAdd(url,callback) #

参数 @url 可指定下载链接、磁力链接、本地 torrent 文件路径。
如果不指定 callback 在调用同步接口直接返回结果。
否则异步回调 @callback 指定的函数,回调参数 @1 为下载 gid 。
回调参数 @2 为错误对象,错误对象的 message 字段为错误信息。
如果未出错则错误对象为 null。

ProcessAria2Object.taskErrorMessage(gid) #

参数 @1 指定下载 gid。
返回该下载任务发生错误返回的错误信息。

ProcessAria2Object.taskFilePath(gid) #

参数 @1 指定下载 gid。
返回下载文件列表中第一个文件的路径。
BT元数据路径 返回 null。

ProcessAria2Object.taskFiles(gid) #

参数 @1 指定下载 gid。
返回下载文件信息列表,每个文件的 path 字段指定路径。
BT元数据路径以 [METADATA] 开头。

ProcessAria2Object.taskName(gid) #

参数 @1 指定下载 gid。
返回该下载任务的下载文件名。
如果参数 @2 为 true 则返回的是仅根据 URL 获取的文件名。
此类文件名建议稍后重新获取。

ProcessAria2Object.taskPause(gid) #

暂停下载,参数 @1 指定下载 gid。

ProcessAria2Object.taskRemove(gid) #

移除下载,参数 @1 指定下载 gid。

ProcessAria2Object.taskUnpause(gid) #

从暂停恢复下载,参数 @1 指定下载 gid。

ProcessAria2Object.taskUrl(gid) #

参数 @1 指定下载 gid。
返回磁力链接或下载网址。

ProcessAria2Object.tellActive(callback,keys...) #

ProcessAria2Object.tellActive(callback,keys...tellActive(function(result,err){  
    if(result) {  
        for(i,task in result){  
            /*tellActive 用于返回所有正在下载的任务。  
task 为下载任务对象,tellActive 函数的第三个参数开始可指定一个或多个要返回的状态字段名。  
*/  
        }   
    }    
},"gid","status","connections","downloadSpeed","totalLength","completedLength");

ProcessAria2Object.tellStatus(gid,keys...) #

参数 @1 指定下载 gid。
返回该下载任务的状态信息。
参数@2 开始可指定一个或多个要返回的状态字段名。

ProcessAria2Object.tellStopped(offset,num,callback,keys...) #

ProcessAria2Object.tellStopped(offset,num,callback,keys...tellStopped(0,20,function(result,err){  
    if(result) {  
        for(i,task in result){  
            /*tellStopped 用于返回所有已停止的任务。  
task 为下载任务对象,tellActive 函数的第三个参数开始可指定一个或多个要返回的状态字段名。  
*/  
        }   
    }    
},"gid","status","connections","downloadSpeed","totalLength","completedLength");

ProcessAria2Object.tellWaiting(offset,num,callback,keys...) #

ProcessAria2Object.tellWaiting(offset,num,callback,keys...tellWaiting(0,20,function(result,err){  
    if(result) {  
        for(i,task in result){  
            /*tellWaiting 用于返回所有正在等待的任务。  
task 为下载任务对象,tellActive 函数的第三个参数开始可指定一个或多个要返回的状态字段名。  
*/  
        }   
    }    
},"gid","status","connections","downloadSpeed","totalLength","completedLength");

ProcessAria2Object.trackerList #

指定 Tracker 服务器列表,可以逗号或换行符分隔多个Tracker 服务器,
也可以指定一个获取 Tracker 服务器列表的网址,该网址必须以 .txt 结尾,
不指定则使用默认值 https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt
也可以指定为 https://trackerslist.com/best_aria2.txt

ProcessAria2Object.userAgent #

指定下载客户端特征字符串,
不指定则使用默认值 aria2/version

Markdown 格式