NuvioWebEnhanced is a Next.js web application for streaming media content. It features a custom player built on top of movi-player and shaka-player, with advanced subtitle styling and cross-platform external player support.
Some debrid providers (TorBox, Real-Debrid via addon redirects) don't send proper CORS headers on their redirect responses. NuvioWebEnhanced handles this automatically:
The app includes a lightweight edge resolver (/api/resolve) that follows debrid redirect chains server-side and returns the final CDN URL. This works out of the box — no extension needed, works on mobile/iPad/any browser.
- Non-debrid streams play directly (no server call)
- Only CORS-blocked debrid redirects fall through to the resolver
- Zero video bytes are proxied — only the resolved URL passes through
If you prefer not to use the server-side resolver (e.g., to avoid any IP differences on the resolve call), you can install the bundled Chrome extension instead. When the extension is active, all CORS restrictions are bypassed client-side and the resolver is never called.
- Open Chrome/Edge/Brave and go to
chrome://extensions/ - Enable Developer mode (toggle in the top right corner).
- Click Load unpacked.
- Select the
NuvioCorsExtensionfolder located in the root of this repository. - Make sure the extension is enabled. The extension automatically modifies
Access-Control-Allow-OriginandCross-Origin-Resource-Policyheaders for all requests.
Note: The extension is not available on mobile browsers (iOS Safari, Android Chrome). On mobile, the built-in resolver handles CORS automatically.
First, install dependencies:
npm installMake sure to set up your .env.local file with the required API keys (Supabase, TMDB, Trakt, etc.) before running the app.
Run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
NuvioWebEnhanced is optimized for deployment on Vercel.
- Push your code to a GitHub repository.
- Go to Vercel and import your repository.
- Configure your Environment Variables in the Vercel dashboard by copying the contents of your
.env.local. - Deploy the application.
The server-side resolver deploys automatically as an edge function — no extra configuration needed.
- Next.js Documentation - learn about Next.js features and API.