Compare commits
No commits in common. "main" and "1.1.0" have entirely different histories.
24 changed files with 3394 additions and 6452 deletions
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
|
|
@ -1,3 +0,0 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
open_collective: carlos61
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -1,4 +1,2 @@
|
|||
docs/.vitepress/dist
|
||||
docs/.vitepress/cache
|
||||
node_modules
|
||||
tbd.md
|
||||
/node_modules
|
||||
pnpm-lock.yaml
|
||||
|
|
@ -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
21
LICENSE
|
|
@ -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.
|
||||
4
dist/.well-known/security.txt
vendored
4
dist/.well-known/security.txt
vendored
|
|
@ -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
2
dist/_redirects
vendored
Normal 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!
|
||||
11
dist/browserconfig.xml
vendored
11
dist/browserconfig.xml
vendored
|
|
@ -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
2996
dist/css/styles.css
vendored
File diff suppressed because it is too large
Load diff
BIN
dist/image.png
vendored
Normal file
BIN
dist/image.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 321 KiB |
99
dist/images/flowchart.svg
vendored
99
dist/images/flowchart.svg
vendored
|
|
@ -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
BIN
dist/images/og.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 438 KiB |
2005
dist/index.html
vendored
2005
dist/index.html
vendored
File diff suppressed because it is too large
Load diff
3412
dist/js/app.js
vendored
3412
dist/js/app.js
vendored
File diff suppressed because it is too large
Load diff
2
dist/json/adult-hosts.json
vendored
2
dist/json/adult-hosts.json
vendored
|
|
@ -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"}}
|
||||
2
dist/json/file-hosts.json
vendored
2
dist/json/file-hosts.json
vendored
File diff suppressed because one or more lines are too long
1
dist/json/pricing.json
vendored
Normal file
1
dist/json/pricing.json
vendored
Normal 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
25
dist/manifest.json
vendored
|
|
@ -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
4
dist/robots.txt
vendored
|
|
@ -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
1
dist/site.webmanifest
vendored
Normal 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
20
dist/sitemap.xml
vendored
|
|
@ -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>
|
||||
11
package.json
11
package.json
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue