clarion-app / rss-torrents-backend
Manages RSS feeds and retrieves torrents from them.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/clarion-app/rss-torrents-backend
Requires
- clarion-app/backend: dev-main
 - clarion-app/eloquent-multichain-bridge: dev-main
 - willvincent/feeds: dev-master
 
This package is auto-updated.
Last update: 2025-10-21 01:01:07 UTC
README
A Laravel-based backend service for monitoring and managing RSS torrent feeds. This package provides automated RSS feed parsing, torrent discovery, and series/episode management capabilities for the Clarion App ecosystem.
Features
- RSS Feed Monitoring: Automated parsing of torrent RSS feeds (EZTV, Nyaa Subsplease)
 - Series Management: Track and manage TV series with subscription capabilities
 - Episode Tracking: Monitor individual episodes with metadata (resolution, size, magnet links)
 - Scheduled Processing: Automatic feed checking every minute via Laravel scheduler
 - RESTful API: Full CRUD operations for series and episodes
 
Supported Feed Sources
- EZTV (
https://eztv.re/ezrss.xml) - TV series torrents - Nyaa Subsplease - Anime series torrents
 
Configuration
The package automatically registers:
- Database migrations for series and episodes
 - API routes under the configured route prefix
 - Scheduled command for feed checking
 - Console commands
 
API Endpoints
All endpoints require authentication (auth:api middleware).
Feeds
GET /feeds/urls- Get list of available RSS feed URLsGET /feeds/torrents- Retrieve torrents from all feeds
Series Management
GET /series- List all seriesPOST /series- Create a new seriesGET /series/{id}- Get specific series detailsPUT /series/{id}- Update series informationDELETE /series/{id}- Delete a seriesGET /series-subscribed- Get subscribed series onlyPATCH /series/{id}/toggle-subscription- Toggle series subscriptionPATCH /series/bulk-subscription- Bulk update subscriptions
Console Commands
Check Feeds
php artisan feeds:check
Manually trigger RSS feed checking and database updates.
Database Schema
Series Table (rss_torrents_series)
id- Primary keyname- Series name (normalized)title- Display titlefeed_url- RSS feed URLsubscribed- Subscription status (boolean)created_at,updated_at- Timestampsdeleted_at- Soft delete timestamp
Episodes Table (rss_torrents_episodes)
id- Primary keyseries_id- Foreign key to seriesepisode_identifier- Episode identifier (S01E01, date, etc.)title- Episode titleresolution- Video resolution (SD, 720p, 1080p)size- File sizemagnet_url- Magnet link for downloadcreated_at,updated_at- Timestamps
Architecture
Core Classes
RssTorrentsServiceProvider- Laravel service provider for package registrationRssParser- Main RSS parsing coordinatorRss- Base RSS feed handlerEZTV/NyaaSubsplease- Feed-specific parsersSeries/Episode- Eloquent models with multi-chain supportCheckFeeds- Console command for feed processing
Feed Processing Flow
- Scheduler runs 
feeds:checkcommand every minute RssParserretrieves feed URLs and delegates to appropriate parsers- Feed-specific parsers extract torrent information
 - Series and episodes are created/updated in database
 - API endpoints provide access to processed data
 
Development
Project Structure
src/
├── Commands/
│   └── CheckFeeds.php          # Console command for feed checking
├── Controllers/
│   ├── FeedsController.php     # Feed-related API endpoints
│   └── SeriesController.php    # Series management endpoints
├── Feeds/
│   ├── EZTV.php               # EZTV feed parser
│   └── NyaaSubsplease.php     # Nyaa feed parser
├── Models/
│   ├── Episode.php            # Episode model
│   └── Series.php             # Series model
├── HttpApiCall.php            # HTTP client wrapper
├── Rss.php                    # Base RSS feed class
├── RssParser.php              # Main RSS parsing coordinator
└── RssTorrentsServiceProvider.php  # Laravel service provider
Adding New Feed Sources
- Create a new class extending 
Rssin theFeeds/directory - Implement the 
getTorrents()method - Add the feed URL to the 
$valid_feedsstatic property - Register in 
RssParser::getURLs() 
License
MIT License
Author
Tim Schwartz
Email: tim@metaverse.systems
Contributing
This package is part of the Clarion App ecosystem. Please follow the project's contribution guidelines when submitting changes.