mirror of
https://github.com/SinTan1729/privtracker.git
synced 2024-12-26 07:18:37 -06:00
88 lines
No EOL
3.2 KiB
HTML
88 lines
No EOL
3.2 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="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">
|
|
<title>PrivTracker - Private BitTorrent tracker for everyone</title>
|
|
<script>
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
document.querySelectorAll(".url").forEach(url => {
|
|
url.innerText = url.innerText.replace('{{hostname}}', window.location.hostname);
|
|
})
|
|
})
|
|
function makeRoom(length) {
|
|
let roomID = '';
|
|
const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
const charactersLength = characters.length;
|
|
for (let i = 0; i < length; i++) {
|
|
roomID += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
}
|
|
document.querySelectorAll(".url").forEach(url => {
|
|
url.innerText = url.innerText.replace('{{room}}', roomID);
|
|
})
|
|
|
|
document.querySelector('#hidden').style.display = 'block';
|
|
}
|
|
function copyToClipboard() {
|
|
navigator.clipboard.writeText(document.querySelector('.url').innerText);
|
|
}
|
|
</script>
|
|
</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 to share torrent files just with your friends, nobody else.
|
|
Unlike public trackers, it shares peers only within a group which is 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(32)">I'm in. Generate private tracker for me</button>
|
|
|
|
<div id="hidden" style="display:none">
|
|
<h3>Your announce URL:</h3>
|
|
<code class="url">https://{{hostname}}/{{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>
|
|
<div>
|
|
|
|
</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>→</b> New…</li>
|
|
<li>Select file to share</li>
|
|
<li>In <b>Trackers</b> field enter <code class="url">https://{{hostname}}/{{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…</li>
|
|
</ul>
|
|
<img src="new_torrent_gtk.png" alt="New Torrent screenshot">
|
|
<h3>Using <a href="https://transmissionbt.com/" target="_blank">transmission</a> on Mac:</h3>
|
|
<ul>
|
|
<li>File <b>→</b> Create Torrent File…</li>
|
|
<li>Select file to share</li>
|
|
<li>Click <b>+</b> under <b>Trackers</b> field and enter <code
|
|
class="url">https://{{hostname}}/{{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…</li>
|
|
</ul>
|
|
<img src="new_torrent_mac.png" alt="New Torrent screenshot">
|
|
|
|
</div>
|
|
</body>
|
|
|
|
</html> |