Hi 你好,欢迎访问!登录
当前位置:首页 - 原创插件 - 正文 君子好学,自强不息!

Aira2 docker部署 以及PHPapi示例

2026-04-27原创插件祥技术支持7°c
A+ A-

docker-compose.yml

version: "3"
services:
  aria2:
    image: p3terx/aria2-pro
    container_name: aria2
    restart: unless-stopped
    logging:
      options:
        max-size: 1m
    ports:
      - "6800:6800"
      - "6888:6888"
      - "6888:6888/udp"
    environment:
      - PUID=0
      - PGID=0
      - RPC_SECRET=这是密码
      - RPC_PORT=6800
      - LISTEN_PORT=6888
    volumes:
      - /vol3/1000/work/Aria2/downloads:/downloads
      - /vol3/1000/work/Aria2/config:/config


php api示例

<?php
namespace Au;

class Aria2
{
    private $rpcUrl = 'http://192.168.2.115:6800/jsonrpc';
    private $token = '你的密码';

    /**
     * 构造函数
     * @param string $rpcUrl http://ip:6800/jsonrpc
     * @param string $token RPC密钥
     */
    public function __construct(string $rpcUrl='', string $token='')
    {
        $this->rpcUrl = $rpcUrl ? $rpcUrl : $this->rpcUrl;
        $this->token = $token ? $token : $this->token;
    }

    /**
     * 发送JSON-RPC请求
     */
    private function request(string $method, array $params = [])
    {
        $data = [
            'jsonrpc' => '2.0',
            'id'      => uniqid(),
            'method'  => $method,
            'params'  => array_merge(["token:{$this->token}"], $params)
        ];

        $ch = curl_init($this->rpcUrl);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);

        $response = curl_exec($ch);
        curl_close($ch);

        return json_decode($response, true);
    }

    // ====================== 下载任务管理 ======================

    /**
     * 创建HTTP/HTTPS/FTP下载任务
     * @param string|array $url 下载链接
     * @param array $options 参数 dir保存目录 out文件名 split线程数
     * @return array
     */
    public function addUri($url, array $options = [])
    {
        return $this->request('aria2.addUri', [
            is_array($url) ? $url : [$url],
            $options
        ]);
    }

    /**
     * 查询任务状态
     */
    public function tellStatus(string $gid)
    {
        return $this->request('aria2.tellStatus', [$gid]);
    }

    /**
     * 暂停任务
     */
    public function pause(string $gid)
    {
        return $this->request('aria2.pause', [$gid]);
    }

    /**
     * 暂停全部任务
     */
    public function pauseAll()
    {
        return $this->request('aria2.pauseAll');
    }

    /**
     * 继续任务
     */
    public function unpause(string $gid)
    {
        return $this->request('aria2.unpause', [$gid]);
    }

    /**
     * 继续全部任务
     */
    public function unpauseAll()
    {
        return $this->request('aria2.unpauseAll');
    }

    /**
     * 删除任务
     */
    public function remove(string $gid)
    {
        return $this->request('aria2.remove', [$gid]);
    }

    // ====================== 任务列表 ======================

    /**
     * 获取活动任务(下载中)
     */
    public function tellActive()
    {
        return $this->request('aria2.tellActive');
    }

    /**
     * 获取等待任务
     */
    public function tellWaiting()
    {
        return $this->request('aria2.tellWaiting', [0, 100]);
    }

    /**
     * 获取已停止/完成任务
     */
    public function tellStopped()
    {
        return $this->request('aria2.tellStopped', [0, 100]);
    }

    // ====================== 全局操作 ======================

    /**
     * 获取全局状态
     */
    public function getGlobalStat()
    {
        return $this->request('aria2.getGlobalStat');
    }

    /**
     * 获取版本信息
     */
    public function getVersion()
    {
        return $this->request('aria2.getVersion');
    }

    /**
     * 清空已完成/已停止任务
     */
    public function purgeDownloadResult()
    {
        return $this->request('aria2.purgeDownloadResult');
    }
}


123云盘分享

更新时间:2026年04月27日 10:08:11
      选择打赏方式
    微信赞助

    打赏

    QQ钱包

    打赏

    支付宝赞助

    打赏

    未定义标签

    发表评论

    取消回复

    选填

    必填

    必填

    选填

    请拖动滑块解锁
    >>


      用户登录