115 lines
3.0 KiB
Markdown
115 lines
3.0 KiB
Markdown
# 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 |