Maintained download engine with aria2-compatible interfaces, modern transfer backends, and cross-platform release builds.
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.
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.
| 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.
Download a file:
aria2-next https://example.com/file.isoDownload 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=6800Inspect enabled features:
aria2-next --version
aria2-next --help=#allPrebuilt 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.
cmake --preset default
cmake --build --preset default
ctest --preset default
build/default/aria2-next --versionThe 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.
| 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.
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.
| 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 |
Same as aria2: GPLv2. The OpenSSL linking exception text is preserved in docs/licenses/OPENSSL.md.