mayswind/AriaNg
34.2
Weak · 1 October 2026
10.1k
lines of production code
JavaScript
primary language
2
measurements over time
What this system is
AriaNg is a web-based frontend interface for the aria2 download manager, built with AngularJS and Bootstrap. It provides a comprehensive user experience for managing download tasks, configuring RPC connections, and monitoring progress through a responsive, themeable UI. The system supports internationalization, real-time status updates via HTTP or WebSocket, and includes utilities for debugging and automation.
Features
Automated daily build publishing to GitHub
A new script, publish\_dailybuild.sh, has been added to automate the deployment of daily builds. When executed on the master branch within the CircleCI environment, this script securely clones the AriaNg-DailyBuild repository, replaces its contents with the current build artifacts from the dist directory, and pushes the changes back to GitHub, enabling users to access the latest daily build automatically.
scripts · high confidence
Initial configuration and localization infrastructure for AriaNg
This change introduces the foundational configuration layer for the AriaNg application. It adds a comprehensive set of AngularJS constants and configuration modules that define the application's behavior and user interface. Key additions include \aria2Errors.js\ and \aria2RpcConstants.js\ to map aria2 error codes and RPC service details to user-friendly messages, and \aria2Options.js\ which defines the schema for all aria2 download options (types, defaults, validation patterns). The \constants.js\ file establishes default settings such as theme, language, and RPC connection parameters, while \languages.js\ and \defaultLanguage.js\ provide the structure and initial content for multi-language support (including English, Chinese, German, French, etc.). Additionally, \fileTypes.js\ categorizes file extensions for filtering, and \configuration.js\ sets up the AngularJS module configuration for localization and storage. This entry represents the initial commit of these configuration files, establishing the baseline for the application's settings and internationalization.
src/scripts/config · high confidence
Initial project setup with build tooling and documentation
This change introduces the foundational structure for the AriaNg project, including a comprehensive README with feature lists and installation instructions, an MIT license file, and configuration files for code quality and version control (.editorconfig, .eslintrc.json, .gitignore, .gitattributes). It also establishes the Gulp build pipeline (gulpfile.js) to handle linting, asset processing, and bundling of the frontend application.
(repo-wide) · high confidence
Initial release of AriaNg web interface
This change introduces the core HTML structure and static assets for the AriaNg web frontend. It establishes the main application layout, including the header with RPC selection and task management toolbar, the sidebar navigation, and the search functionality. The entry also includes configuration for mobile web app capabilities (touch icons, viewport settings) and a robots.txt file to prevent search engine indexing of the application.
src · high confidence
Introduction of dedicated RPC transport services
The application now uses dedicated service modules to handle communication with the aria2 daemon, separating HTTP and WebSocket implementations. The new aria2HttpRpcService manages JSON-RPC requests over HTTP, supporting both POST and GET methods and allowing custom request headers, while the aria2WebSocketRpcService handles persistent WebSocket connections with automatic reconnection capabilities. The central aria2RpcService acts as a facade that routes calls to the appropriate transport based on user settings, providing a unified interface for task management and status updates.
src/scripts/services · high confidence
Introduction of default and dark theme styles
The application now includes dedicated CSS files for the 'aria-ng' skin, providing both a standard light theme (default.css) and a dark mode variant (default-dark.css). These styles define the visual appearance of core UI components such as the navigation bar, sidebar, forms, buttons, and modals, ensuring consistent styling across the interface and enabling users to switch between light and dark visual modes.
src/styles/theme · high confidence
New core and extend stylesheets for AriaNg UI components
This change introduces two new CSS files, \src/styles/core/core.css\ and \src/styles/core/extend.css\, which establish the foundational styling for the AriaNg interface. The core stylesheet resets default browser styles, customizes the appearance of \\<select\>\ dropdowns, and defines layout rules for the header, sidebar, and footer, including support for safe-area insets on mobile devices. The extend stylesheet overrides Bootstrap defaults to remove focus outlines from buttons and checkboxes, disables animations on progress bars, and adjusts cursor behaviors for interactive elements like checkboxes and drag-and-drop mirrors.
src/styles/core · high confidence
New debug console and command-line API controllers
The application now includes a debug console page (src/scripts/controllers/debug.js) for viewing, filtering, and auto-refreshing AriaNg logs, as well as executing arbitrary Aria2 RPC methods. Additionally, a new command controller (src/scripts/controllers/command.js) enables creating new download tasks and setting the default RPC profile via URL parameters, supporting base64-encoded URLs and query-string parameters for automation.
src/scripts/controllers · high confidence
New debug console, task list, and settings views introduced
The application now includes dedicated view templates for a debug console (with log filtering and RPC testing), a task list with drag-and-drop reordering and context menus, a new task creation page with file import and command API export, and a settings interface split into global and RPC-specific tabs. These changes provide users with enhanced debugging capabilities, more flexible task management, and granular configuration options for both the application and RPC connections.
src/views · high confidence
New directives for UI enhancements and functionality
This update introduces several new AngularJS directives to the application. The \ngAutoFocus\ directive automatically focuses input fields, improving usability on pages like the new task form. A \ngBlobDownload\ directive enables client-side file downloads using Blob URLs. Charting capabilities are enhanced with \ngChart\ and \ngPopChart\ directives that support theming (including dark mode) and proper lifecycle management. The \ngExportCommandApiDialog\ directive allows users to generate and copy API command URLs for tasks and settings. Validation is improved with \ngValidUrls\ to ensure only valid URLs are accepted in input fields. Additionally, \ngPieceBar\ and \ngPieceMap\ directives provide visual representations of download piece status, while \ngSetting\ and \ngSettingDialog\ directives manage setting options with features like history support, human-readable size formatting, and error tooltips.
src/scripts/directives · high confidence
Behavioural changes
AriaNg application core initialization and routing structure
The application core has been restructured into distinct modules: \\_\core.js\ now handles browser compatibility checks (blocking IE9 and older), \\\_fix.js\ manages content height adjustments, \app.js\ defines the main Angular module and its dependencies, \root.js\ initializes the application state including theme handling (light/dark/system), sidebar navigation, and storage availability checks, and \router.js\ configures the URL routes for downloading, waiting, stopped, new task, task detail, settings, debug, and status pages.
src/scripts/core · high confidence
New CSS styles for UI controls and components
Added new stylesheet files in src/styles/controls to define the visual presentation of various interface elements. These include styles for button spinners (angular-promise-buttons), chart popovers and wrappers, global status indicators, and table layouts for new tasks, settings, and task lists. The styles also cover piece-bar and piece-map visualizations, ensuring consistent layout, spacing, and responsive behavior (including safe-area insets) across the application's control components.
src/styles/controls · high confidence
New filters for task status, sorting, and formatting
The application now includes a suite of new AngularJS filters in the \src/scripts/filters\ directory to enhance task management and data presentation. Users can now see detailed task statuses, including specific states like 'Pending Verification' and 'Verifying' (with percentage support), via the \taskStatus\ filter. Sorting capabilities have been expanded with \fileOrderBy\, \peerOrderBy\, \taskOrderBy\, and \logOrderBy\ filters, allowing users to sort files, peers, tasks, and logs by various attributes such as name, size, speed, and completion percentage. Additionally, new formatting filters like \dateDuration\, \longDate\, \percent\, \readableVolume\, and \timeDisplayName\ provide more precise and localized display of time durations, percentages, and file sizes.
src/scripts/filters · high confidence
Dependencies
Initial npm dependency setup for AriaNg v1.3.15
The project now uses npm for package management, introducing a new package.json and package-lock.json to define dependencies. This includes Angular 1.6.10 and its modules, AdminLTE 2.4.18, Bootstrap 3.4.1, jQuery 3.4.1, and ECharts 3.8.5 for the frontend, along with Gulp 4 and related build tools for development. The application requires Node.js version 14 or higher.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 34 → 34 (+0.5)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 60 → 59 (-0.2)
- Architecture 81 → 84 (+2.9)
- Maturity 53 → 53 (+0.0)
- Readiness 18 → 18 (+0.0)
- Security 54 → 59 (+5.1)
- Accessibility 38 → 38 (+0.0)
Resolved (2)
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
- Documentation: no installation or build instructions (README.md)
New (5)
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (the committed lockfile is in a format this engine cannot resolve)
- End-of-life framework: AngularJS 1
- Medium CVE: [GHSA redacted] (package-lock.json)
- taskStatus.angular.module("ariaNg").filter("taskStatus") (cognitive 22) (src/scripts/filters/taskStatus.js)
- taskStatus.angular.module("ariaNg").filter("taskStatus") (cyclomatic 17) (src/scripts/filters/taskStatus.js)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mayswind/AriaNg was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit d3ccb51527d56d8b77a5928f0e1421d02ecbc1a1 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.