mirror of
https://github.com/Inside4ndroid/TMDB-Embed-API.git
synced 2026-10-22 17:45:11 +00:00
Release v1.0.9: Remove Showbox provider, cleanup dependencies
This commit is contained in:
@@ -2,6 +2,25 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [1.0.9] - 2025-11-19
|
||||
|
||||
### Removed
|
||||
- **Showbox/FebBox/PStream provider**: Permanently removed due to PStream API being protected by Cloudflare bot detection, making it inaccessible without complex proxy infrastructure
|
||||
- Deleted `providers/Showbox.js` and backup files
|
||||
- Removed FebBox cookie management from configuration panel
|
||||
- Removed `FEBBOX_COOKIES`, `SHOWBOX_CACHE_DIR`, and related environment variables
|
||||
- Cleaned up all Showbox-specific logic from provider registry
|
||||
- Removed FebBox/PStream configuration UI panel and related functions
|
||||
- **Unused dependencies**: Removed 121 packages including puppeteer, patchright, puppeteer-extra, puppeteer-extra-plugin-stealth, and vm2 (~200MB+ saved)
|
||||
- **Unused utility files**: Removed `cloudflareBypasser.js` and `jsunpack.js`
|
||||
|
||||
### Fixed
|
||||
- **VidZee provider**: Updated to support two-stage AES decryption with dynamic API keys. The provider now fetches an encrypted key from `https://core.vidzee.wtf/api-key`, decrypts it using AES-256-GCM with a hardcoded key, then uses the result to decrypt video URLs with AES-256-CBC. Includes 1-hour API key caching for performance.
|
||||
- **4khdhub provider**: Added support for `links.modpro.blog` domain (site migrated from `modrefer.in`).
|
||||
- **moviesmod provider**: Added support for `links.modpro.blog` domain alongside existing `modrefer.in`.
|
||||
- **uhdmovies provider**: Fixed domain to use `uhdmovies.rip` instead of outdated `uhdmovies.mov`. Added automatic domain replacement for stale scraped URLs. Created new `utils/linkResolver.js` utility to handle driveseed/driveleech download button extraction (supports Instant Download, Resume Cloud, Resume Worker Bot, Direct Links CF Type 1).
|
||||
- **Provider registry**: Fixed `listProviders()` to return all available providers with their enabled status, not just enabled ones. Config panel now shows all 6 providers correctly.
|
||||
|
||||
## [1.0.8] - 2025-10-03
|
||||
|
||||
### Added
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<img src="https://img.shields.io/badge/Node.js-18%2B-brightgreen?style=flat" />
|
||||
<img src="https://img.shields.io/badge/Status-Active-success?style=flat" />
|
||||
<img src="https://img.shields.io/badge/License-MIT-blue?style=flat" />
|
||||
<img src="https://img.shields.io/badge/Version-1.0.8-informational?style=flat" />
|
||||
<img src="https://img.shields.io/badge/Version-1.0.9-informational?style=flat" />
|
||||
<img src="https://img.shields.io/docker/pulls/inside4ndroid/tmdb-embed-api?label=Docker%20Pulls&style=flat" />
|
||||
</p>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
## ✨ Features
|
||||
- **Multi‑TMDB Key Rotation** – Supply multiple API keys; one is chosen randomly per request.
|
||||
- **Provider Aggregation** – Pluggable providers (Showbox, 4khdhub, MoviesMod, MP4Hydra, VidZee, Vixsrc, UHDMovies) with per‑provider enable toggles + default selection.
|
||||
- **Provider Aggregation** – Pluggable providers (4khdhub, MoviesMod, MP4Hydra, VidZee, Vixsrc, UHDMovies) with per‑provider enable toggles + default selection.
|
||||
- **🔥 Plugin System** – Drop new provider files in `providers/` and add its exported function to the registry map (`providers/registry.js` → `providerFunctionMap`).
|
||||
- **Dynamic Filtering** – Minimum quality presets, custom JSON quality map, codec exclusion rules (presets + JSON).
|
||||
- **Runtime Overrides UI** – Fully interactive web admin at `/` (login protected) writing to `utils/user-config.json`.
|
||||
@@ -130,7 +130,6 @@ docker compose up -d --build
|
||||
Environment variables can be supplied via a `.env` file in the same directory (Compose automatically loads it). Example `.env`:
|
||||
```
|
||||
TMDB_API_KEY=first_key
|
||||
FEBBOX_COOKIES=cookie1,cookie2
|
||||
```
|
||||
|
||||
To stop & remove:
|
||||
@@ -153,7 +152,6 @@ or add / remove keys inside the Admin UI (Keys panel) and save.
|
||||
| `API_PORT` | Port the server listens on | Defaults to 8787 |
|
||||
| `TMDB_API_KEY` | Single TMDB key (legacy) | Use if you only have one key |
|
||||
| `TMDB_API_KEYS` | JSON array of keys | Overrides single key when present |
|
||||
| `FEBBOX_COOKIES` | Comma separated FebBox cookies | Enables Showbox provider immediately |
|
||||
| `PASSWORD_HASH` | Pre-seed admin password hash | Optional (UI can set) |
|
||||
| `ADMIN_USERNAME` | Override default username | Default: `admin` |
|
||||
|
||||
@@ -201,9 +199,9 @@ Saving in the UI writes only changed keys. Setting a field to empty removes the
|
||||
**Override File:** `utils/user-config.json`
|
||||
```json
|
||||
{
|
||||
"defaultProviders": ["showbox","4khdhub"],
|
||||
"defaultProviders": ["4khdhub","moviesmod"],
|
||||
"tmdbApiKeys": ["KEY_A","KEY_B"],
|
||||
"enableShowboxProvider": true
|
||||
"enable4khdhubProvider": true
|
||||
}
|
||||
```
|
||||
|
||||
@@ -215,7 +213,6 @@ Saving in the UI writes only changed keys. Setting a field to empty removes the
|
||||
| Core | Port, default providers, default region |
|
||||
| Quality / Filters | Min quality presets & codec exclusion JSON |
|
||||
| Keys | Add/remove TMDB API keys (rotated randomly) |
|
||||
| FebBox / PStream | Manage FebBox cookies powering Showbox provider |
|
||||
| Advanced | Provider toggles, cache & validation flags |
|
||||
| Server Status | Live metrics, provider functional checks |
|
||||
| Live Config | View merged + override JSON snapshots |
|
||||
@@ -228,7 +225,6 @@ Session is revalidated on visibility and back/forward navigation to prevent stal
|
||||
The API supports a plugin system. Drop a new provider file in the `providers/` folder and register its exported function in `providers/registry.js` under `providerFunctionMap`.
|
||||
|
||||
### Current Built-in Providers
|
||||
- `showbox` - Showbox/PStream integration
|
||||
- `4khdhub` - 4KHDHub streams
|
||||
- `moviesmod` - MoviesMod streams
|
||||
- `mp4hydra` - MP4Hydra streams
|
||||
@@ -244,7 +240,6 @@ The API supports a plugin system. Drop a new provider file in the `providers/` f
|
||||
```js
|
||||
// providers/registry.js
|
||||
const providerFunctionMap = {
|
||||
'Showbox.js': 'getStreamsFromTmdbId',
|
||||
'4khdhub.js': 'get4KHDHubStreams',
|
||||
'moviesmod.js': 'getMoviesModStreams',
|
||||
'MP4Hydra.js': 'getMP4HydraStreams',
|
||||
@@ -320,9 +315,7 @@ Filtering passes through `applyFilters` to enforce min quality + codec exclusion
|
||||
## ⚙️ Configuration Flags (Advanced Panel)
|
||||
| Flag | Default | Purpose |
|
||||
|------|---------|---------|
|
||||
| disableCache | false | Disables internal caches (Showbox + proxy segment cache) |
|
||||
| enablePStreamApi | true | Enables Showbox PStream-specific handling |
|
||||
| disableUrlValidation | false | Skip general URL pattern validation checks |
|
||||
| disableCache | false | Disables internal caches |\n| disableUrlValidation | false | Skip general URL pattern validation checks |
|
||||
| disable4khdhubUrlValidation | false | Skip 4khdhub-specific URL validation |
|
||||
| enableProxy | false | Mounts proxy routes and rewrites stream URLs through them |
|
||||
|
||||
@@ -334,7 +327,7 @@ Toggle `enableProxy` to activate the internal proxy. This adds lightweight playl
|
||||
- Presets: `all`, `480p`, `720p`, `1080p`, `1440p`, `2160p`.
|
||||
- Custom quality JSON example:
|
||||
```json
|
||||
{ "default": "900p", "showbox": "1080p" }
|
||||
{ "default": "900p", "4khdhub": "1080p" }
|
||||
```
|
||||
- Codec exclusion JSON example:
|
||||
```json
|
||||
@@ -367,7 +360,6 @@ For ephemeral platforms (e.g., Vercel) note that some providers use temporary di
|
||||
## 💡 Troubleshooting
|
||||
| Symptom | Cause / Fix |
|
||||
|---------|------------|
|
||||
| No streams from Showbox | Missing FebBox cookies |
|
||||
| TMDB quota issues | Add more keys under Keys panel |
|
||||
| Provider missing in matrix | Ensure its enable flag exists & UI updated |
|
||||
| Empty merged config after restart | `user-config.json` deleted or unreadable |
|
||||
|
||||
+5
-7
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "tmdb-embed-api",
|
||||
"version": "1.0.8",
|
||||
"version": "1.0.9",
|
||||
"description": "Standalone streaming embed source aggregation API (TMDB ID in, streams out)",
|
||||
"main": "apiServer.js",
|
||||
"scripts": {
|
||||
"start": "nodemon --watch restart.trigger apiServer.js",
|
||||
"start:dev": "nodemon --watch restart.trigger --ignore providers/.cache --ignore **/tmdb-embed-showbox-cache apiServer.js",
|
||||
"start:dev": "nodemon --watch restart.trigger --ignore providers/.cache --ignore **/cache apiServer.js",
|
||||
"lint": "eslint . --ext .js"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -19,22 +19,20 @@
|
||||
"dotenv": "^16.5.0",
|
||||
"express": "^4.21.2",
|
||||
"form-data": "^4.0.3",
|
||||
"hls-parser": "^0.13.5",
|
||||
"hls-parser": "^0.13.5",
|
||||
"jsdom": "^26.1.0",
|
||||
"node-fetch": "^2.7.0",
|
||||
"p-limit": "^6.2.0",
|
||||
"puppeteer": "^24.11.0",
|
||||
"string-similarity": "^4.0.4",
|
||||
"tough-cookie": "^5.1.2",
|
||||
"ttl-cache": "^1.0.2",
|
||||
"vm2": "^3.9.19",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^3.1.10",
|
||||
"eslint": "^8.57.0"
|
||||
"eslint": "^8.57.0",
|
||||
"nodemon": "^3.1.10"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user