all repos — Private-Trackers-Spreadsheet @ 17b45eb4e730ae19bfa6996f0f2d4d81e3d4e6db

A spreadsheet providing detailed information about private trackers

index.html (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Private Trackers Spreadsheet</title>
    <link rel="stylesheet" type="text/css" href="assets/css/app.css">
    <script src="assets/js/app.js"></script>
    <!-- AlpineJS -->
    <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,200,300,600,700,900" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:400,200,300,700" rel="stylesheet" type="text/css">
</head>
<body>
<div class="tracker-wrapper">
    <nav class="tracker-navbar">
        <div class="tracker-navbar__container">
            <div class="tracker-navbar__brand">
                <h2 class="tracker-navbar__title"><span class="icon icon-skull-crossbones tracker-navbar__icon"></span> Private Tracker List</h2>
            </div>
            <div class="tracker-navbar__actions">
                <!-- Theme Switcher -->
                <div x-data="themeSwitcher()" class="theme-switcher">
                    <!-- Color Picker -->
                    <div class="color-picker" x-show="showColorPicker" x-transition @click.away="showColorPicker = false">
                        <div class="color-picker__grid">
                            <template x-for="color in accentColors" :key="color.value">
                                <button
                                    @click="setAccentColor(color.value)"
                                    class="color-picker__swatch"
                                    :style="`background-color: ${color.value}`"
                                    :class="{ 'color-picker__swatch--active': accentColor === color.value }"
                                    :title="color.name">
                                </button>
                            </template>
                        </div>
                    </div>

                    <!-- Accent Color Button -->
                    <button @click="showColorPicker = !showColorPicker" class="theme-switcher__button theme-switcher__button--accent" title="Change accent color">
                        <span class="icon icon-palette"></span>
                    </button>

                    <!-- Theme Toggle Button -->
                    <button @click="toggleTheme()" class="theme-switcher__button" :title="isDark ? 'Switch to light mode' : 'Switch to dark mode'">
                        <span :class="isDark ? 'icon icon-sun' : 'icon icon-moon'"></span>
                    </button>
                </div>

                <ul class="tracker-navbar__links">
                    <li class="tracker-navbar__dropdown">
                        <span>Other Resources</span>
                        <ul class="tracker-navbar__dropdown-menu">
                            <li><a href="https://github.com/HDVinnie/Torrent-Tracker-Platforms">Tracker Platforms</a></li>
                            <li><a href="https://github.com/HDVinnie/TrackerHub">Tracker Hub</a></li>
                            <li><a href="https://opentrackers.org">Open Trackers</a></li>
                            <li><a href="https://www.reddit.com/r/trackers/">r/trackers on Reddit</a></li>
                            <li><a href="https://wiki.installgentoo.com/index.php/Private_trackers">Wiki on InstallGentoo</a></li>
                            <li><a href="https://torrentfreak.com">Torrent Freak</a></li>
                            <li><a href="https://trackerstatus.info">Tracker Statuses</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
    <main class="tracker-main">
        <section class="tracker-contribute">
            <div class="tracker-contribute__message">
                <strong>Hey There!</strong> Like what you see? Feel free to contribute <a class="tracker-contribute__link" href="https://github.com/HDVinnie/Private-Trackers-Spreadsheet">HERE!</a>
            </div>
        </section>
        <section class="tracker-table" x-data="trackerTable()">
            <!-- Tooltip container -->
            <div x-show="tooltip.show"
                 x-transition
                 class="alpine-tooltip"
                 :style="`left: ${tooltip.x}px; top: ${tooltip.y}px; transform: translateX(-50%)`"
                 x-text="tooltip.text">
            </div>

            <div class="tracker-table__controls">
                <input class="tracker-table__search" type="text" placeholder="Search trackers..." x-model="search">
                <div class="tracker-table__info">
                    <span x-text="`${filteredTrackers.length} of ${trackers.length} trackers`"></span>
                </div>
            </div>
            <div class="tracker-table__container">
                <table class="tracker-table__main">
                    <thead>
                    <tr>
                        <th @click="sortBy('Name')"
                            @mouseenter="showTooltip($event, 'The tracker\'s name')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Name <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Abbreviation')"
                            @mouseenter="showTooltip($event, 'Common abbreviation or short name for the tracker')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Abbr <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Type')"
                            @mouseenter="showTooltip($event, 'Type of content the tracker specializes in (Movies, TV, Music, General, etc.)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Type <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Codebase')"
                            @mouseenter="showTooltip($event, 'The software/codebase the tracker runs on (Gazelle, UNIT3D, etc.)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Codebase <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Observatory Grade')"
                            @mouseenter="showTooltip($event, 'Security grade from Mozilla Observatory (A+ is best, F is worst)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Moz Grade <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Users')"
                            @mouseenter="showTooltip($event, 'Total number of registered users on the tracker')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Users <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Torrents')"
                            @mouseenter="showTooltip($event, 'Total number of torrents available on the tracker')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Torrents <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Peers')"
                            @mouseenter="showTooltip($event, 'Total number of peers (seeders + leechers) across all torrents')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Peers <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Ratio')"
                            @mouseenter="showTooltip($event, 'Whether the tracker enforces upload/download ratio requirements')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Ratio <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Ratio Diff')"
                            @mouseenter="showTooltip($event, 'How difficult it is to maintain the required ratio (Easy, Moderate, Tough)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Ratio Diff <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Freeleech')"
                            @mouseenter="showTooltip($event, 'Whether the tracker offers freeleech content (downloads don\'t count against ratio)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Freeleech <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Points')"
                            @mouseenter="showTooltip($event, 'Whether the tracker has a bonus points system (Points, BON, Lumens, etc.)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Points <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Hit & Run')"
                            @mouseenter="showTooltip($event, 'Whether the tracker enforces hit and run rules (must seed for minimum time/ratio)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            H&R <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Birthdate')"
                            @mouseenter="showTooltip($event, 'Year the tracker was founded or launched')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            B-Day <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Join')"
                            @mouseenter="showTooltip($event, 'How users can join the tracker (Invite, Application, Open, etc.)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Join <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Join Diff')"
                            @mouseenter="showTooltip($event, 'How difficult it is to join the tracker (Easy, Moderate, Tough)')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Join Diff <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortBy('Updated')"
                            @mouseenter="showTooltip($event, 'Date when the tracker\'s information was last updated in this database')"
                            @mouseleave="hideTooltip()"
                            class="tracker-table__sortable">
                            Updated <span class="icon icon-sort"></span>
                        </th>
                    </tr>
                    </thead>
                    <tbody>
                    <template x-for="tracker in filteredTrackers" :key="tracker.Name">
                        <tr class="tracker-table__row">
                            <td class="tracker-table__cell tracker-table__cell--name" x-text="tracker.Name"></td>
                            <td class="tracker-table__cell" x-text="tracker.Abbreviation"></td>
                            <td class="tracker-table__cell" x-text="tracker.Type"></td>
                            <td class="tracker-table__cell" x-text="tracker.Codebase"></td>
                            <td class="tracker-table__cell" x-text="tracker['Observatory Grade']"></td>
                            <td class="tracker-table__cell" x-text="tracker.Users"></td>
                            <td class="tracker-table__cell" x-text="tracker.Torrents"></td>
                            <td class="tracker-table__cell" x-text="tracker.Peers"></td>
                            <td class="tracker-table__cell" x-text="tracker.Ratio"></td>
                            <td class="tracker-table__cell" x-text="tracker['Ratio Diff']"></td>
                            <td class="tracker-table__cell" x-text="tracker.Freeleech"></td>
                            <td class="tracker-table__cell" x-text="tracker.Points"></td>
                            <td class="tracker-table__cell" x-text="tracker['Hit & Run']"></td>
                            <td class="tracker-table__cell" x-text="tracker.Birthdate"></td>
                            <td class="tracker-table__cell" x-text="tracker.Join"></td>
                            <td class="tracker-table__cell" x-text="tracker['Join Diff']"></td>
                            <td class="tracker-table__cell" x-text="tracker.Updated"></td>
                        </tr>
                    </template>
                    </tbody>
                </table>
            </div>
        </section>
        <section class="tracker-jackett" x-data="jackettTable()">
            <div class="tracker-jackett__message">
                Trackers from <a class="tracker-jackett__link" href="https://github.com/Jackett/Jackett">Jackett</a> that have not yet been added
            </div>
            <div class="tracker-jackett__controls">
                <input class="tracker-jackett__search" type="text" placeholder="Search Jackett trackers..." x-model="search">
                <div class="tracker-jackett__info">
                    <span x-text="`${filteredJackettTrackers.length} of ${jackettTrackers.length} trackers`"></span>
                </div>
            </div>
            <div class="tracker-jackett__container">
                <table class="tracker-jackett__table">
                    <thead>
                    <tr>
                        <th @click="sortJackettBy('name')" class="tracker-jackett__sortable">
                            Name <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortJackettBy('description')" class="tracker-jackett__sortable">
                            Description <span class="icon icon-sort"></span>
                        </th>
                        <th @click="sortJackettBy('type')" class="tracker-jackett__sortable">
                            Type <span class="icon icon-sort"></span>
                        </th>
                    </tr>
                    </thead>
                    <tbody>
                    <template x-for="tracker in filteredJackettTrackers" :key="tracker.name">
                        <tr class="tracker-jackett__row">
                            <td class="tracker-jackett__cell tracker-jackett__cell--name" x-text="tracker.name"></td>
                            <td class="tracker-jackett__cell tracker-jackett__cell--description" x-text="tracker.description"></td>
                            <td class="tracker-jackett__cell" x-text="tracker.type"></td>
                        </tr>
                    </template>
                    </tbody>
                </table>
            </div>
        </section>
        <section class="tracker-privacy">
            <div class="tracker-privacy__panel">
                <h3 class="tracker-privacy__title">Privacy Notice</h3>
                <div class="tracker-privacy__body">
                    If your site is listed here and you dont want it to be, please email <a href="mailto:hdinnovations@protonmail.com">hdinnovations@protonmail.com</a> instead of using the issue tracker.
                </div>
            </div>
        </section>
    </main>
</div>
</body>
</html>