Compare commits
No commits in common. "main" and "2.0" have entirely different histories.
18 changed files with 2218 additions and 3004 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,4 +1,3 @@
|
|||
docs/.vitepress/dist
|
||||
docs/.vitepress/cache
|
||||
node_modules
|
||||
tbd.md
|
||||
node_modules
|
||||
|
|
@ -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.
|
||||
2
dist/.well-known/security.txt
vendored
2
dist/.well-known/security.txt
vendored
|
|
@ -1,4 +1,4 @@
|
|||
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
|
||||
Canonical: https://debridcompare.xyz/.well-known/security.txt
|
||||
|
|
|
|||
1216
dist/css/styles.css
vendored
1216
dist/css/styles.css
vendored
File diff suppressed because it is too large
Load diff
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 After Width: | Height: | Size: 355 KiB |
1166
dist/index.html
vendored
1166
dist/index.html
vendored
File diff suppressed because it is too large
Load diff
1452
dist/js/app.js
vendored
1452
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":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Coomer":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Drtuber":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"✅","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Eporner":{"AllDebrid":"❌","TorBox":"❌","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"},"Hanime":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Hentai foundry":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Kemono":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Nhentai":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Pornhub":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"},"Redgifs":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Redtube":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"✅","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"✅","High-Way":"❌","Offcloud":"✅"},"Rule34":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Spankbang":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"},"Stripchat":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Sunporno":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"✅","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Xhamster":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"},"Xnxx":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Xvideos":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"},"Xxxymovies":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"❌"},"Youjizz":{"AllDebrid":"✅","TorBox":"✅","Premiumize":"❌","Real-Debrid":"❌","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"},"Youporn":{"AllDebrid":"❌","TorBox":"✅","Premiumize":"❌","Real-Debrid":"✅","Debrid-Link":"❌","LinkSnappy":"❌","Mega-Debrid":"❌","Deepbrid":"❌","High-Way":"❌","Offcloud":"✅"}}
|
||||
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
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"
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
29
dist/robots.txt
vendored
29
dist/robots.txt
vendored
|
|
@ -1,4 +1,31 @@
|
|||
# robots.txt for debridcompare.xyz
|
||||
User-agent: *
|
||||
Allow: /
|
||||
Disallow: /cgi-bin/
|
||||
Disallow: /admin/
|
||||
Disallow: /*.json$
|
||||
|
||||
Sitemap: https://debridcompare.pages.dev/sitemap.xml
|
||||
# Crawl-delay for respectful crawling
|
||||
Crawl-delay: 1
|
||||
|
||||
# Sitemaps
|
||||
Sitemap: https://debridcompare.xyz/sitemap.xml
|
||||
|
||||
# Specific user agents
|
||||
User-agent: Googlebot
|
||||
Allow: /
|
||||
Crawl-delay: 0
|
||||
|
||||
User-agent: Bingbot
|
||||
Allow: /
|
||||
Crawl-delay: 0
|
||||
|
||||
User-agent: Slurp
|
||||
Allow: /
|
||||
|
||||
User-agent: DuckDuckBot
|
||||
Allow: /
|
||||
|
||||
User-agent: Baiduspider
|
||||
Allow: /
|
||||
Crawl-delay: 2
|
||||
|
|
|
|||
1
dist/site.webmanifest
vendored
Normal file
1
dist/site.webmanifest
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"name":"Debrid Compare","short_name":"DC","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"}
|
||||
24
dist/sitemap.xml
vendored
24
dist/sitemap.xml
vendored
|
|
@ -1,7 +1,19 @@
|
|||
<?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"
|
||||
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
|
||||
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.xyz/</loc>
|
||||
<lastmod>2025-01-11T00:00:00+00:00</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
<image:image>
|
||||
<image:loc>https://debridcompare.xyz/images/og.png</image:loc>
|
||||
<image:title>Debrid Services Comparison Tool</image:title>
|
||||
<image:caption>Compare 10 premium debrid services including AllDebrid, Real-Debrid, TorBox, and more</image:caption>
|
||||
</image:image>
|
||||
</url>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"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": "https://debridcompare.xyz/",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fynks/debrid-services-comparison"
|
||||
|
|
@ -12,14 +12,13 @@
|
|||
"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"
|
||||
}
|
||||
}
|
||||
|
|
@ -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