Convert Figma logo to code with AI

P3TERX logoAria2-Pro-Docker

Aria2 Pro | A perfect Aria2 Docker image | 更好用的 Aria2 Docker 容器镜像

3,231
383
3,231
56

Top Related Projects

35,422

aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.

The Docker image for Aria2 + AriaNg + File Browser + Rclone

11,779

AriaNg, a modern web frontend making aria2 easier to use.

The aim for this project is to create the worlds best and hottest interface to interact with aria2. Very simple to use, just download and open index.html in any web browser.

Quick Overview

P3TERX/Aria2-Pro-Docker is a Docker image for Aria2 Pro, an enhanced version of the Aria2 download utility. It includes optimized configurations, additional features, and a web interface for easier management. This project aims to provide a convenient and powerful solution for users who need a reliable download manager in a containerized environment.

Pros

  • Easy deployment and management through Docker
  • Optimized configurations for better performance
  • Includes a web interface (AriaNg) for user-friendly control
  • Regular updates and active maintenance

Cons

  • May require some Docker knowledge for advanced customization
  • Limited documentation for troubleshooting specific issues
  • Potential resource overhead due to running in a container
  • Some features may not be necessary for basic download needs

Getting Started

To get started with P3TERX/Aria2-Pro-Docker, follow these steps:

  1. Install Docker on your system if you haven't already.

  2. Pull the Docker image:

docker pull p3terx/aria2-pro
  1. Create and run the container:
docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=1m \
    -e PUID=$UID \
    -e PGID=$GID \
    -e UMASK_SET=022 \
    -e RPC_SECRET=YOUR_SECRET \
    -e RPC_PORT=6800 \
    -p 6800:6800 \
    -e LISTEN_PORT=6888 \
    -p 6888:6888 \
    -p 6888:6888/udp \
    -v $PWD/aria2-config:/config \
    -v $PWD/aria2-downloads:/downloads \
    p3terx/aria2-pro

Replace YOUR_SECRET with your desired RPC secret and adjust the paths for config and download directories as needed.

  1. Access the web interface by opening a browser and navigating to http://localhost:6800.

For more detailed instructions and configuration options, refer to the project's GitHub repository.

Competitor Comparisons

35,422

aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.

Pros of aria2

  • Official repository maintained by the original aria2 developers
  • Lightweight and focused on core aria2 functionality
  • Highly customizable through command-line options and configuration files

Cons of aria2

  • Lacks built-in web interface and additional features
  • Requires more manual setup and configuration
  • May not include optimizations for specific use cases or environments

Code Comparison

Aria2-Pro-Docker:

FROM p3terx/aria2-pro:latest
ENV ARIA2_CONF_DIR="/config" \
    ARIA2_DOWNLOAD_DIR="/downloads"
VOLUME ["/config", "/downloads"]

aria2:

FROM alpine:latest
RUN apk add --no-cache aria2
ENTRYPOINT ["aria2c", "--conf-path=/etc/aria2/aria2.conf"]

The Aria2-Pro-Docker Dockerfile builds upon a pre-configured image with additional features, while the aria2 Dockerfile provides a minimal setup using the official aria2 package from Alpine Linux.

The Docker image for Aria2 + AriaNg + File Browser + Rclone

Pros of aria2-ariang-docker

  • Includes AriaNg web interface for easier management
  • Supports multiple file systems (SFTP, WebDAV, Dropbox, etc.)
  • Offers additional features like Filebrowser and Rclone

Cons of aria2-ariang-docker

  • Less frequent updates compared to Aria2-Pro-Docker
  • May have higher resource usage due to additional components
  • Configuration might be more complex for some users

Code Comparison

Aria2-Pro-Docker:

FROM p3terx/aria2-pro:latest
COPY root /

aria2-ariang-docker:

FROM alpine:edge
RUN apk update && apk add --no-cache aria2 darkhttpd wget
COPY aria2c.conf /etc/aria2/aria2.conf

The Aria2-Pro-Docker Dockerfile is simpler, using a pre-built image, while aria2-ariang-docker builds from Alpine and installs necessary components.

Both repositories provide Docker-based solutions for running Aria2, but they cater to different user needs. Aria2-Pro-Docker focuses on a streamlined, optimized Aria2 experience, while aria2-ariang-docker offers a more feature-rich environment with additional tools and interfaces. Users should choose based on their specific requirements for simplicity versus functionality.

11,779

AriaNg, a modern web frontend making aria2 easier to use.

Pros of AriaNg

  • Lightweight web frontend for Aria2, focusing on user interface
  • Cross-platform compatibility (works on various browsers and devices)
  • Supports multiple languages and themes

Cons of AriaNg

  • Requires a separate Aria2 backend to function
  • Limited built-in features compared to Aria2-Pro-Docker
  • May need additional configuration for advanced setups

Code Comparison

AriaNg (HTML structure):

<body>
    <div ng-app="ariaNg">
        <nav class="navbar navbar-default">
            <!-- Navigation content -->
        </nav>
        <div class="container-fluid">
            <!-- Main content -->
        </div>
    </div>
</body>

Aria2-Pro-Docker (Docker Compose):

version: '3'
services:
  aria2-pro:
    image: p3terx/aria2-pro
    container_name: aria2-pro
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./config:/config
      - ./downloads:/downloads

AriaNg focuses on providing a user-friendly web interface for Aria2, while Aria2-Pro-Docker offers a more comprehensive solution with pre-configured Aria2 and additional features in a Docker container. AriaNg requires a separate Aria2 instance, whereas Aria2-Pro-Docker includes both the backend and frontend components in a single package.

The aim for this project is to create the worlds best and hottest interface to interact with aria2. Very simple to use, just download and open index.html in any web browser.

Pros of webui-aria2

  • Lightweight and simple web interface for Aria2
  • Easy to set up and use without extensive configuration
  • Cross-platform compatibility (works on various operating systems)

Cons of webui-aria2

  • Limited advanced features compared to Aria2-Pro-Docker
  • Less frequent updates and maintenance
  • Fewer optimization options for download performance

Code Comparison

webui-aria2:

app.get('/api/addUri', function(req, res) {
  var uri = req.query.uri;
  aria2.addUri([uri], function(err, gid) {
    if (err) return res.send(500, err);
    res.send(200, gid);
  });
});

Aria2-Pro-Docker:

docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=1m \
    -e PUID=$UID \
    -e PGID=$GID \
    -e RPC_SECRET=YOUR_SECRET \
    -p 6800:6800 \
    -v $PWD/aria2-config:/config \
    -v $PWD/aria2-downloads:/downloads \
    p3terx/aria2-pro

The code snippets show the difference in implementation. webui-aria2 focuses on a JavaScript-based web interface, while Aria2-Pro-Docker provides a more comprehensive Docker-based solution with additional configuration options and optimizations.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

English | 中文

Aria2 Pro Docker

LICENSE GitHub Stars GitHub forks Docker Stars Docker Pulls GitHub Workflow Status

A perfect Aria2 Docker image. Out of the box, just add download tasks and don't need to think about anything else.

Features

  • Supported platforms: amd64, i386, arm64, arm/v7, arm/v6
  • Full Function: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, SFTP
  • max-connection-per-server unlimited.
  • retry on slow speed (lowest-speed-limit) and connection close
  • High BT download rate and speed
  • Get BitTorrent tracker automatically
  • Download error automatically delete files
  • Download cancel automatically delete files
  • Automatically clear .aria2 suffix files
  • Automatically clear .torrent suffix files
  • No lost task progress, no repeated downloads
  • And more powerful features

Usage

Docker CLI

  • No matter what architecture platform is used, just use the following command to start the container ( Just need to replace the <TOKEN> field ):
docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=1m \
    -e PUID=$UID \
    -e PGID=$GID \
    -e UMASK_SET=022 \
    -e RPC_SECRET=<TOKEN> \
    -e RPC_PORT=6800 \
    -p 6800:6800 \
    -e LISTEN_PORT=6888 \
    -p 6888:6888 \
    -p 6888:6888/udp \
    -v $PWD/aria2-config:/config \
    -v $PWD/aria2-downloads:/downloads \
    p3terx/aria2-pro
  • Then you need a WebUI for control, such as AriaNg. This link is provided by the developer and can be used directly. Or use Docker to deploy it yourself:
docker run -d \
    --name ariang \
    --log-opt max-size=1m \
    --restart unless-stopped \
    -p 6880:6880 \
    p3terx/ariang

TIPS: It is important for the firewall to open ports.

Docker Compose

wget git.io/aria2-pro.yml
  • Edit Compose file
vim aria2-pro.yml
  • Compose up
docker-compose -f aria2-pro.yml up -d

Other

Parameters

ParameterFunction
-e PUID=$UID
-e PGID=$GID
Bind UID and GID to the container, which means you can use a non-root user to manage downloaded files.
-e UMASK_SET=022For umask setting of Aria2, optional , default if left unset is 022
-e RPC_SECRET=<TOKEN>Set RPC secret authorization token. Default: P3TERX
-e RPC_PORT=6800Set RPC listen port.
-p 6800:6800bind RPC listen port.
-e LISTEN_PORT=6888Set TCP/UDP port number for BitTorrent/DHT listen.
-p 6888:6888Bind BT listen port (TCP).
-p 6888:6888/udpBind DHT lisen port (UDP).
-v <PATH>:/configContains all relevant configuration files.
-v <PATH>:/downloadsLocation of downloads on disk.
-e DISK_CACHE=<SIZE>Set up disk cache. SIZE can include K or M (1K = 1024, 1M = 1024K), e.g 64M.
-e IPV6_MODE=<BOOLEAN>Whether to enable IPv6 support for Aria2. Optional: true or false. Set the options disable-ipv6=false and enable-dht6=true in the configuration file(aria2.conf).
-e UPDATE_TRACKERS=<BOOLEAN>Whether to update BT Trackers List automatically. Optional: true or flase, default if left unset is true
-e CUSTOM_TRACKER_URL=<URL>Custom BT Trackers List URL. If not set, it will be get from https://trackerslist.com/all_aria2.txt.
-e TZ=Asia/ShanghaiSpecify a timezone to use e.g. Asia/Shanghai

Advanced

I am working hard on my English, so this part may be explained in detail later. If you can read Chinese, read the details in my blog.

Credits

License

MIT © P3TERX