BioTorrents.de’s version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pjc ec04fb1216 Add a warrant canary 5 years ago
_packages Login form autocomplete and some validation work 5 years ago
classes Login form autocomplete and some validation work 5 years ago
design Add a warrant canary 5 years ago
sections More custom theme edits 5 years ago
static More custom theme edits 5 years ago
templates Lots to do! 5 years ago
.gitignore Fix file and folder permissions 5 years ago
LICENSE.md Add license 7 years ago
README.md Replace Oppaitime with BioTorrents.de 5 years ago
ajax.php Apply ugly but consistent PHP formatting rules 5 years ago
announce.php Fix file and folder permissions 5 years ago
artist.php Apply ugly but consistent PHP formatting rules 5 years ago
better.php Apply ugly but consistent PHP formatting rules 5 years ago
blog.php Apply ugly but consistent PHP formatting rules 5 years ago
bookmarks.php Apply ugly but consistent PHP formatting rules 5 years ago
browse.php Apply ugly but consistent PHP formatting rules 5 years ago
canary.txt Add a warrant canary 5 years ago
chat.php Apply ugly but consistent PHP formatting rules 5 years ago
collage.php Apply ugly but consistent PHP formatting rules 5 years ago
collages.php Apply ugly but consistent PHP formatting rules 5 years ago
comments.php Apply ugly but consistent PHP formatting rules 5 years ago
contest.php Apply ugly but consistent PHP formatting rules 5 years ago
delete.php Apply ugly but consistent PHP formatting rules 5 years ago
donate.php Apply ugly but consistent PHP formatting rules 5 years ago
download.php Lots to do! 5 years ago
enable.php Apply ugly but consistent PHP formatting rules 5 years ago
error.php Apply ugly but consistent PHP formatting rules 5 years ago
feeds.php Use consistent class names 5 years ago
flush.php Apply ugly but consistent PHP formatting rules 5 years ago
forums.php Apply ugly but consistent PHP formatting rules 5 years ago
friends.php Apply ugly but consistent PHP formatting rules 5 years ago
gazelle.sql Lots to do! 5 years ago
image.php Apply ugly but consistent PHP formatting rules 5 years ago
inbox.php Apply ugly but consistent PHP formatting rules 5 years ago
index.php Apply ugly but consistent PHP formatting rules 5 years ago
irc.php Apply ugly but consistent PHP formatting rules 5 years ago
locked.php Apply ugly but consistent PHP formatting rules 5 years ago
log.php Apply ugly but consistent PHP formatting rules 5 years ago
login.php Apply ugly but consistent PHP formatting rules 5 years ago
logout.php Apply ugly but consistent PHP formatting rules 5 years ago
manifest.php Only one logo and icon 5 years ago
peerupdate.php Fix file and folder permissions 5 years ago
questions.php Apply ugly but consistent PHP formatting rules 5 years ago
register.php Apply ugly but consistent PHP formatting rules 5 years ago
reports.php Apply ugly but consistent PHP formatting rules 5 years ago
reportsv2.php Apply ugly but consistent PHP formatting rules 5 years ago
requests.php Apply ugly but consistent PHP formatting rules 5 years ago
robots.txt Fix file and folder permissions 5 years ago
rules.php Apply ugly but consistent PHP formatting rules 5 years ago
schedule.php Apply ugly but consistent PHP formatting rules 5 years ago
scrape.php Fix file and folder permissions 5 years ago
signup.php Apply ugly but consistent PHP formatting rules 5 years ago
sitehistory.php Apply ugly but consistent PHP formatting rules 5 years ago
slaves.php Apply ugly but consistent PHP formatting rules 5 years ago
snatchlist.php Apply ugly but consistent PHP formatting rules 5 years ago
staff.php Apply ugly but consistent PHP formatting rules 5 years ago
staffblog.php Apply ugly but consistent PHP formatting rules 5 years ago
staffpm.php Apply ugly but consistent PHP formatting rules 5 years ago
stats.php Apply ugly but consistent PHP formatting rules 5 years ago
store.php Apply ugly but consistent PHP formatting rules 5 years ago
testing.php Apply ugly but consistent PHP formatting rules 5 years ago
tools.php Fix file and folder permissions 5 years ago
top10.php Apply ugly but consistent PHP formatting rules 5 years ago
torrents.php Apply ugly but consistent PHP formatting rules 5 years ago
upload.php Apply ugly but consistent PHP formatting rules 5 years ago
user.php Apply ugly but consistent PHP formatting rules 5 years ago
userhistory.php Apply ugly but consistent PHP formatting rules 5 years ago
whitelist.php Apply ugly but consistent PHP formatting rules 5 years ago
wiki.php Apply ugly but consistent PHP formatting rules 5 years ago

README.md

This is BioTorrents.de’s version of Gazelle

Below are some lists of differences between this version of Gazelle and What.cd’s. Please note that these lists are far from complete.

Major Changes

Integrated Database Encryption

Using a database key provided by staff and only ever stored as a hash in memory (via APCu), the integrated database encryption is used to encrypt sensitive user data like IP addresses, emails, and private messages regardless of the underlying system gazelle is running on.

The rest of gazelle must be aware that some of the data it fetches from the DB is encrypted, and must have a fallback if that data is unavailable (the key is not in memory). You will see plenty of if (!apcu_exists('DBKEY')) { in this codebase.

Authorized Login Locations

Whenever a login occurs from a location (determined by ASN) that hasn’t logged into that account before, an email is sent to the account owner requesting that they authorize that location before the login will go through.

This prevents most attacks that would be otherwise successful, as it requires an attacker to access the site from the same locations the actual user uses to login.

Two-Factor Authentication

Despite our other (less intrusive) methods of protecting user accounts being more than sufficient for virtually all feasible attacks, we also ship optional 2FA should users feel the need to enable it.

Universal 2nd Factor

Support for physical U2F tokens has also been added as an optional alternative to normal 2FA. U2F allows users to protect their account with something less likely to be lost or erased than 2FA keys stored on a phone.

Unique Infohashes

Upon upload, torrent files are modified to contain a “source” field in the info dict containing the concatination of the site name and some generated junk data (unique per-torrent). This prevents infohash collisions with torrents cross-seeded from other sites in the same client, and also helps protect against some not particularly likely peer-leaking attacks.

Expunge Requests

Users are able to view the data kept on them and issue requests for the deletion of old information to staff through a simple interface.

Resource Proxying

All external resources that may appear on a page are fetched and served by the server running gazelle. This prevents the leak of user information to third parties hosting content that has been included on a page through an image tag or similar.

Scheduler

The scheduler has been broken up into more manageable parts and has additional selective runtime features for manual execution.

Bonus Points

Like most gazelle forks, we’ve added a bonus point system and store.

Modern password hashing

We use modern PHP password hashing features that automatically rehash your password when a better hashing algorithm is made available and employ prehashing to allow you to use a secure password of any length. Original gazelle would effectively truncate your password after around 72 characters (if the tracker even allowed you to use a password that long). This codebase does not have the same problem, and allows passwords of virtually unlimited length (over 30,000 characters by default) that remain useful after a few tens of characters.

Minor Changes

  • When a torrent is trumped, the new torrent is made freeleech to users who snatched the old torrent for a few days.
  • Sends headers to tell cloudflare to use HTTP/2 Server Push for most resources.
  • BTN-style magnet link support.
  • Support for optional per-user stylesheet additions and tweaks
  • This codebase expects to run over https only.

Mascot

Gracie Gazelle

Gracie Gazelle

Gracie is a veteran pirate of the Digital Ocean. On land, predators form companies to hunt down prey. But in the lawless water, prey attack the predators’ transports. Gracies steals resources from the rich and shares them with the poor and isolated people. Her great eyesight sees through the darkest corners of the Internet for her next target. Her charisma attracts countless salty goats to join her fleet. She proudly puts the forbidden share symbols on her hat and belt, and is now one of the most wanted women in the world.

High resolution downloads here

Character design and bio by Tyson Tan, who offers mascot design services for free and open source software, free of charge, under a free license.

Contact: tysontan.com / tysontan@mail.com