Oppaitime'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.
spaghetti ba83225b19 Migrate to storing torrent files on the filesystem rather than the DB 8 years ago
classes Migrate to storing torrent files on the filesystem rather than the DB 8 years ago
design Style Changes 8 years ago
sections Migrate to storing torrent files on the filesystem rather than the DB 8 years ago
static Style Changes 8 years ago
templates Require authorization for logins from new locations 8 years ago
README.md Update README 8 years ago
ajax.php Initial commit 9 years ago
announce.php Initial commit 9 years ago
artist.php Initial commit 9 years ago
better.php Initial commit 9 years ago
blog.php Initial commit 9 years ago
bookmarks.php Initial commit 9 years ago
browse.php Initial commit 9 years ago
chat.php Initial commit 9 years ago
collage.php Initial commit 9 years ago
collages.php Initial commit 9 years ago
comments.php Initial commit 9 years ago
contest.php Forgot to track these apparently 8 years ago
delete.php Initial commit 9 years ago
donate.php Initial commit 9 years ago
enable.php Initial commit 9 years ago
error.php Initial commit 9 years ago
feeds.php Retab project 9 years ago
flush.php Initial commit 9 years ago
forums.php Initial commit 9 years ago
friends.php Initial commit 9 years ago
gazelle.sql Migrate to storing torrent files on the filesystem rather than the DB 8 years ago
image.php Retab project 9 years ago
inbox.php Initial commit 9 years ago
index.php Initial commit 9 years ago
irc.php Initial commit 9 years ago
locked.php Initial commit 9 years ago
log.php Initial commit 9 years ago
login.php Initial commit 9 years ago
logout.php Initial commit 9 years ago
peerupdate.php Initial commit 9 years ago
questions.php Initial commit 9 years ago
register.php Initial commit 9 years ago
reports.php Initial commit 9 years ago
reportsv2.php Initial commit 9 years ago
requests.php Initial commit 9 years ago
robots.txt Initial commit 9 years ago
rules.php Initial commit 9 years ago
schedule.php Initial commit 9 years ago
scrape.php Initial commit 9 years ago
signup.php Initial commit 9 years ago
sitehistory.php Initial commit 9 years ago
snatchlist.php Initial commit 9 years ago
staff.php Initial commit 9 years ago
staffblog.php Initial commit 9 years ago
staffpm.php Initial commit 9 years ago
stats.php Initial commit 9 years ago
store.php Initial commit 9 years ago
testing.php Initial commit 9 years ago
tools.php Initial commit 9 years ago
top10.php Initial commit 9 years ago
torrents.php Initial commit 9 years ago
upload.php Initial commit 9 years ago
user.php Initial commit 9 years ago
userhistory.php Initial commit 9 years ago
whitelist.php Initial commit 9 years ago
wiki.php Initial commit 9 years ago

README.md

This is Oppaitime’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 APC), 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 (!apc_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.

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 new 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.
  • An attempt has been made to support magnet links. This has shown partial success.
  • This codebase expects to run over https only.