The Go Torrent Project is a web-based application that enables users to upload torrent files, monitor download progress, and download completed files. Built with a Next.js client 🌐 and a Go server 🐹, this project is containerized with Docker, making deployment simple and efficient across different environments.
Screencast.from.12-11-24.11.02.19.PM.IST.webm
- Upload Torrent Files: Easily upload torrent files to start downloads.
- Monitor Download Progress: Track the real-time download progress of torrents.
- Download Completed Files: Download fully completed torrent files directly.
- Docker Support: Deploy the entire system with Docker for a streamlined setup.
├── client/ # Next.js frontend for upload and progress tracking
├── server/ # Go backend for torrent downloading and serving files
├── .gitignore # Git ignore file for unnecessary files and folders
├── docker-compose.yml # Docker Compose setup for client and server
├── Dockerfile # Dockerfile for building server and client images
├── makefile # Makefile for easier development
└── README.md # Project documentation
- Docker: Make sure Docker is installed and running on your machine.
-
Clone the repository:
git clone https://github.com/CulturalProfessor/go-torrent.git cd go-torrent
-
Build and run the Docker container:
make build # or alternatively docker-compose up --build
-
Access the system:
Once the containers are up and running, open your browser and navigate to:
- Client (Next.js): http://localhost:3000 to access the web interface.
- Server (Go): API available at http://localhost:8080.