TeraPlay is a free, open-source web application that enables users to play TeraBox videos directly in their browser without requiring the official TeraBox app. Built with Next.js 14, TypeScript, and Tailwind CSS.
- π₯ Direct Video Playback - Play TeraBox videos in your browser using HTML5 video player
- π¬ Quality Selection - Choose from multiple video quality options when available
- π Copy Direct Links - Copy video URLs to clipboard with one click
- β¬οΈ Download Support - Download videos directly from the player
- π± Mobile-First Design - Fully responsive interface optimized for all devices
- π Privacy-Focused - No tracking, no data storage, no user accounts required
- β‘ Fast & Lightweight - Minimal dependencies, optimized bundle size
- π¨ Modern UI - Clean, dark-themed interface with smooth animations
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Deployment: Optimized for Vercel
- Node.js 18.x or higher
- npm or yarn package manager
TeraPlay includes a custom backend that directly resolves TeraBox links - no external APIs required!
- Install dependencies
npm install- Run the development server
npm run dev- Open the app
Navigate to http://localhost:3000 and paste a TeraBox URL like:
https://terabox.com/s/1abc123
https://1024terabox.com/s/1eBHBOzcEI-VpUGA_xIcGQg
That's it! The backend automatically resolves TeraBox links without any configuration.
TeraPlay works out of the box with no environment variables or external APIs needed. The backend directly communicates with TeraBox's public API to resolve video links.
The custom backend:
- Parses the TeraBox share URL
- Calls TeraBox's public API to get file information
- Finds video files in the share
- Generates direct download links
- Returns video data to the frontend
All of this happens automatically without any setup!
# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Run linter
npm run lint
# Run type checking
npm run type-check
# Run tests (if implemented)
npm testteraplay/
βββ app/ # Next.js App Router pages
β βββ api/
β β βββ resolve/
β β βββ route.ts # Video resolution API endpoint
β βββ how-it-works/
β β βββ page.tsx # How it works page
β βββ privacy/
β β βββ page.tsx # Privacy policy page
β βββ layout.tsx # Root layout with metadata
β βββ page.tsx # Home page
β βββ globals.css # Global styles
βββ components/ # React components
β βββ AdSlot.tsx # Ad placeholder component
β βββ ErrorAlert.tsx # Error message component
β βββ Footer.tsx # Footer component
β βββ Header.tsx # Navigation header
β βββ LoadingSpinner.tsx # Loading indicator
β βββ UrlInputForm.tsx # URL input form
β βββ VideoPlayer.tsx # Video player with controls
βββ lib/ # Utility functions and types
β βββ api.ts # API client functions
β βββ types.ts # TypeScript type definitions
β βββ utils.ts # Helper functions
βββ public/ # Static assets
βββ .env.example # Environment variable template
βββ .env.local # Local environment (gitignored)
βββ next.config.js # Next.js configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ package.json # Dependencies and scripts
βββββββββββββββββββ
β User Browser β
β (Next.js UI) β
ββββββββββ¬βββββββββ
β 1. User submits TeraBox URL
βΌ
βββββββββββββββββββ
β UrlInputForm β
β Component β
ββββββββββ¬βββββββββ
β 2. POST /api/resolve
βΌ
βββββββββββββββββββ
β Next.js API β
β Route Handler β
β (Custom Backend)β
ββββββββββ¬βββββββββ
β 3. Direct TeraBox API calls
β - Get share info
β - Find video files
β - Generate download links
βΌ
βββββββββββββββββββ
β TeraBox API β
β (Public) β
ββββββββββ¬βββββββββ
β 4. Returns video metadata
βΌ
βββββββββββββββββββ
β VideoPlayer β
β Component β
βββββββββββββββββββ
RootLayout
βββ Header
βββ Page (Home)
β βββ UrlInputForm
β β βββ LoadingSpinner
β βββ ErrorAlert
β βββ VideoPlayer
β βββ AdSlot (multiple)
βββ Footer
-
Push your code to GitHub
-
Import project in Vercel
- Go to vercel.com
- Click "New Project"
- Import your GitHub repository
-
Deploy
- Vercel will automatically build and deploy your application
- No environment variables needed!
- Every push to main branch triggers a new deployment
# Build the application
npm run build
# Start the production server
npm startThe application will be available at http://localhost:3000.
Resolves a TeraBox share link to direct video URLs.
Request:
{
"url": "https://terabox.com/s/abc123"
}Response (Success):
{
"success": true,
"fileName": "video.mp4",
"size": "750 MB",
"thumbnail": "https://cdn.example.com/thumb.jpg",
"directUrl": "https://cdn.example.com/video.mp4",
"qualities": [
{ "label": "360p", "url": "https://cdn.example.com/video-360p.mp4" },
{ "label": "720p", "url": "https://cdn.example.com/video-720p.mp4" }
]
}Response (Error):
{
"success": false,
"message": "Unable to resolve this TeraBox link"
}Status Codes:
200- Successful resolution400- Invalid request (missing URL, invalid format)500- Server misconfiguration502- Resolver API error
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Use TypeScript for all new code
- Follow the existing code style (enforced by ESLint)
- Add comments for complex logic
- Ensure all tests pass before submitting PR
This project is licensed under the MIT License - see the LICENSE file for details.
Important: TeraPlay does not host, store, or upload any video files. This application is a tool that helps users access publicly shared TeraBox links through a third-party resolver API. All videos remain on TeraBox's servers.
Users are responsible for ensuring they have the right to access any content they view. We do not control, verify, or endorse any content accessed through our service.
TeraPlay is designed with privacy in mind:
- β No user tracking or analytics
- β No data storage or logging of URLs
- β No cookies or local storage for user identification
- β No personal information collection
For more details, see our Privacy Policy.
If you encounter any issues or have questions:
- Check the FAQ on our website
- Search existing GitHub Issues
- Open a new issue with detailed information
- Built with Next.js
- Styled with Tailwind CSS
- Icons from Heroicons
Made with β€οΈ by the TeraPlay team