Skip to content

Feat: add Vidsrc#6

Merged
An0n-01 merged 3 commits intomainfrom
dev
Feb 22, 2026
Merged

Feat: add Vidsrc#6
An0n-01 merged 3 commits intomainfrom
dev

Conversation

@An0n-01
Copy link
Member

@An0n-01 An0n-01 commented Feb 22, 2026

Feat: add VidSrc

Description

This PR adds a new VidSrc provider to CinePro Core, enabling users to fetch HLS streaming sources for both movies and TV shows. The provider implements a multi-stage scraping process that extracts iframe sources and processes JavaScript-embedded player configurations to retrieve multiple redundant m3u8 URLs for improved reliability.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • 🌟 New feature (non-breaking change which adds functionality)
  • 📀 New provider (adding a new streaming source provider)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • ♻️ Code refactoring (no functional changes)
  • 🎨 Style/formatting changes
  • ⚡ Performance improvement
  • 🔧 Configuration change

Related Issues

none

Changes Made

  • Added new VidSrc provider with support for movies and TV shows
  • Implemented multi-stage HTML parsing to extract embedded iframe sources
  • Added regex-based extraction for JavaScript player configurations
  • Implemented dynamic URL resolution for relative paths
  • Added support for multiple fallback m3u8 URLs with different CDN domains
  • Included proper error handling and diagnostic messages with VPN blocking notification
  • Cleaned up console logging statements for production

Provider Information

Provider Details

  • Provider Name: VidSrc
  • Provider ID: vidsrc
  • Base URL: https://vsembed.ru/
  • Content Types Supported:
    • Movies
    • TV Shows

Provider Testing

Tested with the following TMDB IDs:

  • Movies:

    • TMDB ID: 155(Fight Club)
  • TV Shows:

    • TMDB ID: 1399/1/1 (Game of Thrones S01E01)

Test Results:

Successfully retrieves 3-4 HLS sources with different CDN domains for redundancy. The provider extracts sources from embedded iframes and JavaScript player configurations, returning multiple m3u8 URLs for fallback support.

Sources returned: 3-4 HLS streams
Quality: VidSrc 1, VidSrc 2, VidSrc 3, VidSrc 4
Format: m3u8 (HLS)
Domains: neonhorizonworkshops.com, wanderlynest.com, orchidpixelgardens.com, cloudnestra.com

Checklist

General

  • My code follows the code style of this project
  • I have run npm run format to format my code
  • My code builds without errors (npm run build)
  • I have tested my changes locally
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings or errors
  • I have read the [CONTRIBUTING.md](CONTRIBUTING.md) guidelines

Provider Checklist

  • Provider extends BaseProvider from @omss/framework
  • Provider has a unique id and descriptive name
  • Provider declares correct capabilities (movies/tv support)
  • Implements getMovieSources() and/or getTVSources() correctly
  • All streaming URLs use proper URL handling
  • Includes proper error handling with diagnostics
  • Uses appropriate headers via this.HEADERS
  • Returns standardized ProviderResult format
  • Provider file is in src/providers/ directory
  • Provider exports the class properly for auto-discovery
  • Tested with multiple TMDB IDs for movies and/or TV shows
  • Handles edge cases (missing content, API errors)

Documentation

  • I have updated the README.md if necessary
  • I have added/updated comments in my code
  • I have documented any new environment variables
  • I have added examples if introducing new patterns

Screenshots (if applicable)

N/A

Additional Context

Performance Impact

  • No performance impact
  • Performance improvement (describe below)
  • Potential performance concern (describe below)

Details:

The provider makes 3 sequential HTTP requests to fetch the final streaming URLs, which is standard for multi-level iframe-based providers. Response times are acceptable and consistent with other providers in the framework.

Breaking Changes

N/A - This is a new provider addition with no changes to existing functionality.

Dependencies

  • No new dependencies added - uses existing axios and built-in regex capabilities

Reviewer Notes

Key areas to review:

  • Regex patterns for HTML/JavaScript extraction (particularly iframe src and player file property)
  • URL resolution logic using WHATWG URL API
  • Error handling for VPN-blocked scenarios (provider specifically blocks VPN IPs)
  • Multiple source generation with CDN domain mapping

For Maintainers

Merge Checklist

  • Code review completed
  • All CI checks passing
  • No merge conflicts
  • Provider tested by reviewer (if applicable)
  • Documentation updated (if needed)
  • Version bump needed? (no - feature addition)

@An0n-01 An0n-01 self-assigned this Feb 22, 2026
@An0n-01 An0n-01 added the enhancement New feature or request label Feb 22, 2026
@An0n-01 An0n-01 mentioned this pull request Feb 22, 2026
@An0n-01 An0n-01 merged commit 593d6ab into main Feb 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants