core/torrent-handler/README.md
2025-02-27 19:18:54 +01:00

76 lines
2.2 KiB
Markdown

Core System Components
Manifest File
Contains all core system metadata, configuration schema, navigation structure, features, and hooks
CoreID: 1000
Name: Torrent Handler (Transmission)
Version: 1.0.0
Author: MasterDraco
Core Implementation
Complete JavaScript implementation with Transmission RPC API integration
Methods for connecting to Transmission, managing torrents, and handling hooks
Support for all requested features: start/stop/delete torrents, add new torrents, set seed ratio and time
UI Components
Torrent Dashboard: Shows all active torrents with stats and control buttons
Add Torrent Form: Upload torrent files with configurable settings
Torrent Settings: Configure connection and default torrent settings
Routes and Registration
Route handling for all pages
Navigation registration
CSS style registration
Core system registration with the framework
CSS Styles
Comprehensive styling for all components
Responsive design for different screen sizes
Status indicators, progress bars, and other UI elements
Features Implemented
✅ Connection to Transmission RPC API
✅ Start/stop/delete torrents
✅ Add new torrents by uploading torrent files
✅ Configure seed ratio for torrents
✅ Set time ratio (minutes) for seeding
✅ Auto-start toggle for new torrents
✅ Progress monitoring and status display
✅ Hook system for plugin extensions
How to Use the Core System
The system will connect to Transmission at the configured URL
The dashboard shows all torrents with their current status and progress
Use the Add Torrent button to upload new .torrent files
Configure default settings through the Settings page
For each torrent, you can:
Start or stop torrents
Remove torrents (keeping files)
Delete torrents (removing files)
Extension Points (Hooks)
I've included several hooks that plugins can use:
torrent_added: Triggers when a new torrent is added
torrent_completed: Triggers when a torrent finishes downloading
torrent_removed: Triggers when a torrent is removed
before_torrent_action: Allows intercepting actions before they happen
This system is ready to integrate with any framework that follows the specified pattern. Let me know if you need any clarification or have any questions about implementing specific aspects of the core system!