Setsuna is a Flutter desktop client for aria2 that combines:
- built-in aria2 management for local daily use
- remote aria2 connection profiles and task management
- desktop-focused integrations such as tray, notifications, protocol handling, UPnP/NAT-PMP, and run-at-startup
The current product goal is to cover the day-to-day workflow of a Motrix-style desktop downloader while also providing AriaNg-style remote aria2 management in a single app.
- Managed built-in aria2 instance with start, reconnect, and settings application
- Built-in aria2 settings page with desktop-oriented options
- Session reset tool for built-in aria2 recovery
- BT and seeding support, including seeding-aware task state handling
- UPnP / NAT-PMP integration for built-in aria2
- Saved remote RPC profiles with protocol, host, port, secret, RPC path, and custom RPC headers
- Remote aria2 global settings page for common transfer, BT, network, and proxy options
- Remote status and maintenance page with runtime summary, save session, and stopped-record cleanup
- Unified download list and task operations across connected built-in and remote instances
- Add tasks through URI, Torrent, and Metalink
- Pause, resume, retry, remove, open folder, and batch task actions
- Task details dialog with files, peers, trackers, pieces, and BT-specific overview data
- BT seeding detection aligned with aria2 task semantics
- System tray integration
- Desktop notifications
- Protocol handling for supported external download links
- Run-at-startup integration
- Optional custom title bar and window behavior controls
- Windows
- macOS
- Linux
Desktop integration quality is currently strongest on Windows, which is the primary development target.
- Flutter SDK compatible with this repository
- Dart SDK compatible with the installed Flutter SDK
- Platform toolchain for your target desktop OS
flutter pub get
flutter run -d windows
flutter analyze
flutter test
flutter build windows --releaselib/
app.dart
constants/
generated/
l10n/
models/
pages/
services/
utils/
test/
- Built-in instance management remains the primary product path.
- Remote instance management is designed as a desktop companion workflow, not a browser-style frontend clone.