A modern, responsive BitTorrent interface built with Next.js and Torrust.

THIS PROJECT IS FOR EDUCATIONAL PURPOSES ONLY
MagnetDemon is designed as a learning resource for understanding modern web development with Next.js and BitTorrent technologies. Please note:
- This is NOT secure for production use out-of-the-box
- The application includes simplified authentication mechanisms meant for demonstration only
- Proper security measures would need to be implemented for any real-world deployment
- Users are responsible for ensuring they respect copyright laws and intellectual property rights
- The developers do not condone or encourage copyright infringement or piracy
- Frontend: Next.js 14, React 18, Tailwind CSS, Shadcn UI
- Backend: Torrust Index & Tracker APIs
- Authentication: JWT (simplified implementation)
- Database: PostgreSQL (via Docker)
- Containerization: Docker & Docker Compose
- Package Manager: Bun
- Node.js (v18+)
- Bun package manager
- Docker and Docker Compose
- TMDB API Key (for movie/TV show metadata)
-
Clone the repository
git clone https://github.com/juddisjudd/magnet-demon.git cd magnet-demon -
Configure environment variables Create a
.env.localfile with the following:NEXT_PUBLIC_USE_MOCK_DATA=true # Set to 'false' to use actual Torrust backend NEXT_PUBLIC_TORRUST_INDEX_URL=http://localhost:3001/api NEXT_PUBLIC_TORRUST_TRACKER_URL=http://localhost:7070/api TORRUST_TRACKER_USERNAME=admin TORRUST_TRACKER_PASSWORD=password JWT_SECRET=your-secure-jwt-secret TMDB_API_KEY=your-tmdb-api-key -
Run the setup script
# On Windows ./setup.ps1 # On Linux/Mac ./setup.sh
Alternatively, set up manually:
-
Start Docker containers:
docker-compose up -d
-
Install dependencies:
bun install
-
Start the development server:
bun dev
-
Access the application at http://localhost:3000
- Admin User:
- Username:
admin - Password:
admin123
- Username:
- Regular User:
- Username:
user - Password:
user123
- Username:
- Modern, responsive UI with dark/light mode
- Search and browse torrents with advanced filtering
- View detailed torrent information with TMDb integration
- Upload new torrents with metadata
- User profiles and settings management
- Admin controls (for admin users)
This project heavily relies on and is built upon:
- Torrust - An open-source BitTorrent index and tracker
- Next.js - The React framework for production
- shadcn/ui - Re-usable UI components
- TMDb API - For movie and TV show metadata
This project is licensed under the MIT License - see the LICENSE file for details.