PHPackages                             clarion-app/rss-torrents-backend - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. clarion-app/rss-torrents-backend

ActiveLibrary

clarion-app/rss-torrents-backend
================================

Manages RSS feeds and retrieves torrents from them.

00PHP

Since Apr 4Pushed 1mo agoCompare

[ Source](https://github.com/clarion-app/rss-torrents-backend)[ Packagist](https://packagist.org/packages/clarion-app/rss-torrents-backend)[ RSS](/packages/clarion-app-rss-torrents-backend/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

RSS Torrents Backend
====================

[](#rss-torrents-backend)

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
--------

[](#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
----------------------

[](#supported-feed-sources)

- **EZTV** (`https://eztv.re/ezrss.xml`) - TV series torrents
- **Nyaa Subsplease** - Anime series torrents

Configuration
-------------

[](#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
-------------

[](#api-endpoints)

All endpoints require authentication (`auth:api` middleware).

### Feeds

[](#feeds)

- `GET /feeds/urls` - Get list of available RSS feed URLs
- `GET /feeds/torrents` - Retrieve torrents from all feeds

### Series Management

[](#series-management)

- `GET /series` - List all series
- `POST /series` - Create a new series
- `GET /series/{id}` - Get specific series details
- `PUT /series/{id}` - Update series information
- `DELETE /series/{id}` - Delete a series
- `GET /series-subscribed` - Get subscribed series only
- `PATCH /series/{id}/toggle-subscription` - Toggle series subscription
- `PATCH /series/bulk-subscription` - Bulk update subscriptions

Console Commands
----------------

[](#console-commands)

### Check Feeds

[](#check-feeds)

```
php artisan feeds:check
```

Manually trigger RSS feed checking and database updates.

Database Schema
---------------

[](#database-schema)

### Series Table (`rss_torrents_series`)

[](#series-table-rss_torrents_series)

- `id` - Primary key
- `name` - Series name (normalized)
- `title` - Display title
- `feed_url` - RSS feed URL
- `subscribed` - Subscription status (boolean)
- `created_at`, `updated_at` - Timestamps
- `deleted_at` - Soft delete timestamp

### Episodes Table (`rss_torrents_episodes`)

[](#episodes-table-rss_torrents_episodes)

- `id` - Primary key
- `series_id` - Foreign key to series
- `episode_identifier` - Episode identifier (S01E01, date, etc.)
- `title` - Episode title
- `resolution` - Video resolution (SD, 720p, 1080p)
- `size` - File size
- `magnet_url` - Magnet link for download
- `created_at`, `updated_at` - Timestamps

Architecture
------------

[](#architecture)

### Core Classes

[](#core-classes)

- **`RssTorrentsServiceProvider`** - Laravel service provider for package registration
- **`RssParser`** - Main RSS parsing coordinator
- **`Rss`** - Base RSS feed handler
- **`EZTV`** / **`NyaaSubsplease`** - Feed-specific parsers
- **`Series`** / **`Episode`** - Eloquent models with multi-chain support
- **`CheckFeeds`** - Console command for feed processing

### Feed Processing Flow

[](#feed-processing-flow)

1. Scheduler runs `feeds:check` command every minute
2. `RssParser` retrieves feed URLs and delegates to appropriate parsers
3. Feed-specific parsers extract torrent information
4. Series and episodes are created/updated in database
5. API endpoints provide access to processed data

Development
-----------

[](#development)

### Project Structure

[](#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

[](#adding-new-feed-sources)

1. Create a new class extending `Rss` in the `Feeds/` directory
2. Implement the `getTorrents()` method
3. Add the feed URL to the `$valid_feeds` static property
4. Register in `RssParser::getURLs()`

License
-------

[](#license)

MIT License

Author
------

[](#author)

**Tim Schwartz**
Email:

Contributing
------------

[](#contributing)

This package is part of the Clarion App ecosystem. Please follow the project's contribution guidelines when submitting changes.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance61

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/544de7b46960eb87f0f60bc59cb8bd4dccd2679622adf0c8ed82b75df9f65685?d=identicon)[timschwartz](/maintainers/timschwartz)

---

Top Contributors

[![timschwartz](https://avatars.githubusercontent.com/u/13080528?v=4)](https://github.com/timschwartz "timschwartz (4 commits)")

### Embed Badge

![Health badge](/badges/clarion-app-rss-torrents-backend/health.svg)

```
[![Health](https://phpackages.com/badges/clarion-app-rss-torrents-backend/health.svg)](https://phpackages.com/packages/clarion-app-rss-torrents-backend)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
