# Transmission RSS Manager A C# application for managing RSS feeds and automatically downloading torrents via Transmission BitTorrent client. ## Features - Monitor multiple RSS feeds for new torrents - Apply regex-based rules to automatically match and download content - Manage Transmission torrents through a user-friendly web interface - Post-processing of completed downloads (extract archives, organize media files) - Responsive web UI for desktop and mobile use ## Requirements - .NET 7.0 or higher - Transmission BitTorrent client (with remote access enabled) - Linux OS (tested on Ubuntu, Debian, Fedora, Arch) - Dependencies: unzip, p7zip, unrar (for post-processing) ## Installation ### Automatic Installation Run the installer script: ```bash curl -sSL https://raw.githubusercontent.com/yourusername/transmission-rss-manager/main/install-script.sh | bash ``` Or if you've cloned the repository: ```bash ./src/Infrastructure/install-script.sh ``` ### Manual Installation 1. Install .NET 7.0 SDK from [Microsoft's website](https://dotnet.microsoft.com/download) 2. Clone the repository: ```bash git clone https://github.com/yourusername/transmission-rss-manager.git cd transmission-rss-manager ``` 3. Build and run the application: ```bash dotnet build -c Release dotnet run ``` 4. Open a web browser and navigate to: `http://localhost:5000` ## Configuration After starting the application for the first time, a configuration file will be created at `~/.config/transmission-rss-manager/config.json`. You can configure the application through the web interface or by directly editing the configuration file. ### Key configuration options - **Transmission settings**: Host, port, username, password - **RSS feed checking interval** - **Auto-download settings** - **Post-processing options** - **Download and media library directories** ## Usage ### Managing RSS Feeds 1. Add RSS feeds through the web interface 2. Create regex rules for each feed to match desired content 3. Enable auto-download for feeds you want to process automatically ### Managing Torrents - Add torrents manually via URL or magnet link - View, start, stop, and remove torrents - Process completed torrents to extract archives and organize media ## Development ### Building from source ```bash dotnet build ``` ### Running in development mode ```bash dotnet run ``` ### Creating a release ```bash dotnet publish -c Release ``` ## Architecture The application is built using ASP.NET Core with the following components: - **Web API**: REST endpoints for the web interface - **Background Services**: RSS feed checking and post-processing - **Core Services**: Configuration, Transmission communication, RSS parsing ## License This project is licensed under the MIT License - see the LICENSE file for details. ## Acknowledgments - [Transmission](https://transmissionbt.com/) - BitTorrent client - [ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core/) - Web framework - [Bootstrap](https://getbootstrap.com/) - UI framework