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.