Compare commits

..

No commits in common. "main" and "1.1.0" have entirely different histories.
main ... 1.1.0

24 changed files with 3394 additions and 6452 deletions

3
.github/FUNDING.yml vendored
View file

@ -1,3 +0,0 @@
# These are supported funding model platforms
open_collective: carlos61

6
.gitignore vendored
View file

@ -1,4 +1,2 @@
docs/.vitepress/dist
docs/.vitepress/cache
node_modules
tbd.md
/node_modules
pnpm-lock.yaml

View file

@ -1,33 +1,32 @@
### Adult Hosts
| **Service Name** | **AllDebrid** | **RealDebrid** | **TorBox** | **Deepbrid** | **Premiumize** | **Mega-Debrid** | **High-Way** | **LinkSnappy** | **Debrid-Link** |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| Beeg | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Coomer | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Drtuber | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Eporner | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Hanime | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Hentai foundry | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Kemono | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Nhentai | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Pornhub | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Pornoxo | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Redgifs | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Redtube | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Rule34 | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Spankbang | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Stripchat | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Sunporno | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Xhamster | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Xnxx | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Xvideos | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Xxxymovies | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Youjizz | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Youporn | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Total = 22** | **12/22** | **2/22** | **20/22** | **1/22** | **1/22** | **1/22** | **0/22** | **0/22** | **0/22** |
| **Service Name** | **AllDebrid** | **TorBox** | **Premiumize** | **RealDebrid** | **Debrid-Link** | **LinkSnappy** | **Mega-Debrid** | **Deepbrid** | **High-Way** | **Offcloud** |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| **Beeg** | Yes | Yes | No | No | No | No | No | No | No | No |
| **Coomer** | No | Yes | No | No | No | No | No | No | No | No |
| **Drtuber** | Yes | Yes | Yes | No | No | No | No | No | No | No |
| **Eporner** | No | No | No | No | No | No | No | No | No | Yes |
| **Hanime** | No | Yes | No | No | No | No | No | No | No | No |
| **Hentai foundry** | No | Yes | No | No | No | No | No | No | No | No |
| **Kemono** | No | Yes | No | No | No | No | No | No | No | No |
| **Nhentai** | No | Yes | No | No | No | No | No | No | No | No |
| **Pornhub** | Yes | Yes | No | No | No | No | No | No | No | Yes |
| **Redgifs** | No | Yes | No | No | No | No | No | No | No | No |
| **Redtube** | Yes | Yes | No | Yes | No | No | No | Yes | No | Yes |
| **Rule34** | No | Yes | No | No | No | No | No | No | No | No |
| **Spankbang** | Yes | Yes | No | No | No | No | No | No | No | Yes |
| **Stripchat** | No | Yes | No | No | No | No | No | No | No | No |
| **Sunporno** | No | Yes | No | No | No | No | Yes | No | No | No |
| **Xhamster** | Yes | Yes | No | No | No | No | No | No | No | Yes |
| **Xnxx** | Yes | Yes | No | No | No | No | No | No | No | No |
| **Xvideos** | Yes | Yes | No | No | No | No | No | No | No | Yes |
| **Xxxymovies** | Yes | Yes | No | No | No | No | No | No | No | No |
| **Youjizz** | Yes | Yes | No | No | No | No | No | No | No | Yes |
| **Youporn** | No | Yes | No | Yes | No | No | No | No | No | Yes |
| **Total = 20** | **10/20** | **20/20** | **1/20** | **2/20** | **0/20** | **0/20** | **1/20** | **1/20** | **0/20** |
> **Last updated: March 9, 2026**
> Last Update: September 19, 2025
<div align="center">

21
LICENSE
View file

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2025 Fynks
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

1093
README.md

File diff suppressed because it is too large Load diff

View file

@ -1,4 +0,0 @@
Contact: https://github.com/fynks/debrid-services-comparison/issues
Expires: 2026-12-31T23:59:59.000Z
Preferred-Languages: en
Canonical: https://debridcompare.pages.dev/.well-known/security.txt

2
dist/_redirects vendored Normal file
View file

@ -0,0 +1,2 @@
http://www.debridcompare.pages.dev/* https://debridcompare.pages.dev/:splat 301!
https://www.debridcompare.pages.dev/* https://debridcompare.pages.dev/:splat 301!

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="/images/favicon-32x32.png"/>
<square150x150logo src="/images/apple-touch-icon.png"/>
<square310x310logo src="/images/apple-touch-icon.png"/>
<TileColor>#2563eb</TileColor>
</tile>
</msapplication>
</browserconfig>

2996
dist/css/styles.css vendored

File diff suppressed because it is too large Load diff

BIN
dist/image.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

View file

@ -1,99 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 930" style="max-width: 800px;">
<defs>
<style>
/* Light mode (default) */
.box { fill: #fff; stroke: #333; stroke-width: 2; }
.diamond { fill: #fff; stroke: #333; stroke-width: 2; }
.text { font-family: Arial, sans-serif; font-size: 14px; text-anchor: middle; fill: #333; }
.arrow { stroke: #333; stroke-width: 2; fill: none; marker-end: url(#arrowhead-light); }
.label { font-family: Arial, sans-serif; font-size: 12px; text-anchor: middle; fill: #333; }
#arrowhead-light { display: block; }
#arrowhead-dark { display: none; }
/* Dark mode */
@media (prefers-color-scheme: dark) {
.box { fill: #1c1c1c; stroke: #8b949e; stroke-width: 2; }
.diamond { fill: #1c1c1c; stroke: #8b949e; stroke-width: 2; }
.text { fill: #c9d1d9; }
.arrow { stroke: #8b949e; marker-end: url(#arrowhead-dark); }
.label { fill: #8b949e; }
#arrowhead-light { display: none; }
#arrowhead-dark { display: block; }
}
</style>
<marker id="arrowhead-light" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto">
<polygon points="0 0, 10 3, 0 6" fill="#333" />
</marker>
<marker id="arrowhead-dark" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto">
<polygon points="0 0, 10 3, 0 6" fill="#8b949e" />
</marker>
</defs>
<!-- Node A -->
<rect x="250" y="20" width="300" height="60" rx="5" class="box"/>
<text x="400" y="55" class="text">User provides file link or torrent</text>
<!-- Arrow A to B -->
<path d="M 400 80 L 400 130" class="arrow"/>
<!-- Node B (Diamond) -->
<path d="M 400 130 L 500 180 L 400 230 L 300 180 Z" class="diamond"/>
<text x="400" y="180" class="text">File on supported</text>
<text x="400" y="195" class="text">host?</text>
<!-- Arrow B to C -->
<path d="M 400 230 L 400 270" class="arrow"/>
<text x="430" y="255" class="label">Yes</text>
<!-- Node C -->
<rect x="275" y="270" width="250" height="60" rx="5" class="box"/>
<text x="400" y="305" class="text">Debrid service fetches file</text>
<!-- Arrow C to D -->
<path d="M 400 330 L 400 370" class="arrow"/>
<!-- Node D -->
<rect x="250" y="370" width="300" height="60" rx="5" class="box"/>
<text x="400" y="405" class="text">File cached on high-speed servers</text>
<!-- Arrow D to E -->
<path d="M 400 430 L 400 480" class="arrow"/>
<!-- Node E (Diamond) -->
<path d="M 400 480 L 500 530 L 400 580 L 300 530 Z" class="diamond"/>
<text x="400" y="530" class="text">Stream or</text>
<text x="400" y="545" class="text">download?</text>
<!-- Arrow E to F (Stream) -->
<path d="M 300 530 L 150 530 L 150 650" class="arrow"/>
<text x="200" y="525" class="label">Stream</text>
<!-- Arrow E to G (Download) -->
<path d="M 500 530 L 650 530 L 650 650" class="arrow"/>
<text x="600" y="525" class="label">Download</text>
<!-- Node F -->
<rect x="25" y="650" width="250" height="60" rx="5" class="box"/>
<text x="150" y="685" class="text">Direct streaming link provided</text>
<!-- Node G -->
<rect x="525" y="650" width="250" height="60" rx="5" class="box"/>
<text x="650" y="685" class="text">High-speed download link provided</text>
<!-- Arrow F to H -->
<path d="M 150 710 L 150 750 L 400 750" class="arrow"/>
<!-- Arrow G to H -->
<path d="M 650 710 L 650 750 L 400 750" class="arrow"/>
<!-- Node H -->
<rect x="275" y="750" width="250" height="60" rx="5" class="box"/>
<text x="400" y="785" class="text">Access file instantly</text>
<!-- Arrow H to I -->
<path d="M 400 810 L 400 850" class="arrow"/>
<!-- Node I -->
<rect x="250" y="850" width="300" height="60" rx="5" class="box"/>
<text x="400" y="885" class="text">File cached for 24-72 hours</text>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

BIN
dist/images/og.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 KiB

2005
dist/index.html vendored

File diff suppressed because it is too large Load diff

3412
dist/js/app.js vendored

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
{"Beeg":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Coomer":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Drtuber":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"✅","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Eporner":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"❌","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Hanime":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Hentai foundry":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Kemono":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Nhentai":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Pornhub":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Pornoxo":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"❌","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Redgifs":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Redtube":{"AllDebrid":"✅","RealDebrid":"✅","TorBox":"✅","Deepbrid":"✅","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Rule34":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Spankbang":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Stripchat":{"AllDebrid":"❌","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Sunporno":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"✅","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Xhamster":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Xnxx":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Xvideos":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Xxxymovies":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Youjizz":{"AllDebrid":"✅","RealDebrid":"❌","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"},"Youporn":{"AllDebrid":"❌","RealDebrid":"✅","TorBox":"✅","Deepbrid":"❌","Premiumize":"❌","Mega-Debrid":"❌","High-Way":"❌","LinkSnappy":"❌","Debrid-Link":"❌"}}
{"Beeg":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Coomer":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Drtuber":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"yes","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Eporner":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Hanime":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Hentai foundry":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Kemono":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Nhentai":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Pornhub":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Redgifs":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Redtube":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"yes","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"yes","High-Way":"no","Offcloud":"yes"},"Rule34":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Spankbang":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Stripchat":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Sunporno":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"yes","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Xhamster":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Xnxx":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Xvideos":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Xxxymovies":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Youjizz":{"AllDebrid":"yes","TorBox":"yes","Premiumize":"no","RealDebrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Youporn":{"AllDebrid":"no","TorBox":"yes","Premiumize":"no","RealDebrid":"yes","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"}}

File diff suppressed because one or more lines are too long

1
dist/json/pricing.json vendored Normal file
View file

@ -0,0 +1 @@
{"plans":[{"name":"Free/Trial","AllDebrid":"7 days*","Premiumize":"-","Real-Debrid":"-","TorBox":"$0/month","Debrid-Link":"-","Linksnappy":"-","Mega-Debrid":"-","Deepbrid":"Limited Hosts"},{"name":"7 Days","AllDebrid":"-","Premiumize":"-","Real-Debrid":"-","TorBox":"-","Debrid-Link":"-","Linksnappy":"$4.99 USD","Mega-Debrid":"-","Deepbrid":"-"},{"name":"15 Days","AllDebrid":"€2.99","Premiumize":"-","Real-Debrid":"€3","TorBox":"-","Debrid-Link":"€3","Linksnappy":"-","Mega-Debrid":"-","Deepbrid":"€4.50"},{"name":"30 Days","AllDebrid":"€2.99/mo (Recur) / €3.99 (One-time)","Premiumize":"€11.99","Real-Debrid":"€4","TorBox":"Starts from $3.0","Debrid-Link":"€4","Linksnappy":"$12.99 USD","Mega-Debrid":"€4","Deepbrid":"€4.99"},{"name":"90 Days","AllDebrid":"€8.99(One-time)","Premiumize":"$29.99","Real-Debrid":"€9","TorBox":"-","Debrid-Link":"€9","Linksnappy":"$29.99 USD","Mega-Debrid":"€9","Deepbrid":"€12.99"},{"name":"180 Days","AllDebrid":"€15.99(One-time)","Premiumize":"-","Real-Debrid":"€16","TorBox":"-","Debrid-Link":"€16","Linksnappy":"$54.99","Mega-Debrid":"€16","Deepbrid":"€19.99"},{"name":"300 Days","AllDebrid":"€24.99(One-time)","Premiumize":"-","Real-Debrid":"-","TorBox":"-","Debrid-Link":"€25","Linksnappy":"-","Mega-Debrid":"-","Deepbrid":"-"},{"name":"365 Days","AllDebrid":"-","Premiumize":"$79.99","Real-Debrid":"-","TorBox":"-","Debrid-Link":"-","Linksnappy":"-","Mega-Debrid":"-","Deepbrid":"€32.99"}]}

25
dist/manifest.json vendored
View file

@ -1,25 +0,0 @@
{
"name": "Debrid Compare",
"short_name": "DSC",
"start_url": "https://debridcompare.pages.dev",
"display": "standalone",
"description": "Compare leading debrid / multi-hoster services for pricing, host coverage, policies & tools.",
"lang": "en",
"dir": "auto",
"theme_color": "#ffffff",
"background_color": "#ffffff",
"orientation": "any",
"icons": [
{
"src": "images/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "images/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

4
dist/robots.txt vendored
View file

@ -1,4 +1,4 @@
User-agent: *
Allow: /
Disallow:
Disallow: /cgi-bin/
Sitemap: https://debridcompare.pages.dev/sitemap.xml

1
dist/site.webmanifest vendored Normal file
View file

@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"images/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"images/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

20
dist/sitemap.xml vendored
View file

@ -1,7 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://debridcompare.pages.dev/</loc>
<lastmod>2026-03-22</lastmod>
</url>
</urlset>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<!-- Homepage -->
<url>
<loc>https://debridcompare.pages.dev/</loc>
<lastmod>2025-09-14T00:00:00+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>

View file

@ -3,23 +3,22 @@
"version": "2.0.1",
"description": "A concise comparison of pricing and supported hosts for popular debrid services including AllDebrid, Real-Debrid, LinkSnappy, Premiumize, Debrid-Link, TorBox, and Mega-Debrid.",
"main": "index.js",
"homepage": "https://debridcompare.pages.dev/",
"homepage": "",
"repository": {
"type": "git",
"url": "https://github.com/fynks/debrid-services-comparison"
"url": ""
},
"scripts": {
"minify:css": "cleancss -o dist/css/styles-min.css dist/css/styles.css",
"minify:js": "terser dist/js/app.js -o dist/js/app-min.js --compress --mangle",
"optimize-json": "chmod +x scripts/json-optimizer.sh && scripts/json-optimizer.sh dist/json/file-hosts.json dist/json/file-hosts-optimized.json && scripts/json-optimizer.sh dist/json/adult-hosts.json dist/json/adult-hosts-optimized.json",
"prune-json": "rm -f dist/json/file-hosts.json dist/json/adult-hosts.json",
"build": "npm run minify:css && npm run minify:js && npm run optimize-json && npm run prune-json && workbox generateSW workbox-config.js",
"build": "npm run minify:css && npm run minify:js && npm run optimize-json && workbox generateSW workbox-config.js",
"postbuild": "node scripts/replace-assets.js"
},
"author": "fynks",
"dependencies": {
"clean-css-cli": "^5.6.3",
"terser": "^5.46.0",
"workbox-cli": "^7.4.0"
"terser": "^5.44.0",
"workbox-cli": "^7.3.0"
}
}

View file

@ -1,9 +1,9 @@
#!/bin/bash
# JSON Optimizer Script - Converts host data to indexed format
# Converts ✅/❌ format to compact indexed format for better performance
# Usage: ./scripts/json-optimizer.sh file-hosts.json
# ./scripts/json-optimizer.sh adult-hosts.json
# ./scripts/json-optimizer.sh pricing.json
# Colors for output
RED='\033[0;31m'
@ -41,7 +41,7 @@ if [ $# -eq 0 ]; then
echo "Examples:"
echo " $0 file-hosts.json"
echo " $0 ./json/adult-hosts.json"
echo " $0 ./json/file-hosts.json file-hosts-optimized.json"
echo " $0 pricing.json pricing-optimized.json"
exit 1
fi
@ -118,11 +118,11 @@ def convert_to_indexed_format(input_file, output_file):
total_support_instances = 0
for host, host_data in data.items():
# Get indices of services with '✅' values (new format)
# Get indices of services with 'yes' values (case insensitive)
supported_indices = [
service_to_index[service]
for service, value in host_data.items()
if str(value) == '✅'
if str(value).lower() == 'yes'
]
supported[host] = sorted(supported_indices)
total_support_instances += len(supported_indices)

View file

@ -46,33 +46,46 @@ function replaceAssets() {
};
const cssHash = safeHash(cssMinPath);
const jsHash = safeHash(jsMinPath);
const cssTarget = cssHash ? `href="/css/styles-min.css?v=${cssHash}"` : 'href="/css/styles-min.css"';
const jsTarget = jsHash ? `src="/js/app-min.js?v=${jsHash}"` : 'src="/js/app-min.js"';
const cssTarget = cssHash ? `href="./css/styles-min.css?v=${cssHash}"` : 'href="./css/styles-min.css"';
const jsTarget = jsHash ? `src="js/app-min.js?v=${jsHash}"` : 'src="js/app-min.js"';
// Normalize all stylesheet/script/preload references to minified assets with one hash.
const cssHrefPattern = /href=["'](?:\.\/|\/)?css\/(?:styles|styles-min)\.css(?:\?[^"']*)?["']/g;
const jsSrcPattern = /src=["'](?:\.\/|\/)?js\/(?:app|app-min)\.js(?:\?[^"']*)?["']/g;
const jsHrefPattern = /href=["'](?:\.\/|\/)?js\/(?:app|app-min)\.js(?:\?[^"']*)?["']/g;
// Replace CSS links in head - more flexible patterns
const cssPatterns = [
/href=["']\.\/css\/styles\.css["']/g,
/href=["']css\/styles\.css["']/g,
/href=["'][^"']*\/styles\.css["']/g
];
const cssMatches = updatedHeadContent.match(cssHrefPattern);
if (cssMatches) {
updatedHeadContent = updatedHeadContent.replace(cssHrefPattern, cssTarget);
cssReplaced += cssMatches.length;
cssPatterns.forEach(pattern => {
const matches = updatedHeadContent.match(pattern);
if (matches) {
updatedHeadContent = updatedHeadContent.replace(pattern, cssTarget);
cssReplaced += matches.length;
}
});
// Ensure existing preload to styles-min.css carries the same version hash
if (cssHash) {
const preloadMinCssPattern = /href=["']\/?css\/styles-min\.css["']/g;
if (preloadMinCssPattern.test(updatedHeadContent)) {
updatedHeadContent = updatedHeadContent.replace(preloadMinCssPattern, `href="/css/styles-min.css?v=${cssHash}"`);
}
}
const jsSrcHeadMatches = updatedHeadContent.match(jsSrcPattern);
if (jsSrcHeadMatches) {
updatedHeadContent = updatedHeadContent.replace(jsSrcPattern, jsTarget);
jsReplaced += jsSrcHeadMatches.length;
}
// Replace JS script src in head - more flexible patterns
const jsPatterns = [
/src=["']\.\/js\/app\.js["']/g,
/src=["']js\/app\.js["']/g,
/src=["'][^"']*\/app\.js["']/g
];
// Preload script links use href (not src), so normalize them too.
const jsHrefHeadMatches = updatedHeadContent.match(jsHrefPattern);
if (jsHrefHeadMatches) {
const jsHrefTarget = jsHash ? `href="/js/app-min.js?v=${jsHash}"` : 'href="/js/app-min.js"';
updatedHeadContent = updatedHeadContent.replace(jsHrefPattern, jsHrefTarget);
jsReplaced += jsHrefHeadMatches.length;
}
jsPatterns.forEach(pattern => {
const matches = updatedHeadContent.match(pattern);
if (matches) {
updatedHeadContent = updatedHeadContent.replace(pattern, jsTarget);
jsReplaced += matches.length;
}
});
// Also check for script tags at the end of body (common pattern)
const bodyMatch = html.match(/(<body[^>]*>)([\s\S]*?)(<\/body>)/i);
@ -80,11 +93,13 @@ function replaceAssets() {
const [fullBodyTag, bodyStart, bodyContent, bodyEnd] = bodyMatch;
let updatedBodyContent = bodyContent;
const jsSrcBodyMatches = updatedBodyContent.match(jsSrcPattern);
if (jsSrcBodyMatches) {
updatedBodyContent = updatedBodyContent.replace(jsSrcPattern, jsTarget);
jsReplaced += jsSrcBodyMatches.length;
}
jsPatterns.forEach(pattern => {
const matches = updatedBodyContent.match(pattern);
if (matches) {
updatedBodyContent = updatedBodyContent.replace(pattern, jsTarget);
jsReplaced += matches.length;
}
});
// Reconstruct the body if changes were made
if (updatedBodyContent !== bodyContent) {