Skip to content

DeveloperAshish2310/Aria2-Webui

Repository files navigation

Aria2 Nexus

A modern, mobile-first Aria2 WebUI built with Next.js.

Manage downloads in real time with queue controls, history tracking, per-download analytics, notifications, custom branding, and PWA install support.


✨ Features

  • Realtime Aria2 queue and status sync
  • Dashboard with live speed graph and stats cards
  • Queue management:
    • Pause / Resume / Cancel
    • Stop Seeding
    • Per-item Details page
  • History management with delete support
  • Search in Queue and History
  • Accurate status normalization:
    • Completed / Failed / Removed / Stopped / Seeding
  • Download details page:
    • Live progress + speed chart
    • Metadata (file, path, URL, timestamps)
    • Share link support
  • Settings (DB-backed + local fallback):
    • RPC host
    • Max concurrent downloads
    • Max speed limit
    • Default file download path
    • Seeding on/off
    • Notifications on/off
    • Theme preference
    • Light logo upload
    • Dark logo upload
  • Notification center:
    • DB-persisted notifications
    • Read / unread state
    • Mark one/all as read
    • Browser notifications (with permission)
  • PWA support:
    • Installable web app
    • Manifest + Service Worker
  • Responsive UI optimized for desktop and mobile

🧰 Tech Stack

  • Next.js 16 (App Router)
  • React 19
  • TypeScript
  • Zustand
  • MySQL (mysql2)
  • Recharts
  • Tailwind CSS + Radix UI components

🚀 Getting Started

1) Install dependencies

npm install

2) Configure MySQL

Default DB connection uses:

  • Host: localhost
  • User: root
  • Password: `` (empty)
  • Database: aria2_db

You can override with environment variables:

  • MYSQL_HOST
  • MYSQL_USER
  • MYSQL_PASSWORD
  • MYSQL_DATABASE

3) Create schema

Run SQL from:

  • scripts/schema.sql

4) Start app

npm run dev

Open: http://localhost:3000

5) Production build

npm run build
npm start

⚙️ Aria2 RPC Notes

Set your Aria2 RPC endpoint in Settings (for example: http://<ip>:6800/jsonrpc).

Make sure your Aria2 daemon is started with RPC enabled and reachable from the app.


🔌 API Endpoints

  • GET /api/downloads
  • POST /api/downloads
  • DELETE /api/downloads?gid=<gid>
  • POST /api/downloads/sync
  • GET /api/downloads/[gid]
  • GET /api/settings
  • POST /api/settings
  • GET /api/stats
  • GET /api/notifications
  • POST /api/notifications
  • PATCH /api/notifications

📱 PWA

This app can be installed as a Web App (Add to Home Screen / Install App) with:

  • app/manifest.ts
  • public/sw.js

About

A modern, mobile-first Aria2 WebUI built with Next.js — realtime queue/history, smart status tracking, notification center, theming, PWA install, and per-download analytics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors