by ChenYFan

GitHub Readme.md

WebUI-Aria2 | Aria2网页UI

Main interface

The aim for this project is to create the worlds best and hottest interface to interact with aria2. aria2 is the worlds best file downloader, but sometimes the command line brings more power than necessary. The project was initially created as part of the GSOC scheme, however it has rapidly grown and changed with tremendous support and feedback from the aria2 community.


Very simple to use, no build scripts, no installation scripts. First start aria2 in the background either in your local machine or in a remote one. You can do that as follows:


aria2c --enable-rpc --rpc-listen-all


If aria2 is not installed in your local machine then head on to https://aria2.github.io/ and follow the instructions there.

如果您的本地计算机中没有安装aria2,则直接安装到 https://aria2.github.io/ 然后按照那里的说明去做。

Then to use the WebUI-Aria2,


  • You can either download this repository and open index.html from docs folder. 您可以下载这个存储库并从docs文件夹打开index.html。

  • Or you could just head on to https://ziahamza.github.io/webui-aria2 and start downloading files! Once you have visited the URL thanks to Progressive Web Apps you can open the same URL even when you are offline. 或者直接访问https://ziahamza.github.io/webui-aria2 开始下载文件!多亏了Progressive Web Apps,一旦你访问了这个URL,即使你离线,你也可以打开相同的URL。

  • Or you can also use NodeJS to create simple server by using the following command from the project folder. 或者也可以使用NodeJS从项目文件夹中使用以下命令创建简单的服务器。

node node-server.js

Tips | 提示

  1. You can always select which files to download in case of torrents or metalinks. Just pause a download and a list icon should appear next to the settings button. To select which files to download before starting the download, give the flag --pause-metadata to aria2.


See link


Configuration | 配置

Read and edit configuration.js.


DirectURL | 直链

This feature allows users to download files that they download from aria2 directly from the webui dashboard. If you are familiar with how webservers work, setup a http server that points at the configured aria2 download directory, check permissions. Then Specify a full url: http://server:port/ in the webui directURL configuration.

该特性允许用户从webui仪表板直接从aria2下载文件。如果您熟悉web服务器的工作方式,请设置一个指向已配置的aria2下载目录的http服务器,检查权限。然后指定一个完整的url: http://server:port/ 在webui直接配置。

If the above is not obvious, keep reading what this is about in directurl.md


Dependencies | 依赖关系

Well, you need aria2. And a web browser (if that even counts!)


Docker support | Docker支持

There is two Dockerfile in this project, one is a common Dockerfile, which can be use for testing purpose.
The second is a production ready Dockerfile for arm32v7 plateforms (which includes raspberry).


第二个是用于arm32v7平台表单(其中包括raspberry)的production ready Dockerfile。


You can also try or use webui-aria2 in your LAN inside a Docker sandbox.


Build the image


sudo docker build -t yourname/webui-aria2 .

..and run it! It will be available at: http://localhost:9100


sudo docker run -v /Downloads:/data -p 6800:6800 -p 9100:8080 --name="webui-aria2" yourname/webui-aria2

/Downloads is the directory in the host where you want to keep the downloaded files.

/Downloads 这是您希望将下载的文件保存在主机中的目录.

Production ready (ARM platform) | 开始使用(ARM平台)

This image contains both aria2 and webui-aria2.


Build it (may take several hours due to the aria2 compilation process. Don't panic and grab a coffee).


docker build -f Dockerfile.arm32v7 -t yourname/webui-aria2 .

This command will ends up building three images:


  • The first one is just about compiling aria2 and goreman binaries. It MUST be deleted each time the ARIA2_VERSION is changed in the Dockerfile, otherwise you won't benefit from the update.
  • The second is about building and downloading some go dependencies (goreman and gosu).
  • The second one is the acutal aria2 container, the one you must use.

-第一个是关于编译aria2和goreman二进制文件。每次在Dockerfile中更改' ARIA2_VERSION '时都必须删除它,否则您将无法从更新中获益。 -第二个是关于建立和下载一些go依赖(goreman和gosu)。 -第二个是acutal aria2容器,您必须使用它。

Prepare the host volume: This image required few file to be mounted in the container.

准备主机卷: 这个映像只需要很少的文件就可以挂载到容器中。

/home/aria/aria2/session.txt  (empty file)
/home/aria/aria2/aria2.log    (empty file)
/home/aria/aria2/aria2.conf   (aria2 configuration file, not webui-aria2 conf) must contains at least `enable-rpc=true` and `rpc-listen-all=true`
/data/downloads/        (where the downloaded files goes)

Run it


docker run --restart=always \
        -v /home/<USER>/data/aria2/downloads:/data/downloads \
        -v /home/<USER>/data/aria2/.aria2:/home/aria/.aria2 \
        -p 6800:6800 -p 9100:8080 \
        --name="webui-aria2" \
        -d yourname/webui-aria2

Contributing | 贡献

Checkout contributor's guide to know more about how to contribute to this project.

Deploy to Heroku | 快速部署到Heroku


Support | 支持

For any support, feature request and bug report add an issue in the github project. link


License | 许可证

Refer to the LICENSE file (MIT License). If the more liberal license is needed then add it as an issue