aria2-client
Version:
A download client based on aria2 (a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink)
56 lines (55 loc) • 2.68 kB
TypeScript
import { IAria2Config, IAria2Download, IAria2File, IAria2GlobalStat, IAria2Peer, IAria2Server, IAria2Uri } from '../interfaces/aria2.interface';
export default class Aria2Client {
private readonly aria2;
constructor(config?: IAria2Config);
open(): Promise<Event>;
close(): Promise<Event>;
addUri(uris: string[], { dir }: {
dir: string;
}): Promise<Record<string, string>>;
addTorrent(torrent: string): Promise<string>;
addMetalink(metalink: string): Promise<string>;
remove(gid: string): Promise<string>;
forceRemove(gid: string): Promise<string>;
pause(gid: string): Promise<string>;
pauseAll(): Promise<'OK'>;
forcePause(gid: string): Promise<string>;
forcePauseAll(): Promise<'OK'>;
unpause(gid: string): Promise<string>;
unpauseAll(): Promise<'OK'>;
tellStatus(gid: string, keys?: string[]): Promise<IAria2Download>;
getUris(gid: string): Promise<IAria2Uri[]>;
getFiles(gid: string): Promise<IAria2File[]>;
getPeers(gid: string): Promise<IAria2Peer[]>;
getServers(gid: string): Promise<IAria2Server[]>;
tellActive(): Promise<IAria2Download[]>;
tellWaiting(offset: number, num: number): Promise<IAria2Download[]>;
tellStopped(offset: number, num: number): Promise<IAria2Download[]>;
changePosition(gid: string, pos: number, how: 'POS_CUR' | 'POS_SET'): Promise<number>;
changeUri(gid: string, fileIndex: number, delUris: string[], addUris: string[]): Promise<[number, number]>;
getOption(gid: string): Promise<Record<string, unknown>>;
changeOption(gid: string, options: Record<string, unknown>): Promise<'OK'>;
getGlobalOption(): Promise<Record<string, unknown>>;
changeGlobalOption(options: Record<string, unknown>): Promise<'OK'>;
getGlobalStat(): Promise<IAria2GlobalStat>;
purgeDownloadResult(): Promise<'OK'>;
removeDownloadResult(gid: string): Promise<'OK'>;
getVersion(): Promise<{
version: string;
enabledFeatures: string[];
}>;
getSessionInfo(): Promise<{
sessionId: string;
}>;
shutdown(): Promise<'OK'>;
forceShutdown(): Promise<'OK'>;
saveSession(): Promise<'OK'>;
onOpen(callback: CallableFunction): Promise<void>;
onClose(callback: CallableFunction): Promise<void>;
onDownloadStart(callback: CallableFunction): Promise<void>;
onDownloadPause(callback: CallableFunction): Promise<void>;
onDownloadStop(callback: CallableFunction): Promise<void>;
onDownloadComplete(callback: CallableFunction): Promise<void>;
onDownloadError(callback: CallableFunction): Promise<void>;
onBtDownloadComplete(callback: CallableFunction): Promise<void>;
}