Convert Figma logo to code with AI

mayswind logoAriaNg

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

11,779
1,284
11,779
34

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.

2,350

Yet Another Aria2 Webui in pure HTML/CSS/Javascirpt

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.

Persepolis is a download manager written in Python.

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

Quick Overview

AriaNg is a modern web frontend for aria2, a lightweight multi-protocol & multi-source command-line download utility. It provides a user-friendly interface for managing downloads, with features like real-time updates, responsive design, and multi-language support.

Pros

  • Easy to use and intuitive interface
  • Supports multiple languages and themes
  • Responsive design, works well on desktop and mobile devices
  • No backend required, can connect directly to aria2 through JSON-RPC

Cons

  • Requires aria2 to be installed and running separately
  • Limited to features supported by aria2
  • May require additional setup for remote access and security

Getting Started

  1. Ensure aria2 is installed and running with JSON-RPC enabled.
  2. Download the latest release of AriaNg from the GitHub repository.
  3. Extract the files and host them on a web server or open index.html directly in a browser.
  4. Configure AriaNg to connect to your aria2 instance by entering the appropriate RPC URL, port, and secret token (if used) in the AriaNg settings.

Example aria2 command to enable JSON-RPC:

aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all

Once set up, you can start using AriaNg to manage your downloads through the web interface.

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

  • Core download engine with powerful functionality and high performance
  • Supports a wide range of protocols including HTTP, HTTPS, FTP, BitTorrent, and Metalink
  • Command-line interface allows for easy integration into scripts and automation

Cons of aria2

  • Lacks a built-in graphical user interface
  • Can be complex to set up and configure for new users
  • Limited visual feedback on download progress without additional tools

Code Comparison

aria2 (C++):

void HttpSkipResponseHeader() {
  status_ = RECV_BODY;
  if (chunkedDecoding_) {
    return;
  }
  auto contentLength = response_->getContentLength();
  if (contentLength == 0) {
    // ...
  }
}

AriaNg (JavaScript):

(function () {
    'use strict';
    angular.module('ariaNg').factory('ariaNgCommonService', ['$location', '$timeout', 'ariaNgConstants', 'ariaNgLocalizationService', function ($location, $timeout, ariaNgConstants, ariaNgLocalizationService) {
        return {
            // ...
        };
    }]);
}());

Note: AriaNg is a web frontend for aria2, so the code comparison is not directly equivalent. AriaNg provides a user-friendly interface to interact with aria2's functionality.

2,350

Yet Another Aria2 Webui in pure HTML/CSS/Javascirpt

Pros of yaaw

  • Lightweight and minimalistic interface
  • Supports multiple languages out of the box
  • Faster initial loading time due to simpler design

Cons of yaaw

  • Less actively maintained (last update in 2017)
  • Fewer features and customization options
  • Limited mobile device support

Code Comparison

yaaw:

var aria2 = (function() {
    var jsonrpc_interface, jsonrpc_path, jsonrpc_protocol;
    var auth = null;
    var request = function(method, params, success, error) {
        // ... (implementation details)
    };
    // ... (more code)
})();

AriaNg:

(function () {
    'use strict';
    angular.module('ariaNg').factory('aria2RpcService', ['$q', '$timeout', 'ariaNgCommonService', 'ariaNgSettingService', 'ariaNgLogService', function ($q, $timeout, ariaNgCommonService, ariaNgSettingService, ariaNgLogService) {
        var rpcUrl = ariaNgSettingService.getRpcUrl();
        var secret = ariaNgSettingService.getRpcSecret();
        // ... (more code)
    }]);
})();

The code comparison shows that yaaw uses a more traditional JavaScript approach, while AriaNg utilizes AngularJS for its implementation. AriaNg's code structure suggests a more modular and maintainable design, which aligns with its more feature-rich and actively maintained nature.

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

  • Simpler and more lightweight interface
  • Easier to set up and run, with fewer dependencies
  • Supports multiple languages out of the box

Cons of webui-aria2

  • Less feature-rich compared to AriaNg
  • Not as actively maintained, with fewer recent updates
  • Limited customization options for the user interface

Code Comparison

AriaNg uses Angular for its frontend, while webui-aria2 uses jQuery. Here's a brief comparison:

AriaNg (Angular):

@Component({
  selector: 'aria-ng',
  templateUrl: './aria-ng.component.html',
  styleUrls: ['./aria-ng.component.css']
})
export class AriaNgComponent implements OnInit {
  // Component logic
}

webui-aria2 (jQuery):

$(document).ready(function() {
  // jQuery-based logic
  $('#download-form').submit(function(e) {
    e.preventDefault();
    // Handle form submission
  });
});

Both projects aim to provide a web interface for aria2, but they differ in their approach and technology stack. AriaNg offers a more modern and feature-rich experience, while webui-aria2 provides a simpler and more lightweight alternative.

Persepolis is a download manager written in Python.

Pros of Persepolis

  • Full-featured download manager with a graphical user interface
  • Supports multiple protocols including HTTP, FTP, and BitTorrent
  • Integrates with browsers via extensions for seamless download management

Cons of Persepolis

  • Larger application size and resource footprint
  • Requires installation and system dependencies
  • Less focused on Aria2 integration compared to AriaNg

Code Comparison

AriaNg (HTML-based interface):

<div class="row">
  <div class="col-md-12">
    <div class="task-table" ng-class="{'draggable': isSupportDragTask()}">
      <table class="table table-hover">
        <!-- Task list table content -->
      </table>
    </div>
  </div>
</div>

Persepolis (Python-based application):

def startAria(self):
    try:
        if not(self.aria2_path):
            self.aria2_path = findAria2()

        args = [self.aria2_path, '--no-conf',
                '--enable-rpc', '--rpc-listen-all',
                '--rpc-listen-port=' + str(self.port),
                '--rpc-max-request-size=2M',
                '--rpc-secret=' + self.aria2_secret]
        # Additional configuration and startup logic
    except Exception as e:
        # Error handling

Summary

AriaNg is a lightweight, web-based frontend for Aria2, while Persepolis is a full-featured download manager with broader protocol support and a native GUI. AriaNg focuses on Aria2 integration, while Persepolis offers a more comprehensive download management solution at the cost of increased complexity and resource usage.

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

Pros of Aria2-Pro-Docker

  • Comes pre-configured with optimized settings for better performance
  • Includes additional features like auto-update and HTTPS support
  • Easier to deploy and manage in containerized environments

Cons of Aria2-Pro-Docker

  • Less flexible for users who want to customize their setup
  • May have a larger footprint due to additional features
  • Potentially more complex for users unfamiliar with Docker

Code Comparison

AriaNg (HTML-based configuration):

<aria-ng-setting option="maxConcurrentDownloads" default-value="5" min="1" max="16" required></aria-ng-setting>

Aria2-Pro-Docker (Docker-based configuration):

environment:
  - PUID=1000
  - PGID=1000
  - RPC_SECRET=your_secret
  - LISTEN_PORT=6888

Summary

AriaNg is a lightweight, web-based frontend for Aria2, offering flexibility and ease of use. Aria2-Pro-Docker, on the other hand, provides a more comprehensive solution with pre-configured optimizations and additional features, but may be less customizable. The choice between the two depends on the user's specific needs, Docker familiarity, and desired level of control over the configuration.

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

AriaNg

License Lastest Build Lastest Release

Introduction

AriaNg is a modern web frontend making aria2 easier to use. AriaNg is written in pure html & javascript, thus it does not need any compilers or runtime environment. You can just put AriaNg in your web server and open it in your browser. AriaNg uses responsive layout, and supports any desktop or mobile devices.

Features

  1. Pure Html & Javascript, no runtime required
  2. Responsive design, supporting desktop and mobile devices
  3. User-friendly interface
    • Sort tasks (by name, size, progress, remaining time, download speed, etc.), files, bittorrent peers
    • Search tasks
    • Retry tasks
    • Adjust task order by dragging
    • More information of tasks (health percentage, client information of bt peers, etc.)
    • Filter files by specified file types (videos, audios, pictures, documents, applications, archives, etc.) or file extensions
    • Tree view for multi-directory task
    • Download / upload speed chart for aria2 or single task
    • Full support for aria2 settings
  4. Dark theme
  5. Url command line api support
  6. Download finished notification
  7. Multi-languages support
  8. Multi aria2 RPC host support
  9. Exporting and Importing settings support
  10. Less bandwidth usage, only requesting incremental data

Screenshots

Desktop

AriaNg

Mobile Device

AriaNg

Installation

AriaNg now provides three versions, standard version, all-in-one version and AriaNg Native. Standard version is suitable for deployment in the web server, and provides on-demand loading. All-In-One version is suitable for local using, and you can download it and just open the only html file in browser. AriaNg Native is also suitable for local using, and is no need for browser.

Prebuilt release

Latest Release: https://github.com/mayswind/AriaNg/releases

Latest Daily Build (Standard Version): https://github.com/mayswind/AriaNg-DailyBuild/archive/master.zip

Building from source

Make sure you have Node.js, NPM and Gulp installed. Then download the source code, and follow these steps.

Standard Version
$ npm install
$ gulp clean build
All-In-One Version
$ npm install
$ gulp clean build-bundle

The builds will be placed in the dist directory.

Usage Notes

Since AriaNg standard version loads language resources asynchronously, you may not open index.html directly on the local file system to run AriaNg. It is recommended that you can use the all-in-one version or deploy AriaNg in a web container or download AriaNg Native that does not require a browser to run.

Translating

Everyone is welcome to contribute translations. All translations files are put in /src/langs/. You can just modify and commit a new pull request.

If you want to translate AriaNg to a new language, you can add language configuration to /src/scripts/config/languages.js, then copy /i18n/en.sample.txt to /src/langs/ and rename it to the language code to be translated, then you can start the translation work.

Documents

  1. English
  2. Simplified Chinese (简体中文)

Demo

Please visit http://ariang.mayswind.net/latest

Third Party Extensions

There are some third-party applications based on AriaNg, so you can use AriaNg in more scenarios or devices. Please visit Third Party Extensions for more information.

License

MIT