laravel-aria2

Introduction

This package is a fluent JSON-RPC client for a running aria2c daemon. You can start HTTP, HTTPS, magnet, and torrent transfers from Laravel, stream typed progress back to your application, and fake the client in tests.

use Dasundev\LaravelAria2\Facades\Aria2;
use Dasundev\LaravelAria2\Transfer\TransferStatus;
 
Aria2::url('https://example.com/file.iso')
->dir(storage_path('app/downloads/1'))
->onProgress(function (TransferStatus $status) {
//
})
->download();

This package talks to an existing RPC endpoint. It does not start, stop, or supervise aria2c. Process supervision stays in the host application.

download() is blocking. Run it on a queue worker, not a web request.