A lightweight and efficient BitTorrent client implemented in Go, supporting both torrent files and magnet links.
- Download torrents using .torrent files or magnet URLs
- Progress bar with real-time download statistics
- Docker support for easy deployment
- Configurable download directory
- Graceful shutdown handling
# Pull from Docker Hub
docker pull yashsaini99/bittorrent
# Or build locally
docker build -t bittorrent .
# Clone the repository
git clone https://github.com/yashsaini99/bittorrent.git
# Navigate to project directory
cd bittorrent
# Build the project
go build
# Using magnet link
docker run -v $(pwd)/downloads:/app/downloads yashsaini99/bittorrent -output /app/downloads -magnet "your_magnet_url"
# Using torrent file
docker run -v $(pwd):/app/torrents -v $(pwd)/downloads:/app/downloads yashsaini99/bittorrent -output /app/downloads -torrent "/app/torrents/file.torrent"
# Using magnet link
./bittorrent -magnet "your_magnet_url" -output "./downloads"
# Using torrent file
./bittorrent -torrent "path/to/file.torrent" -output "./downloads"
-magnet
: Magnet URL for the torrent-torrent
: Path to .torrent file-output
: Directory for downloaded files (default: "downloads")
docker build -t bittorrent .