mirror of
https://github.com/meehow/privtracker.git
synced 2026-09-02 22:56:07 +08:00
minor updates. Mostly README.md
This commit is contained in:
22
README.md
22
README.md
@@ -4,11 +4,20 @@ PrivTracker allows you to share torrent files only with your friends and nobody
|
||||
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.
|
||||
|
||||
---
|
||||
## The Problem PrivTracker Solves
|
||||
|
||||
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.
|
||||
|
||||
### Build & install
|
||||
```bash
|
||||
$ go install github.com/meehow/privtracker@latest
|
||||
```
|
||||
|
||||
### Usage
|
||||
```bash
|
||||
# Runs on port 1337 by default.
|
||||
@@ -26,7 +35,7 @@ This is an example of `/etc/systemd/system/privtracker.service` which can handle
|
||||
|
||||
Remember to check directory names if you are going to use it.
|
||||
|
||||
```toml
|
||||
```ini
|
||||
[Unit]
|
||||
Description=privtracker
|
||||
After=network.target
|
||||
@@ -49,20 +58,19 @@ WantedBy=multi-user.target
|
||||
### Docker Compose
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
services:
|
||||
privtracker:
|
||||
build: https://github.com/meehow/privtracker.git
|
||||
image: meehow/privtracker
|
||||
restart: unless-stopped
|
||||
user: 1000:1000
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- PORT=1337
|
||||
# volume is only needed if we listed on port 443
|
||||
volumes:
|
||||
- config:/config
|
||||
- autocert:/.cache/golang-autocert
|
||||
ports:
|
||||
- 1337:1337
|
||||
|
||||
volumes:
|
||||
config:
|
||||
autocert:
|
||||
```
|
||||
|
||||
@@ -55,6 +55,16 @@
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<h2>The Problem PrivTracker Solves</h2>
|
||||
<div>
|
||||
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.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<h2>How to create private torrent?</h2>
|
||||
<h3>Using <a href="https://transmissionbt.com/" target="_blank">transmission</a> on Linux:</h3>
|
||||
|
||||
3
main.go
3
main.go
@@ -24,7 +24,8 @@ func main() {
|
||||
port = "1337"
|
||||
}
|
||||
config := fiber.Config{
|
||||
ServerHeader: "privtracker.com",
|
||||
AppName: "PrivTracker.com",
|
||||
ServerHeader: "PrivTracker.com",
|
||||
ReadTimeout: time.Second * 245,
|
||||
WriteTimeout: time.Second * 30,
|
||||
Network: fiber.NetworkTCP,
|
||||
|
||||
@@ -143,7 +143,7 @@ func GetStats(room, infoHash string) (numSeeders, numLeechers int) {
|
||||
|
||||
func Cleanup() {
|
||||
for {
|
||||
time.Sleep(time.Minute * 10)
|
||||
time.Sleep(time.Second * 600)
|
||||
expiration := time.Now().Unix() - 600
|
||||
for _, shard := range shards {
|
||||
shard.Lock()
|
||||
|
||||
Reference in New Issue
Block a user