Case Study: Mini Tracker
Mini Tracker is a lightweight, self-hosted torrent tracker and community hub. Built with Go and Docker for easy deployment. Minitorrent provides a streamlined, decentralized alternative to traditional cloud storage solutions.
The Problem
Handling large files can be expensive and cumbersome when relying on traditional cloud storage providers. Setting up an FTP server is an option but uploading large files can be interrupted by network disconnections, requiring users to restart the process from scratch. Additionally when creating torrents of files, privacy concerns arise when sharing files on public torrent trackers, and widely known public trackers may be blocked by ISPs or attract unwanted attention.
The Solution
Mini Tracker leverages the BitTorrent protocol to facilitate large file transfers while maintaining control over access and privacy.
The idea is simple: let users spin up their own tracker, upload torrents, and share them with fine-tuned visibility settings, from fully public to locked-down private links or group-only access. A web interface using Bootstrap ties it all together, offering user profiles, community hubs, and a chat system to foster collaboration. Whether it’s friends swapping encrypted backups or colleagues distributing a massive dataset, Mini Tracker keeps it minimal, cost-effective, and under the radar - no cloud subscriptions or complex server configs required.
Development
The development process began with planning the initial functional requirements, designing a MySQL database schema, and implementing a torrent parser. The tracker was built in Go, featuring both public and private torrent tracking modes. A web interface was created to facilitate user interaction, community features, and torrent management.
Key development outcomes:
- Invite-based user registration to maintain a private network.
- MySQL/MariaDB database with JSON field support for metadata storage for efficient storage.
- Implementation of a simple chat system and user profiles.
- Docker support for easy deployment and scalability.
- Admin panel built using TailwindCSS for lightweight styling.
Lessons Learned & Future Plans
Building Mini Tracker highlighted significant limitations in BitTorrent's design. While highly efficient for file distribution, the protocol lacks inherent privacy protections and access control. Without built-in encryption or mechanisms to prevent unauthorized peers from accessing data, true security remains elusive. Mini Tracker's implementation of unique tracking URLs and user authentication mitigates visibility concerns but does not offer a comprehensive solution. A fundamental overhaul of the protocol would be necessary to achieve robust security, which extends beyond this project’s current scope. However, the community features, such as secure decryption key sharing via chat, serve as a practical measure for encrypting sensitive files prior to distribution.
Looking ahead, WebRTC integration presents an opportunity to enhance security. Its encrypted, browser-based peer-to-peer channels could serve as an alternative or complement to BitTorrent, reducing reliance on trackers and improving confidentiality. Additional plans include Discord integration for seamless sharing and refining user-managed access rules to enhance privacy controls. For now, Mini Tracker serves as a proof of concept - lightweight and well-positioned for future development.
Future development plans include:
- Exploring WebRTC-based P2P file transfers to provide encrypted, real-time sharing without a tracker.
- Enhancing access control mechanisms for better user authentication and authorization.
- Developing additional community features, such as user reputation tracking and group-based permissions.
- Splitting the functionality into independent modules.
Mini Tracker aims to remain a lightweight yet powerful solution for private torrent tracking, enabling users to share large files securely and efficiently.