Skip to content

Commit 35b9580

Browse files
committed
Release v1.0.9: Remove Showbox provider, cleanup dependencies
1 parent 6ebb0d3 commit 35b9580

File tree

3 files changed

+30
-21
lines changed

3 files changed

+30
-21
lines changed

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,25 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [1.0.9] - 2025-11-19
6+
7+
### Removed
8+
- **Showbox/FebBox/PStream provider**: Permanently removed due to PStream API being protected by Cloudflare bot detection, making it inaccessible without complex proxy infrastructure
9+
- Deleted `providers/Showbox.js` and backup files
10+
- Removed FebBox cookie management from configuration panel
11+
- Removed `FEBBOX_COOKIES`, `SHOWBOX_CACHE_DIR`, and related environment variables
12+
- Cleaned up all Showbox-specific logic from provider registry
13+
- Removed FebBox/PStream configuration UI panel and related functions
14+
- **Unused dependencies**: Removed 121 packages including puppeteer, patchright, puppeteer-extra, puppeteer-extra-plugin-stealth, and vm2 (~200MB+ saved)
15+
- **Unused utility files**: Removed `cloudflareBypasser.js` and `jsunpack.js`
16+
17+
### Fixed
18+
- **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.
19+
- **4khdhub provider**: Added support for `links.modpro.blog` domain (site migrated from `modrefer.in`).
20+
- **moviesmod provider**: Added support for `links.modpro.blog` domain alongside existing `modrefer.in`.
21+
- **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).
22+
- **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.
23+
524
## [1.0.8] - 2025-10-03
625

726
### Added

README.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<img src="https://img.shields.io/badge/Node.js-18%2B-brightgreen?style=flat" />
77
<img src="https://img.shields.io/badge/Status-Active-success?style=flat" />
88
<img src="https://img.shields.io/badge/License-MIT-blue?style=flat" />
9-
<img src="https://img.shields.io/badge/Version-1.0.8-informational?style=flat" />
9+
<img src="https://img.shields.io/badge/Version-1.0.9-informational?style=flat" />
1010
<img src="https://img.shields.io/docker/pulls/inside4ndroid/tmdb-embed-api?label=Docker%20Pulls&style=flat" />
1111
</p>
1212

@@ -34,7 +34,7 @@
3434

3535
## ✨ Features
3636
- **Multi‑TMDB Key Rotation** – Supply multiple API keys; one is chosen randomly per request.
37-
- **Provider Aggregation** – Pluggable providers (Showbox, 4khdhub, MoviesMod, MP4Hydra, VidZee, Vixsrc, UHDMovies) with per‑provider enable toggles + default selection.
37+
- **Provider Aggregation** – Pluggable providers (4khdhub, MoviesMod, MP4Hydra, VidZee, Vixsrc, UHDMovies) with per‑provider enable toggles + default selection.
3838
- **🔥 Plugin System** – Drop new provider files in `providers/` and add its exported function to the registry map (`providers/registry.js``providerFunctionMap`).
3939
- **Dynamic Filtering** – Minimum quality presets, custom JSON quality map, codec exclusion rules (presets + JSON).
4040
- **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
130130
Environment variables can be supplied via a `.env` file in the same directory (Compose automatically loads it). Example `.env`:
131131
```
132132
TMDB_API_KEY=first_key
133-
FEBBOX_COOKIES=cookie1,cookie2
134133
```
135134

136135
To stop & remove:
@@ -153,7 +152,6 @@ or add / remove keys inside the Admin UI (Keys panel) and save.
153152
| `API_PORT` | Port the server listens on | Defaults to 8787 |
154153
| `TMDB_API_KEY` | Single TMDB key (legacy) | Use if you only have one key |
155154
| `TMDB_API_KEYS` | JSON array of keys | Overrides single key when present |
156-
| `FEBBOX_COOKIES` | Comma separated FebBox cookies | Enables Showbox provider immediately |
157155
| `PASSWORD_HASH` | Pre-seed admin password hash | Optional (UI can set) |
158156
| `ADMIN_USERNAME` | Override default username | Default: `admin` |
159157

@@ -201,9 +199,9 @@ Saving in the UI writes only changed keys. Setting a field to empty removes the
201199
**Override File:** `utils/user-config.json`
202200
```json
203201
{
204-
"defaultProviders": ["showbox","4khdhub"],
202+
"defaultProviders": ["4khdhub","moviesmod"],
205203
"tmdbApiKeys": ["KEY_A","KEY_B"],
206-
"enableShowboxProvider": true
204+
"enable4khdhubProvider": true
207205
}
208206
```
209207

@@ -215,7 +213,6 @@ Saving in the UI writes only changed keys. Setting a field to empty removes the
215213
| Core | Port, default providers, default region |
216214
| Quality / Filters | Min quality presets & codec exclusion JSON |
217215
| Keys | Add/remove TMDB API keys (rotated randomly) |
218-
| FebBox / PStream | Manage FebBox cookies powering Showbox provider |
219216
| Advanced | Provider toggles, cache & validation flags |
220217
| Server Status | Live metrics, provider functional checks |
221218
| Live Config | View merged + override JSON snapshots |
@@ -228,7 +225,6 @@ Session is revalidated on visibility and back/forward navigation to prevent stal
228225
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`.
229226

230227
### Current Built-in Providers
231-
- `showbox` - Showbox/PStream integration
232228
- `4khdhub` - 4KHDHub streams
233229
- `moviesmod` - MoviesMod streams
234230
- `mp4hydra` - MP4Hydra streams
@@ -244,7 +240,6 @@ The API supports a plugin system. Drop a new provider file in the `providers/` f
244240
```js
245241
// providers/registry.js
246242
const providerFunctionMap = {
247-
'Showbox.js': 'getStreamsFromTmdbId',
248243
'4khdhub.js': 'get4KHDHubStreams',
249244
'moviesmod.js': 'getMoviesModStreams',
250245
'MP4Hydra.js': 'getMP4HydraStreams',
@@ -320,9 +315,7 @@ Filtering passes through `applyFilters` to enforce min quality + codec exclusion
320315
## ⚙️ Configuration Flags (Advanced Panel)
321316
| Flag | Default | Purpose |
322317
|------|---------|---------|
323-
| disableCache | false | Disables internal caches (Showbox + proxy segment cache) |
324-
| enablePStreamApi | true | Enables Showbox PStream-specific handling |
325-
| disableUrlValidation | false | Skip general URL pattern validation checks |
318+
| disableCache | false | Disables internal caches |\n| disableUrlValidation | false | Skip general URL pattern validation checks |
326319
| disable4khdhubUrlValidation | false | Skip 4khdhub-specific URL validation |
327320
| enableProxy | false | Mounts proxy routes and rewrites stream URLs through them |
328321

@@ -334,7 +327,7 @@ Toggle `enableProxy` to activate the internal proxy. This adds lightweight playl
334327
- Presets: `all`, `480p`, `720p`, `1080p`, `1440p`, `2160p`.
335328
- Custom quality JSON example:
336329
```json
337-
{ "default": "900p", "showbox": "1080p" }
330+
{ "default": "900p", "4khdhub": "1080p" }
338331
```
339332
- Codec exclusion JSON example:
340333
```json
@@ -367,7 +360,6 @@ For ephemeral platforms (e.g., Vercel) note that some providers use temporary di
367360
## 💡 Troubleshooting
368361
| Symptom | Cause / Fix |
369362
|---------|------------|
370-
| No streams from Showbox | Missing FebBox cookies |
371363
| TMDB quota issues | Add more keys under Keys panel |
372364
| Provider missing in matrix | Ensure its enable flag exists & UI updated |
373365
| Empty merged config after restart | `user-config.json` deleted or unreadable |

package.json

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"name": "tmdb-embed-api",
3-
"version": "1.0.8",
3+
"version": "1.0.9",
44
"description": "Standalone streaming embed source aggregation API (TMDB ID in, streams out)",
55
"main": "apiServer.js",
66
"scripts": {
77
"start": "nodemon --watch restart.trigger apiServer.js",
8-
"start:dev": "nodemon --watch restart.trigger --ignore providers/.cache --ignore **/tmdb-embed-showbox-cache apiServer.js",
8+
"start:dev": "nodemon --watch restart.trigger --ignore providers/.cache --ignore **/cache apiServer.js",
99
"lint": "eslint . --ext .js"
1010
},
1111
"dependencies": {
@@ -19,22 +19,20 @@
1919
"dotenv": "^16.5.0",
2020
"express": "^4.21.2",
2121
"form-data": "^4.0.3",
22-
"hls-parser": "^0.13.5",
22+
"hls-parser": "^0.13.5",
2323
"jsdom": "^26.1.0",
2424
"node-fetch": "^2.7.0",
2525
"p-limit": "^6.2.0",
26-
"puppeteer": "^24.11.0",
2726
"string-similarity": "^4.0.4",
2827
"tough-cookie": "^5.1.2",
2928
"ttl-cache": "^1.0.2",
30-
"vm2": "^3.9.19",
3129
"yargs": "^17.7.2"
3230
},
3331
"engines": {
3432
"node": ">=14.0.0"
3533
},
3634
"devDependencies": {
37-
"nodemon": "^3.1.10",
38-
"eslint": "^8.57.0"
35+
"eslint": "^8.57.0",
36+
"nodemon": "^3.1.10"
3937
}
4038
}

0 commit comments

Comments
 (0)