创建 aria2 对象,
可选使用 @rpcPort 参数指定 RPC 服务端监听端口,\不指定参数则自动分配空闲端口
用于创建 aria2 服务进程
已添加 UPnP 自动端口映射功能,下载速度更快。
注意 BT 下载速度要养,如果没速度先找个热门资源下载就可以了
创建 aria2 客户端
默认 Tracker 服务器列表,
当获取用户指定的 Tracker 服务器列表失败时使用此值,
Tracker 服务器必须以逗号换换行符分隔,
这里不能指定 获取 Tracker 服务器列表的网址
最后一次启动的 process.aria2 实例
使用一个或多个参数指定 aria2 启动参数,应在 startRpcUrl 之前调用
字符串数组,用于指定 aria 的默认启动参数,
已指定的默认参数请参考库源码
允许的 DHT 监听端口,默认为 "6881-6999"。
可以指定一个或多个用逗号分隔的端口配置,
可指定单个端口,也可用 "6881-6999" 格式表示端口范围。
调用 startServer 以后可用 dhtListeningPort 属性查看实际监听端口
实际使用的 DHT 监听端口,
请先用 listenPort 配置允许的 DHT 监听端口
磁盘缓存大小,默认为 32M
自定义下载目录,默认为系统下载目录。
如果自定义此属性,将在调用 startServer 函数时生效
文件分配方式。
建议保持为 null 由 aardio 自动指定:
NTFS 分区自动指定为 "falloc",否则为 "prealloc"
返回 aria2 全局配置表。
aria2已启动,并且 jsonClient 已连接时返回true
启动并返回基于 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
启动并返回基于 HTTP 协议的同步 JSON-RPC 客户端,
成功返回 web.rpc.jsonClient 对象。
如果服务端未启动,则启动服务进程。
可用接口函数请参考 https://aria2.github.io/manual/en/html/aria2c.html#rpc-interface
允许的监听端口,默认为 "6881-6999"。
可以指定一个或多个用逗号分隔的端口配置,
可指定单个端口,也可用 "6881-6999" 格式表示端口范围。
调用 startServer 以后可用 listeningPort 属性查看实际监听端口
实际使用的监听端口,
请先用 listenPort 配置允许的监听端口
ProcessAria2Object.onBtDownloadComplete = function(task){
/*BT 下载完成,task.gid 可获取下载任务 gid */
}
ProcessAria2Object.onDownloadComplete = function(task){
/*下载完成,task.gid 可获取下载任务 gid */
}
ProcessAria2Object.onDownloadError = function(task){
var errMsg = ProcessAria2Object.taskErrorMessage(task.gid);
/*下载出错了,task.gid 可获取下载任务 gid。
errMsg 为错误信息。 */
}
ProcessAria2Object.onDownloadPause = function(task){
/*暂停下载,task.gid 可获取下载任务 gid */
}
ProcessAria2Object.onDownloadStart = function(task){
/*开始下载,task.gid 可获取下载任务 gid */
}
ProcessAria2Object.onDownloadStop = function(task){
/*停止下载,task.gid 可获取下载任务 gid */
}
function(errMessage,rpcError){
__/*出错时触发此函数,errMessage 为错误信息。
如果服务端按 jsonrpc 协议返回 error 对象,
则 rpcError 有值,包含 messge,code 字段。*/
}
ProcessAria2Object.ready(
function(){
var jsonClient = ProcessAria2Object.jsonClient();
/*aria2已启动,并且jsonClient已连接时执行此函数*/
}
)
是否允许外部网络使用 RPC 调用 aria2 接口,默认为 false
如果自定义此属性,将在调用 startServer 函数时生效
最大请求数
如果自定义此属性,将在调用 startServer 函数时生效
RPC端口
不指定时自动分配空闲端口
如果自定义此属性,将在调用 startServer 函数时生效
RPC密钥
如果自定义此属性,将在调用 startServer 函数时生效
默认为 null,调用 startServer 函数后为启动的 RPC 接口地址
保存会话
保存下载状态时间间隔,默认为 30 秒
保存状态文件路径,用于恢复下载,
不指定则默认存于 downloadDir 属性指定的目录下,文件名为 aria2.session
服务进程
启动 aria2 服务进程,返回 RPC 地址。
如果服务进程已启动且正常运行则直接返回 RPC 地址,否则启动或重新启动 aria2。
注意所有下载配置都需要在调用此函数以前指定才会有效。
可选使用一个或多个参数指定 aria2 启动参数。
可用参数见 https://aria2.github.io/manual/en/html/aria2c.html#options
启动参数可指定多个字符串参数,也可指定包含数组或名值对的表。
短参数名应用逗号分隔为 2 个参数,例如: "-j",10 。
长参数可在一个参数内以等号分隔名字与参数值,
也可以小驼峰式命名写为表的名值对,如:
{ maxConcurrentDownloads = 12 }
关闭 aria2,并等待调用完成。
如果参数 @1 为 true,则发送 RPC 指令后不等待调用完成。
当前进程退出后也会自动关闭 aria2
是否已调用 stop 函数停止 aria2 服务端。
不可修改此属性。
如果在断开连接后自动调用 startServer 函数,
应当首先检查 stopped 属性以避免在调用 stop 函数以后重启 aria2 。
调用 startServer 函数以后会重置此属性为 null 值。
添加下载任务
参数 @url 可指定下载链接、磁力链接、本地 torrent 文件路径。
如果不指定 callback 在调用同步接口直接返回结果。
否则异步回调 @callback 指定的函数,回调参数 @1 为下载 gid 。
回调参数 @2 为错误对象,错误对象的 message 字段为错误信息。
如果未出错则错误对象为 null。
参数 @1 指定下载 gid。
返回该下载任务发生错误返回的错误信息。
参数 @1 指定下载 gid。
返回下载文件列表中第一个文件的路径。
BT元数据路径 返回 null。
参数 @1 指定下载 gid。
返回下载文件信息列表,每个文件的 path 字段指定路径。
BT元数据路径以 [METADATA] 开头。
参数 @1 指定下载 gid。
返回该下载任务的下载文件名。
如果参数 @2 为 true 则返回的是仅根据 URL 获取的文件名。
此类文件名建议稍后重新获取。
暂停下载,参数 @1 指定下载 gid。
移除下载,参数 @1 指定下载 gid。
从暂停恢复下载,参数 @1 指定下载 gid。
参数 @1 指定下载 gid。
返回磁力链接或下载网址。
ProcessAria2Object.tellActive(callback,keys...tellActive(function(result,err){
if(result) {
for(i,task in result){
/*tellActive 用于返回所有正在下载的任务。
task 为下载任务对象,tellActive 函数的第三个参数开始可指定一个或多个要返回的状态字段名。
*/
}
}
},"gid","status","connections","downloadSpeed","totalLength","completedLength");
参数 @1 指定下载 gid。
返回该下载任务的状态信息。
参数@2 开始可指定一个或多个要返回的状态字段名。
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...tellWaiting(0,20,function(result,err){
if(result) {
for(i,task in result){
/*tellWaiting 用于返回所有正在等待的任务。
task 为下载任务对象,tellActive 函数的第三个参数开始可指定一个或多个要返回的状态字段名。
*/
}
}
},"gid","status","connections","downloadSpeed","totalLength","completedLength");
指定 Tracker 服务器列表,可以逗号或换行符分隔多个Tracker 服务器,
也可以指定一个获取 Tracker 服务器列表的网址,该网址必须以 .txt 结尾,
不指定则使用默认值 https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt
也可以指定为 https://trackerslist.com/best_aria2.txt
指定下载客户端特征字符串,
不指定则使用默认值 aria2/version