Files
privtracker/docs/index.html
2025-01-30 00:57:03 +01:00

139 lines
4.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="water.css">
<link rel="canonical" href="https://privtracker.com/">
<title>PrivTracker - Private BitTorrent tracker for everyone</title>
<script>
document.addEventListener("DOMContentLoaded", () => {
document.querySelectorAll(".url").forEach(url => {
url.innerText = url.innerText.replace('{{origin}}', window.location.origin);
})
})
function makeRoom() {
const randomValues = new Uint8Array(16);
crypto.getRandomValues(randomValues);
const roomID = Array.from(randomValues).map(byte => byte.toString(16).padStart(2, '0')).join('');
document.querySelectorAll(".url").forEach(url => {
url.innerText = url.innerText.replace('{{room}}', roomID);
});
document.querySelector('#hidden').style.display = 'block';
}
function copyToClipboard() {
if (navigator.clipboard) {
navigator.clipboard.writeText(document.querySelector('.url').innerText);
} else {
window.alert('"Copy to clipboard" works only on https websites.');
}
}
</script>
<style>
.image-container {
position: relative;
display: inline-block;
}
.image-container img {
display: block;
}
.image-container .url {
position: absolute;
color: #1a1a1a;
background-color: white;
font-size: 13px;
}
.image-container .url.gtk {
top: 54%;
left: 32%;
width: 59%;
font-family: Ubuntu, Helvetica, Arial, san-serif;
}
.image-container .url.mac {
top: 28%;
left: 18%;
width: 72%;
font-family: 'San Francisco', Helvetica, Arial, san-serif;
}
</style>
</head>
<body>
<nav style="float: right">
<a href="https://github.com/meehow/privtracker">Source code</a>
</nav>
<div>
<h1>PrivTracker</h1>
<h2>Private BitTorrent tracker for everyone</h2>
<p>
PrivTracker allows you to share torrent files only with your friends and nobody else.
Unlike public trackers, it shares peers only within a group using the same announce URL.
It really works like a private tracker, but can be generated with one click of a button.
</p>
<button onclick="makeRoom()">I'm in. Generate private tracker for me</button>
<div id="hidden" style="display:none">
<h3>Your announce URL:</h3>
<code class="url">{{origin}}/{{room}}/announce</code>
<button onclick="copyToClipboard()">Copy to clipboard</button>
<p>(You can also use any random string as the Room ID. We don't store it anywhere.)</p>
</div>
<h2>How to create private torrent?</h2>
<h3>Using <a href="https://transmissionbt.com/" target="_blank">transmission</a> on Linux:</h3>
<ul>
<li>File <b>&rarr;</b> New&hellip;</li>
<li>Select file to share</li>
<li>In <b>Trackers</b> field enter <code class="url">{{origin}}/{{room}}/announce</code></li>
<li>Select <b>Private torrent</b></li>
<li>Click <b>New</b></li>
<li>Click <b>Add</b> in next window</li>
<li>Click <b>Open</b> to start seeding</li>
<li>Done. Now you can send torrent file to your friends&hellip;</li>
</ul>
<div class="image-container">
<img src="new_torrent_gtk.png" alt="New Torrent screenshot">
<div class="url gtk">{{origin}}/{{room}}/announce</div>
</div>
<h3>Using <a href="https://transmissionbt.com/" target="_blank">transmission</a> on Mac:</h3>
<ul>
<li>File <b>&rarr;</b> Create Torrent File&hellip;</li>
<li>Select file to share</li>
<li>Click <b>&plus;</b> under <b>Trackers</b> field and enter <code
class="url">{{origin}}/{{room}}/announce</code></li>
<li>Select <b>Private</b>
<li>Select <b>Open when created</b></li>
<li>Click <b>Create</b></li>
<li>Click <b>Add</b> to start seeding</li>
<li>Done. Now you can send torrent file to your friends&hellip;</li>
</ul>
<div class="image-container">
<img src="new_torrent_mac.png" alt="New Torrent screenshot">
<div class="url mac">{{origin}}/{{room}}/announce</div>
</div>
<h2>The Problem PrivTracker solves</h2>
<p>
Sharing large files has always been difficult without compromising privacy or simplicity.
Centralized services require full uploads before sharing, often with account registration and fees for
large files.
Hosting a file server demands technical knowledge, like opening firewall ports, and requires your
computer to stay online.
PrivTracker solves this by enabling private torrent sharing within a trusted group.
Using UPnP, most torrent clients can automatically handle port opening, and only one person in the group
needs an open port for everyone to download.
Unlike public trackers, PrivTracker shares peers' IPs only within the group and keeps files off public
networks like DHT, ensuring privacy and efficient sharing.
</p>
</div>
</body>
</html>