Skip to content

AnInsomniacy/aria2-next

Aria2 Next icon

Aria2 Next

Maintained download engine with aria2-compatible interfaces, modern transfer backends, and cross-platform release builds.

CI Release License: GPLv2

Platform: macOS, Windows, Linux, Android

Why Aria2 Next?

Aria2 Next is a maintained fork of aria2 for users, scripts, RPC clients, and parent applications that need a current download engine without giving up familiar aria2 workflows.

The main executable is aria2-next. It preserves supported command-line options, configuration files, session files, input files, and JSON-RPC methods. It can be used directly from scripts and terminals, and it is also the download engine bundled by Motrix Next.

Current maintenance focuses on reliable ordinary URL transfers through libcurl, BitTorrent and magnet handling through libtorrent-rasterbar, native ED2K support, stable JSON-RPC behavior, reproducible release artifacts, and current dependency baselines.

Core Modernization

Aria2 Next has completed a core modernization program after the ED2K hardening and libtorrent BitTorrent migration. The goal was to keep the familiar aria2-compatible engine shape while replacing obsolete native protocol and runtime stacks with mature maintained libraries where those libraries own correctness, security, and cross-platform behavior better.

Area Previous ownership Current ownership
HTTP, HTTPS, FTP, FTPS, SFTP, SCP Native protocol stacks and direct SSH glue libcurl multi-socket transfer backend
BitTorrent and magnet Native BitTorrent residue and local torrent state libtorrent-rasterbar
RPC, JSON, and runtime Native HTTP/WebSocket code, wslay, custom JSON, mixed legacy polling Boost.Beast, Boost.JSON, and Boost.Asio
TLS and crypto Multiple backends and fallback implementations OpenSSL
Storage and progress truth Mixed completed and in-flight accounting Verified storage state with explicit in-flight progress
ED2K/eMule Not supported by old aria2 Native Aria2 Next protocol on modern storage, crypto, progress, and runtime boundaries

The modernization also removed stale compatibility surfaces: XML-RPC, Metalink, the public C++ embedding API, old native BitTorrent fallback code, alternate TLS and crypto backends, native browser-cookie parsing, async DNS backends, and direct libssh2 transfer ownership. The full audit trail is preserved in docs/maintenance/core-modernization/overview.md and docs/maintenance/core-modernization/progress.md.

Supported Surface

Area Status
Executable aria2-next
CLI and config aria2-compatible option names and file formats
Sessions and input files aria2-compatible session and input-file conventions
JSON-RPC aria2-compatible methods with explicit Aria2 Next extension fields where needed
Protocols HTTP, HTTPS, FTP, FTPS, SFTP, SCP, BitTorrent, magnet, ED2K
Primary app integration Motrix Next sidecar engine
Public C++ API Not maintained

Compatibility applies to the maintained surfaces above. Removed legacy internals are not retained as hidden fallback engines or compatibility aliases.

Quick Start

Download a file:

aria2-next https://example.com/file.iso

Download an ED2K file link:

aria2-next '<ed2k-file-link>'

Run the JSON-RPC server:

aria2-next --enable-rpc=true --rpc-listen-all=false --rpc-listen-port=6800

Inspect enabled features:

aria2-next --version
aria2-next --help=#all

Downloads

Prebuilt binaries are published on GitHub Releases.

Platform Architecture Asset
Linux x86_64 aria2-next-<version>-linux-x86_64
Linux ARM64 aria2-next-<version>-linux-aarch64
macOS Apple Silicon aria2-next-<version>-macos-arm64
macOS Intel aria2-next-<version>-macos-x86_64
Windows x86_64 aria2-next-<version>-windows-x86_64.exe
Windows ARM64 aria2-next-<version>-windows-arm64.exe
Checksums all assets aria2-next-<version>-checksums.sha256

Linux and macOS binaries are executable files. If the executable bit is missing:

chmod +x ./aria2-next-<version>-<platform>

Release binaries verify HTTPS certificates by default. Windows uses the native Windows certificate store through libcurl. macOS uses Apple SecTrust. Linux uses libcurl/OpenSSL CA auto-discovery with OpenSSL fallback paths. Android shell environments may need --ca-certificate.

Checksum verification, signing status, debug artifacts, and release rules are documented in docs/RELEASE.md.

Build

cmake --preset default
cmake --build --preset default
ctest --preset default
build/default/aria2-next --version

The default preset uses CMake and Ninja. Common build options include ARIA2_ENABLE_BITTORRENT, ARIA2_ENABLE_WEBSOCKET, ARIA2_ENABLE_STATIC, ARIA2_RELEASE_SIZE_OPTIMIZED, ARIA2_RELEASE_LTO, and ARIA2_WITH_ZLIB.

Release dependency versions, source URLs, archive names, and SHA-256 hashes are maintained in packaging/dependencies.env.

Documentation

Topic Document
Contributor setup and PR rules docs/CONTRIBUTING.md
Troubleshooting and issue boundaries docs/TROUBLESHOOTING.md
App and JSON-RPC integration docs/INTEGRATION.md
Release assets and maintainer flow docs/RELEASE.md
Security reporting docs/SECURITY.md
Privacy and network behavior docs/PRIVACY.md
Full documentation index docs/README.md

Use GitHub issue forms for reproducible bugs and feature proposals.

Maintenance Records

Durable audit records live under docs/maintenance/. They preserve the modernization history, upstream issue review, dependency decisions, ED2K work, and BitTorrent migration records. They are historical evidence, not the first place to learn normal usage.

Repository Layout

Path Purpose
CMakeLists.txt Project declaration and version source
CMakePresets.json Standard configure, build, and test presets
cmake/ CMake modules, source inventories, and generated config templates
src/ Aria2 Next command-line client and core implementation
tests/ CppUnit test suite registered through CTest
docs/ Documentation, manual sources, completion tooling, and maintenance records
.github/ Issue forms, pull request template, CI, and release workflows
packaging/ Release dependencies, cross-build scripts, Dockerfiles, and package assets
third_party/ Vendored source with explicit ownership rules
tools/ Local developer helpers

License

Same as aria2: GPLv2. The OpenSSL linking exception text is preserved in docs/licenses/OPENSSL.md.

About

Maintained aria2 fork with extensive bug fixes and modernized architecture

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors