From 8093be30e35d17f67e86e267aaa0bb86bf6905ee Mon Sep 17 00:00:00 2001 From: fynks <75840152+fynks@users.noreply.github.com> Date: Tue, 30 Sep 2025 08:29:28 +0500 Subject: [PATCH] revert to old web version --- docs/Adult-hosts.md => Adult-hosts.md | 6 - README.md | 38 +- {docs => dist}/_redirects | 0 dist/css/styles.css | 3438 +++++++++++++++++ {docs/public => dist}/favicon.ico | Bin {docs/public => dist}/favicon.svg | 0 docs/public/images/og.png => dist/image.png | Bin .../images/android-chrome-192x192.png | Bin .../images/android-chrome-512x512.png | Bin .../images/apple-touch-icon.png | Bin .../public => dist}/images/favicon-16x16.png | Bin .../public => dist}/images/favicon-32x32.png | Bin dist/index.html | 1353 +++++++ dist/json/adult-hosts.json | 1 + dist/json/file-hosts.json | 1 + dist/json/pricing.json | 1 + {docs/public => dist}/robots.txt | 0 .../rzd7n8dtydkn3rusq48azrfacbx5zapr.txt | 0 {docs/public => dist}/site.webmanifest | 0 {docs/public => dist}/sitemap.xml | 0 docs/.vitepress/config.mjs | 165 - docs/.vitepress/theme/index.js | 145 - docs/.vitepress/theme/style.css | 3 - docs/hosts.md | 6 - docs/index.md | 89 - docs/policies.md | 6 - docs/pricing.md | 6 - docs/tools.md | 6 - package.json | 40 +- scripts/build-docs.sh | 172 - scripts/json-optimizer.sh | 191 + scripts/replace-assets.js | 158 + 32 files changed, 5173 insertions(+), 652 deletions(-) rename docs/Adult-hosts.md => Adult-hosts.md (92%) rename {docs => dist}/_redirects (100%) create mode 100644 dist/css/styles.css rename {docs/public => dist}/favicon.ico (100%) rename {docs/public => dist}/favicon.svg (100%) rename docs/public/images/og.png => dist/image.png (100%) rename {docs/public => dist}/images/android-chrome-192x192.png (100%) rename {docs/public => dist}/images/android-chrome-512x512.png (100%) rename {docs/public => dist}/images/apple-touch-icon.png (100%) rename {docs/public => dist}/images/favicon-16x16.png (100%) rename {docs/public => dist}/images/favicon-32x32.png (100%) create mode 100644 dist/index.html create mode 100644 dist/json/adult-hosts.json create mode 100644 dist/json/file-hosts.json create mode 100644 dist/json/pricing.json rename {docs/public => dist}/robots.txt (100%) rename {docs/public => dist}/rzd7n8dtydkn3rusq48azrfacbx5zapr.txt (100%) rename {docs/public => dist}/site.webmanifest (100%) rename {docs/public => dist}/sitemap.xml (100%) delete mode 100644 docs/.vitepress/config.mjs delete mode 100644 docs/.vitepress/theme/index.js delete mode 100644 docs/.vitepress/theme/style.css delete mode 100644 docs/hosts.md delete mode 100644 docs/index.md delete mode 100644 docs/policies.md delete mode 100644 docs/pricing.md delete mode 100644 docs/tools.md delete mode 100755 scripts/build-docs.sh create mode 100755 scripts/json-optimizer.sh create mode 100644 scripts/replace-assets.js diff --git a/docs/Adult-hosts.md b/Adult-hosts.md similarity index 92% rename from docs/Adult-hosts.md rename to Adult-hosts.md index 76b9299..a5cef1d 100644 --- a/docs/Adult-hosts.md +++ b/Adult-hosts.md @@ -1,9 +1,3 @@ ---- -layout: home -title: Adult Hosts -titleTemplate: Debrid Compare -description: "Detailed adult hoster support comparison for leading debrid/multi-hoster services." ---- ### Adult Hosts diff --git a/README.md b/README.md index 6ab3638..cbea5e9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- Logo Debrid Services Comparison + Logo Debrid Services Comparison

Community‑maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools etc.

@@ -13,9 +13,9 @@

▶ Open the interactive version (search • filter • compare)

- Screenshot of interactive comparison web app + Screenshot of interactive comparison web app -

Quick Jump: Pricing · Hosts · Policies · Tools

+

Pricing · Hosts · Policies · Tools


@@ -58,8 +58,6 @@ Debrid ("multi-hoster") services act as paid aggregation layers between you and ## Getting Started -
- ### Support This Project > ✨ This guide is **free, open-source, and community-run**. If it helped: starring, reporting corrections, or using a referral link helps sustain maintenance (at no extra cost to you). @@ -84,9 +82,7 @@ Debrid ("multi-hoster") services act as paid aggregation layers between you and [(↑ Back to Top)](#table-of-contents) -
- -
+
## Pricing Comparison @@ -141,9 +137,7 @@ Debrid ("multi-hoster") services act as paid aggregation layers between you and [(↑ Back to Top)](#table-of-contents) - - -
+
## Available Hosts @@ -151,7 +145,7 @@ Debrid ("multi-hoster") services act as paid aggregation layers between you and
-
+
| ⚡ For faster exploration (search + filter + side-by-side), use the interactive web app. | |------------------------------------------| @@ -464,7 +458,7 @@ Debrid ("multi-hoster") services act as paid aggregation layers between you and > Support varies. Some services exclude adult content for legal/policy reasons. -👉 [See Detailed Adult Host Support](./docs/Adult-hosts.md) +👉 [See Detailed Adult Host Support](./Adult-hosts.md) ### Live Status @@ -493,9 +487,7 @@ Service availability and host support can change in real time. Use these officia [(↑ Back to Top)](#table-of-contents) -
- -
+
## Policies and Legal @@ -520,9 +512,7 @@ Service availability and host support can change in real time. Use these officia [(↑ Back to Top)](#table-of-contents) - - -
+
## Speed Test @@ -571,7 +561,7 @@ For a more accurate assessment, follow these steps: [(↑ Back to Top)](#table-of-contents) - + --- @@ -597,8 +587,6 @@ This project aims to provide accurate and up-to-date information, but the debrid --- -
- ## Tools and Community Enhance your debrid experience with these trusted tools, guides, and communities: @@ -622,7 +610,7 @@ Enhance your debrid experience with these trusted tools, guides, and communities [(↑ Back to Top)](#table-of-contents) -
+ ## Contributing Help keep this guide accurate! We welcome: @@ -632,10 +620,10 @@ Help keep this guide accurate! We welcome: - ✅ Policy clarifications - ✅ UX/UI suggestions -**[See Contribution Guidelines →](./CONTRIBUTING.md)** - > 🛡️ All PRs are verified against official sources before merging. +**[See Contribution Guidelines →](./CONTRIBUTING.md)** +
[(↑ Back to Top)](#table-of-contents) diff --git a/docs/_redirects b/dist/_redirects similarity index 100% rename from docs/_redirects rename to dist/_redirects diff --git a/dist/css/styles.css b/dist/css/styles.css new file mode 100644 index 0000000..e1dee11 --- /dev/null +++ b/dist/css/styles.css @@ -0,0 +1,3438 @@ +@media (prefers-reduced-motion:reduce) { + + *, + *::before, + *::after { + animation-duration: .01ms !important; + animation-iteration-count: 1 !important; + transition-duration: .01ms !important; + scroll-behavior: auto !important + } +} + +:root { + --primary: #6366f1; + --primary-hover: #4f46e5; + --primary-light: #a5b4fc; + --primary-dark: #3730a3; + --accent: #8b5cf6; + --success: #10b981; + --warning: #66512e; + --error: #ef4444; + --info: #2c6ace; + --gray-50: #f8fafc; + --gray-100: #f1f5f9; + --gray-200: #e2e8f0; + --gray-300: #cbd5e1; + --gray-400: #94a3b8; + --gray-500: #64748b; + --gray-600: #475569; + --gray-700: #334155; + --gray-800: #1e293b; + --gray-900: #0f172a; + --text-primary: var(--gray-900); + --text-secondary: var(--gray-600); + --text-tertiary: var(--gray-500); + --text-muted: var(--gray-400); + --bg-primary: #fff; + --bg-secondary: var(--gray-50); + --bg-tertiary: var(--gray-100); + --bg-elevated: #fff; + --border-primary: var(--gray-200); + --border-secondary: var(--gray-300); + --border-focus: var(--primary); + --container-max: 1400px; + --content-max: 1200px; + --header-height: 5rem; + --section-pad-y: clamp(2rem, 6vw, 4.5rem); + --section-pad-y-tight: clamp(1.5rem, 4vw, 3rem); + --container-x: clamp(.75rem, 3.2vw, 2.5rem); + --space-xs: .25rem; + --space-sm: .5rem; + --space-md: .75rem; + --space-lg: 1rem; + --space-xl: 1.25rem; + --space-2xl: 1.5rem; + --space-3xl: 2rem; + --space-4xl: 2.5rem; + --space-5xl: 3rem; + --space-6xl: 4rem; + --space-7xl: 5rem; + --space-8xl: 6rem; + --text-xs: .75rem; + --text-sm: .875rem; + --text-base: 1rem; + --text-lg: 1.125rem; + --text-xl: 1.25rem; + --text-2xl: 1.5rem; + --text-3xl: 1.875rem; + --text-4xl: 2.25rem; + --text-5xl: 3rem; + --text-6xl: 3.75rem; + --font-light: 300; + --font-normal: 400; + --font-medium: 500; + --font-semibold: 600; + --font-bold: 700; + --font-extrabold: 800; + --radius-sm: .2rem; + --radius-md: .4rem; + --radius-lg: .6rem; + --radius-xl: .8rem; + --radius-2xl: 1rem; + --radius-full: 9999px; + --shadow-xs: 0 1px 1px 0 rgb(0 0 0 / .04); + --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .06); + --shadow-md: 0 2px 4px 0 rgb(0 0 0 / .06); + --shadow-lg: 0 4px 8px 0 rgb(0 0 0 / .07); + --shadow-xl: 0 8px 16px 0 rgb(0 0 0 / .08); + --shadow-focus: 0 0 0 3px rgb(99 102 241 / .15); + --transition-fast: .15s ease; + --transition-normal: .3s ease; + --transition-slow: .5s ease; + --glow: 0 0 0 8px rgb(99 102 241 / .08); + --footer-gradient: radial-gradient(1200px 500px at 80% 10%, rgb(99 102 241 / .08), transparent 60%), radial-gradient(800px 400px at 10% 20%, rgb(139 92 246 / .07), transparent 60%); + color-scheme: light dark +} + +[data-theme="dark"] { + --text-primary: var(--gray-100); + --text-secondary: var(--gray-300); + --text-tertiary: var(--gray-400); + --text-muted: var(--gray-500); + --bg-primary: var(--gray-900); + --bg-secondary: var(--gray-800); + --bg-tertiary: var(--gray-700); + --bg-elevated: var(--gray-800); + --border-primary: var(--gray-700); + --border-secondary: var(--gray-600); + --primary: #818cf8; + --primary-hover: #a5b4fc; + --primary-light: #c7d2fe; + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .5), 0 1px 2px -1px rgb(0 0 0 / .5); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5); + --shadow-focus: 0 0 0 3px rgb(129 140 248 / .25); + color-scheme: dark +} + +@media (prefers-color-scheme:dark) { + :root { + --text-primary: var(--gray-100); + --text-secondary: var(--gray-300); + --text-tertiary: var(--gray-400); + --text-muted: var(--gray-500); + --bg-primary: var(--gray-900); + --bg-secondary: var(--gray-800); + --bg-tertiary: var(--gray-700); + --bg-elevated: var(--gray-800); + --border-primary: var(--gray-700); + --border-secondary: var(--gray-600); + --primary: #818cf8; + --primary-hover: #a5b4fc; + --primary-light: #c7d2fe; + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .5), 0 1px 2px -1px rgb(0 0 0 / .5); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5); + --shadow-focus: 0 0 0 3px rgb(129 140 248 / .25); + color-scheme: dark + } +} + +@supports (content-visibility:auto) { + + .section, + .data-table-container, + .table-wrapper, + .comparison-section .table-wrapper, + .pricing-container, + .features-grid, + .referral-grid { + content-visibility: auto; + contain-intrinsic-size: 800px auto + } +} + +.loading-overlay, +.age-verification-modal { + contain: layout paint style +} + +.loading-spinner, +.status-indicator svg, +.table-check, +.table-cross { + will-change: transform; + backface-visibility: hidden +} + +input[type="checkbox"], +input[type="radio"], +progress, +input[type="range"], +select, +button { + accent-color: var(--accent, var(--primary, #6366f1)) +} + +*, +*::before, +*::after { + box-sizing: border-box +} + +html { + scroll-behavior: smooth; + font-size: 16px; + line-height: 1.6; + -webkit-text-size-adjust: 100%; + overflow-x: hidden; + height: 100% +} + +body { + font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + font-feature-settings: 'cv01', 'cv03', 'cv04', 'cv11'; + background: var(--bg-primary); + color: var(--text-primary); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + min-height: 100vh; + margin: 0; + overflow-x: hidden; + transition: background-color var(--transition-normal), color var(--transition-normal) +} + +svg, +img, +video, +canvas { + max-width: 100%; + height: auto +} + +a { + color: var(--primary); + text-decoration: none; + transition: all var(--transition-normal) +} + +a:hover { + color: var(--primary-hover) +} + +:where(h1, h2, h3, h4, h5, h6) { + text-wrap: balance +} + +:focus { + outline: 2px solid var(--border-focus); + outline-offset: 2px +} + +:focus:not(:focus-visible) { + outline: none +} + +:focus-visible { + outline: 2px solid var(--primary); + outline-offset: 2px; + box-shadow: var(--shadow-focus) +} + +a:focus-visible { + outline: 2px solid transparent; + box-shadow: 0 0 0 3px rgba(99, 102, 241, .25); + border-radius: var(--radius-sm) +} + +.skip-link { + position: absolute; + left: -9999px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden +} + +.skip-link:focus { + position: fixed; + left: var(--space-lg); + top: var(--space-lg); + width: auto; + height: auto; + padding: var(--space-sm) var(--space-md); + background: var(--bg-primary); + color: var(--text-primary); + border: 2px solid var(--border-focus); + border-radius: var(--radius-lg); + box-shadow: var(--shadow-md); + z-index: 1000 +} + +.page-wrapper { + min-height: 100vh; + overflow-x: hidden; + position: relative; + background: var(--bg-primary); + transition: background-color var(--transition-normal) +} + +.container { + max-width: var(--container-max); + margin-inline: auto; + padding-inline: var(--container-x); + width: 100% +} + +.content-container { + max-width: var(--content-max); + margin-inline: auto; + width: 100% +} + +.site-header { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; + background: rgba(255, 255, 255, 0); + backdrop-filter: blur(0); + -webkit-backdrop-filter: blur(0); + border-bottom: 1px solid transparent; + height: var(--header-height); + width: 100%; + transition: all var(--transition-normal); + will-change: background, backdrop-filter, border-color, box-shadow +} + +.site-header.is-scrolled { + background: rgba(255, 255, 255, .98); + backdrop-filter: blur(24px) saturate(180%); + -webkit-backdrop-filter: blur(24px) saturate(180%); + border-bottom: 1px solid var(--border-primary); + box-shadow: 0 1px 0 0 rgba(255, 255, 255, .1), 0 1px 3px 0 rgba(0, 0, 0, .02), 0 4px 8px 0 rgba(0, 0, 0, .04) +} + +[data-theme="dark"] .site-header { + background: rgba(15, 23, 42, 0) +} + +[data-theme="dark"] .site-header.is-scrolled { + background: rgba(15, 23, 42, .98); + backdrop-filter: blur(24px) saturate(180%); + -webkit-backdrop-filter: blur(24px) saturate(180%); + border-bottom: 1px solid rgba(52, 65, 85, .6); + box-shadow: 0 1px 0 0 rgba(30, 41, 59, .1), 0 1px 3px 0 rgba(0, 0, 0, .1), 0 4px 8px 0 rgba(0, 0, 0, .15) +} + +th { + background: var(--bg-secondary); + color: var(--text-primary); + font-weight: var(--font-semibold); + text-transform: uppercase; + letter-spacing: .05em; + font-size: var(--text-xs); + position: sticky; + top: 0; + z-index: 100; + border-bottom: 1px solid var(--border-primary) +} + +.main-content { + flex: 1; + position: relative; + padding-top: var(--header-height) +} + +.header-content { + display: flex; + align-items: center; + justify-content: space-between; + position: relative; + height: var(--header-height); + gap: var(--space-4xl); + transition: all var(--transition-normal) +} + +@media (max-width:1200px) { + .header-content { + gap: var(--space-2xl) + } +} + +@media (max-width:600px) { + .header-content { + gap: var(--space-md) + } +} + +.header-actions { + display: flex; + align-items: center; + gap: var(--space-lg); + margin-left: auto +} + +@media (max-width:900px) { + .header-actions { + gap: var(--space-md) + } +} + +@media (max-width:600px) { + .header-actions { + gap: var(--space-sm) + } +} + +.site-title { + display: flex; + flex-shrink: 0; + align-items: center; + gap: var(--space-md); + font-size: var(--text-xl); + font-weight: var(--font-bold); + color: var(--text-primary); + text-decoration: none; + padding: var(--space-sm) var(--space-lg); + border-radius: var(--radius-xl); + transition: all var(--transition-normal); + min-width: 0; + white-space: nowrap; + position: relative; + overflow: hidden +} + +.site-title::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .05) 0%, rgba(139, 92, 246, .03) 100%); + border-radius: var(--radius-xl); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.site-title:hover::before { + opacity: 1 +} + +@media (max-width:900px) { + .site-title { + flex: 1 1 auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap + } +} + +@media (max-width:600px) { + .site-title { + font-size: var(--text-base); + padding: var(--space-xs) var(--space-sm); + gap: var(--space-sm) + } + + .logo-icon { + width: 24px; + height: 24px + } +} + +@media (max-width:380px) { + .site-title { + font-size: .95rem + } +} + +.site-title:hover { + color: var(--primary); + transform: translateY(-1px) +} + +.logo-icon { + width: 28px; + height: 28px; + color: var(--primary); + transition: all var(--transition-normal); + filter: drop-shadow(0 2px 4px rgba(99, 102, 241, .1)) +} + +.site-title:hover .logo-icon { + transform: scale(1.05); + filter: drop-shadow(0 4px 8px rgba(99, 102, 241, .2)) +} + +.header-nav { + display: flex; + align-items: center; + gap: var(--space-xs); + position: relative; + z-index: 1; + flex: 1 1 auto; + min-width: 0 +} + +@media (max-width:1100px) { + .nav-link { + padding: var(--space-sm) var(--space-lg); + font-size: .9rem + } +} + +.header-nav .nav-link:focus-visible { + box-shadow: var(--shadow-focus); + outline: none +} + +.nav-link { + position: relative; + display: inline-flex; + align-items: center; + padding: var(--space-md) var(--space-xl); + font-size: var(--text-sm); + font-weight: var(--font-medium); + color: var(--text-secondary); + border-radius: var(--radius-lg); + white-space: nowrap; + transition: all var(--transition-normal); + text-decoration: none; + overflow: hidden +} + +.nav-link::before { + content: ''; + position: absolute; + bottom: 0; + left: 50%; + width: 0; + height: 2px; + border-radius: var(--radius-full); + transform: translateX(-50%); + transition: all var(--transition-normal); + opacity: 0 +} + +.nav-link::after { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); + border-radius: var(--radius-xl); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.nav-link:hover { + color: var(--primary); + background: var(--bg-secondary); + transform: translateY(-1px) +} + +.nav-link:hover::before { + width: 80%; + opacity: 1 +} + +.nav-link:hover::after { + opacity: 1 +} + +.header-nav .nav-link[aria-current="page"], +.nav-link.active { + color: var(--primary); + background: var(--bg-secondary); + box-shadow: var(--shadow-sm) +} + +.nav-link:hover:not(.active) { + background: var(--bg-tertiary); + color: var(--text-primary) +} + +.header-nav .nav-link.active::before, +.header-nav .nav-link[aria-current="page"]::before { + width: 90%; + opacity: 1 +} + +.header-nav .nav-link.active::after, +.header-nav .nav-link[aria-current="page"]::after { + opacity: 1 +} + +.dark-mode-toggle { + display: flex; + align-items: center; + justify-content: center; + width: 48px; + height: 48px; + border: 2px solid var(--border-primary); + border-radius: var(--radius-full); + background: var(--bg-primary); + color: var(--text-primary); + flex-shrink: 0; + cursor: pointer; + transition: all var(--transition-normal); + position: relative; + overflow: hidden +} + +.dark-mode-toggle::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .05) 0%, rgba(139, 92, 246, .03) 100%); + border-radius: var(--radius-full); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +@media (max-width:600px) { + .dark-mode-toggle { + width: 40px !important; + height: 40px !important + } +} + +@media (max-width:380px) { + .dark-mode-toggle { + width: 36px !important; + height: 36px !important + } +} + +.dark-mode-toggle:hover { + background: var(--bg-secondary); + border-color: var(--primary); + transform: translateY(-2px); + box-shadow: var(--shadow-md) +} + +.dark-mode-toggle:hover::before { + opacity: 1 +} + +.sun-icon, +.moon-icon { + width: 20px; + height: 20px; + transition: all var(--transition-normal) +} + +.sun-icon { + display: block !important; + transform: rotate(0deg) +} + +.moon-icon { + display: none !important; + transform: rotate(-30deg) +} + +[data-theme="dark"] .sun-icon { + display: none !important; + transform: rotate(180deg) +} + +[data-theme="dark"] .moon-icon { + display: block !important; + transform: rotate(0deg) +} + +.nav-toggle { + display: none; + flex-direction: column; + justify-content: center; + gap: 3px; + width: 48px; + height: 48px; + background: var(--bg-primary); + border: 2px solid var(--border-primary); + border-radius: var(--radius-full); + cursor: pointer; + position: relative; + transition: all var(--transition-normal); + flex-shrink: 0; + z-index: 110; + overflow: hidden +} + +.nav-toggle::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .05) 0%, rgba(139, 92, 246, .03) 100%); + border-radius: var(--radius-full); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.nav-toggle:hover::before { + opacity: 1 +} + +.nav-toggle:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-md); + border-color: var(--primary) +} + +@media (max-width:600px) { + .nav-toggle { + width: 40px !important; + height: 40px !important + } +} + +@media (max-width:380px) { + .nav-toggle { + width: 36px !important; + height: 36px !important + } +} + +.nav-toggle-bar { + width: 18px; + height: 2px; + background: var(--text-primary); + border-radius: 2px; + transition: all var(--transition-normal); + margin: 0 auto; + transform-origin: center +} + +.nav-open .nav-toggle-bar:nth-child(1) { + transform: translateY(5px) rotate(45deg) +} + +.nav-open .nav-toggle-bar:nth-child(2) { + opacity: 0; + transform: scale(0) +} + +.nav-open .nav-toggle-bar:nth-child(3) { + transform: translateY(-5px) rotate(-45deg) +} + +.nav-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, .4); + backdrop-filter: blur(2px); + z-index: 90; + opacity: 0; + visibility: hidden; + transition: opacity .3s ease; + pointer-events: none +} + +.nav-open #navOverlay { + opacity: 1; + visibility: visible; + pointer-events: auto +} + +@media (max-width:900px) { + .nav-toggle { + display: inline-flex; + width: 48px !important; + height: 48px !important + } + + .header-nav { + display: none + } + + .nav-open .header-nav { + display: flex; + position: fixed; + top: var(--header-height); + right: 0; + width: min(340px, 85%); + background: rgba(255, 255, 255, .98); + backdrop-filter: blur(24px) saturate(180%); + -webkit-backdrop-filter: blur(24px) saturate(180%); + border-left: 1px solid var(--border-primary); + border-bottom: 1px solid var(--border-primary); + box-shadow: 0 8px 32px 0 rgba(0, 0, 0, .08), 0 4px 16px 0 rgba(0, 0, 0, .04); + padding: var(--space-2xl) var(--space-xl) var(--space-3xl); + flex-direction: column; + gap: var(--space-sm); + max-height: calc(100vh - var(--header-height)); + overflow-y: auto; + overscroll-behavior: contain; + transform: translate3d(100%, 0, 0); + transition: transform .4s cubic-bezier(.22, 1, .36, 1); + z-index: 120 + } + + [data-theme="dark"] .nav-open .header-nav { + background: rgba(15, 23, 42, .98); + border-color: rgba(52, 65, 85, .6); + box-shadow: 0 8px 32px 0 rgba(0, 0, 0, .2), 0 4px 16px 0 rgba(0, 0, 0, .1) + } + + .nav-open .header-nav { + transform: translate3d(0, 0, 0) + } + + body.nav-open { + overflow: hidden + } + + .nav-open .nav-link { + font-size: var(--text-base); + padding: var(--space-md) var(--space-lg); + width: 100%; + text-align: left; + border-radius: var(--radius-lg) + } + + .nav-open .nav-link::before { + display: none + } + + .nav-open .nav-link::after { + border-radius: var(--radius-lg) + } + + .dark-mode-toggle { + display: flex; + flex: 0 0 auto; + width: 40px !important; + height: 40px !important; + order: 3; + align-self: center; + z-index: 110 + } + + .nav-toggle { + width: 40px !important; + height: 40px !important + } + + body:not(.js-ready) .header-nav, + body:not(.js-ready) .nav-toggle-bar, + body:not(.js-ready) .nav-overlay { + transition: none !important + } +} + +.hero-section { + position: relative; + padding: var(--space-8xl) 0 var(--space-7xl); + background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%); + overflow: hidden; + min-height: clamp(520px, 75vh, 860px); + display: grid; + align-items: center +} + +.hero-section::before { + content: ''; + position: absolute; + inset: 0; + background: radial-gradient(800px 600px at 25% 15%, rgba(99, 102, 241, .08) 0%, transparent 65%), radial-gradient(900px 700px at 75% 85%, rgba(139, 92, 246, .06) 0%, transparent 65%), url('data:image/svg+xml,') +} + +[data-theme="dark"] .hero-section::before { + background: radial-gradient(circle at 30% 20%, rgb(129 140 248 / .12) 0%, transparent 50%), radial-gradient(circle at 70% 80%, rgb(196 181 253 / .08) 0%, transparent 50%) +} + +.hero-section::after { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .06), rgba(139, 92, 246, .06)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.05'/%3E%3C/svg%3E"); + background-size: auto, 300px 300px; + background-repeat: no-repeat, repeat; + background-position: center, top left; + background-blend-mode: overlay, normal; + pointer-events: none +} + +[data-theme="dark"] .hero-section::after { + background: linear-gradient(135deg, rgba(99, 102, 241, .04), rgba(139, 92, 246, .04)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E"); + background-size: auto, 300px 300px; + background-repeat: no-repeat, repeat; + background-position: center, top left; + background-blend-mode: overlay, normal +} + +.hero-content { + text-align: center; + max-width: 900px; + margin: 0 auto; + position: relative; + animation: fadeInUp .8s ease-out +} + +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px) + } + + to { + opacity: 1; + transform: translateY(0) + } +} + +@media (prefers-reduced-motion:reduce) { + .hero-content { + animation: none !important + } +} + +.hero-title { + font-size: clamp(var(--text-3xl), 7vw, var(--text-5xl)); + font-weight: var(--font-extrabold); + line-height: 1.1; + margin: 0 0 var(--space-xl); + color: var(--text-primary); + letter-spacing: -.02em +} + +.gradient-text { + background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text +} + +[data-theme="dark"] .gradient-text { + background: linear-gradient(135deg, var(--primary-light) 0%, #c4b5fd 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text +} + +.hero-description { + font-size: clamp(var(--text-base), 3.5vw, var(--text-xl)); + color: var(--text-secondary); + margin: 0 0 var(--space-4xl); + max-width: 700px; + margin-inline: auto; + line-height: 1.6 +} + +.hero-actions { + display: flex; + gap: var(--space-lg); + justify-content: center; + margin-bottom: var(--space-6xl); + flex-wrap: wrap; + align-items: stretch +} + +.hero-actions .btn { + flex: 0 0 auto +} + +.hero-stats { + display: flex; + gap: var(--space-5xl); + justify-content: center; + flex-wrap: wrap +} + +.stat-item { + text-align: center; + position: relative +} + +.stat-item:not(:last-child)::after { + content: ''; + position: absolute; + right: calc(-1 * var(--space-2xl)); + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 50px; + background: var(--border-primary) +} + +.stat-number { + display: block; + font-size: clamp(var(--text-3xl), 6vw, var(--text-5xl)); + font-weight: var(--font-extrabold); + margin-bottom: var(--space-sm); + background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text +} + +.stat-label { + font-size: var(--text-sm); + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: .1em; + font-weight: var(--font-medium) +} + +.section { + padding: var(--section-pad-y) 0; + position: relative; + scroll-margin-top: calc(var(--header-height) + 1rem); + content-visibility: auto; + contain-intrinsic-size: 1px 600px +} + +.section+.section { + margin-top: -.25rem +} + +.section>:last-child { + margin-bottom: 0 +} + +.section:nth-child(even) { + background: var(--bg-secondary) +} + +.section-header { + text-align: center; + margin-bottom: var(--space-2xl) +} + +.section-title { + font-size: clamp(var(--text-2xl), 5.5vw, var(--text-4xl)); + font-weight: var(--font-extrabold); + margin: 0 0 var(--space-xl); + color: var(--text-primary); + letter-spacing: -.02em +} + +.section-description { + font-size: clamp(var(--text-base), 2.8vw, var(--text-lg)); + color: var(--text-secondary); + margin: 0; + max-width: 800px; + margin-inline: auto; + line-height: 1.7 +} + +.meta-chips { + display: flex; + gap: var(--space-sm); + justify-content: center; + margin-top: var(--space-xl); + flex-wrap: wrap +} + +.chip { + display: inline-flex; + align-items: center; + gap: var(--space-xs); + padding: var(--space-sm) var(--space-lg); + border-radius: var(--radius-full); + background: var(--bg-secondary); + color: var(--text-secondary); + border: 1px solid var(--border-primary); + font-size: var(--text-xs); + font-weight: var(--font-medium); + text-transform: uppercase; + letter-spacing: .05em +} + +.btn { + display: inline-flex; + align-items: center; + gap: var(--space-sm); + padding: var(--space-md) var(--space-2xl); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + font-size: var(--text-base); + font-weight: var(--font-semibold); + text-decoration: none; + position: relative; + overflow: hidden; + min-width: 160px; + justify-content: center; + transition: all var(--transition-normal); + flex-shrink: 0; + white-space: nowrap; + cursor: pointer +} + +.btn::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .05) 0%, rgba(139, 92, 246, .03) 100%); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.btn:hover::before { + opacity: 1 +} + +.btn:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-lg) +} + +.btn-primary { + background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%); + color: #fff; + border-color: transparent; + box-shadow: var(--shadow-sm) +} + +.btn-primary:hover { + background: linear-gradient(135deg, var(--primary-hover) 0%, var(--primary-dark) 100%); + color: #fff; + box-shadow: var(--shadow-lg) +} + +.btn-primary::before { + background: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%) +} + +.btn-secondary { + background: var(--bg-primary); + color: var(--text-primary); + border-color: var(--border-primary) +} + +.btn-secondary:hover { + border-color: var(--primary); + color: var(--primary); + background: var(--bg-secondary) +} + +.btn:active { + transform: translateY(0); + box-shadow: var(--shadow-sm) +} + +.btn:focus-visible { + outline: 2px solid transparent; + box-shadow: var(--shadow-focus) +} + +.btn[disabled], +.btn.is-disabled { + opacity: .6; + cursor: not-allowed; + pointer-events: none; + filter: grayscale(.15) +} + +.btn.is-loading { + position: relative; + pointer-events: none +} + +.btn.is-loading::after { + content: ''; + width: 16px; + height: 16px; + border-radius: 50%; + border: 2px solid currentColor; + border-top-color: transparent; + animation: spin .8s linear infinite; + margin-left: var(--space-sm) +} + +input[type="text"], +input[type="email"], +select, +textarea { + transition: all var(--transition-normal); + border-radius: var(--radius-lg) +} + +input[type="text"]:focus-visible, +input[type="email"]:focus-visible, +select:focus-visible, +textarea:focus-visible { + outline: 2px solid transparent; + box-shadow: var(--shadow-focus); + border-color: var(--primary); + transform: translateY(-1px) +} + +input:disabled, +select:disabled, +textarea:disabled { + opacity: .6; + cursor: not-allowed +} + +tr:focus-within { + outline: 2px solid transparent; + box-shadow: inset 0 0 0 2px var(--primary) +} + +.features-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: var(--space-lg) +} + +.benefit-card { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + padding: var(--space-2xl); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + transition: all var(--transition-normal); + min-height: 160px; + justify-content: center; + position: relative; + overflow: hidden +} + +.benefit-card::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.benefit-card:hover { + border-color: var(--primary); + transform: translateY(-4px); + box-shadow: var(--shadow-lg) +} + +.benefit-card:hover::before { + opacity: 1 +} + +.benefit-card .icon-badge { + width: 40px; + height: 40px; + color: var(--primary); + margin-bottom: var(--space-lg); + transition: transform var(--transition-normal) +} + +.benefit-card:hover .icon-badge { + transform: scale(1.05) +} + +.benefit-card h3 { + margin: 0 0 var(--space-sm); + font-size: var(--text-base); + font-weight: var(--font-semibold); + color: var(--text-primary) +} + +.benefit-card p { + margin: 0; + color: var(--text-secondary); + font-size: var(--text-xs); + line-height: 1.4 +} + +.alert { + display: flex; + align-items: flex-start; + gap: var(--space-md); + padding: var(--space-xl); + border-radius: var(--radius-lg); + margin: var(--space-xl) 0; + border: 1px solid var(--border-primary) +} + +.alert-info { + background: rgba(59, 130, 246, .08); + border-color: rgba(59, 130, 246, .2); + color: var(--info) +} + +.alert-warning { + background: rgba(245, 158, 11, .08); + border-color: rgba(44, 35, 19, .2); + color: var(--warning) +} + +.alert-icon { + flex-shrink: 0; + width: 24px; + height: 24px; + margin-top: 2px +} + +.alert-icon, +.note-icon, +.icon-badge, +.resource-category-icon, +.search-icon, +.clear-icon-svg, +.sun-icon, +.moon-icon, +.logo-icon { + stroke-linecap: round; + stroke-linejoin: round; + vector-effect: non-scaling-stroke; + overflow: visible; + display: inline-block +} + +.alert-icon { + vertical-align: middle +} + +.speed-section { + background: var(--bg-secondary); + border-radius: var(--radius-2xl); + border: 1px solid var(--border-primary); + padding: var(--space-4xl); + margin: var(--space-3xl) 0 +} + +.speed-header { + text-align: center; + margin-bottom: var(--space-3xl) +} + +.speed-header h3 { + margin: 0 0 var(--space-md); + font-size: var(--text-2xl); + font-weight: var(--font-bold); + color: var(--text-primary) +} + +.speed-header p { + margin: 0; + color: var(--text-secondary); + max-width: 600px; + margin-inline: auto +} + +.speed-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: var(--space-lg) +} + +.speed-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: var(--space-sm); + padding: var(--space-xl); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + text-decoration: none; + transition: all var(--transition-normal); + min-height: 120px; + position: relative; + overflow: hidden +} + +.speed-card::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.speed-card:hover { + border-color: var(--primary); + transform: translateY(-3px); + box-shadow: var(--shadow-md) +} + +.speed-card:hover::before { + opacity: 1 +} + +.speed-card .service-name { + font-weight: var(--font-semibold); + color: var(--text-primary); + font-size: var(--text-base) +} + +.speed-card .speed-test-label { + font-size: .65rem; + color: var(--text-secondary) +} + +.important-notes-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); + gap: var(--space-xl) +} + +.note-card { + display: flex; + gap: var(--space-lg); + padding: var(--space-2xl); + background: var(--bg-elevated); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + transition: all var(--transition-normal); + position: relative; + overflow: hidden +} + +.note-card::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .02) 0%, rgba(139, 92, 246, .01) 100%); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.note-card--info { + border-left: 4px solid var(--info) +} + +.note-card--warning { + border-left: 4px solid #f59e0b +} + +.note-card--tip { + border-left: 4px solid var(--success) +} + +.note-card:hover { + border-color: var(--primary); + transform: translateY(-2px); + box-shadow: var(--shadow-md) +} + +.note-card:hover::before { + opacity: 1 +} + +.note-icon { + width: 24px; + height: 24px; + color: var(--primary); + flex-shrink: 0; + margin-top: 2px +} + +.note-content h3 { + margin: 0 0 var(--space-sm); + font-size: var(--text-lg); + font-weight: var(--font-semibold); + color: var(--text-primary) +} + +.note-content p { + margin: 0; + color: var(--text-secondary); + font-size: var(--text-sm); + line-height: 1.5 +} + +.note-content ul { + margin: var(--space-md) 0 0; + padding-left: var(--space-3xl) +} + +.note-content li { + margin: var(--space-xs) 0 +} + +.resources-categories { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: var(--space-4xl) +} + +.resource-category { + background: var(--bg-elevated); + border-radius: var(--radius-2xl); + padding: var(--space-4xl); + border: 1px solid var(--border-primary); + box-shadow: var(--shadow-sm) +} + +.resource-category h3 { + margin: 0 0 var(--space-2xl); + font-size: var(--text-2xl); + font-weight: var(--font-bold); + color: var(--primary); + display: flex; + align-items: center; + gap: var(--space-md) +} + +.resource-category-icon { + width: 28px; + height: 28px +} + +.resource-list { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: var(--space-lg) +} + +.resource-item { + display: block; + padding: var(--space-xl); + background: var(--bg-secondary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-lg); + text-decoration: none; + transition: all var(--transition-normal) +} + +.resource-item:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-md); + border-color: var(--primary); + background: var(--bg-primary) +} + +.resource-item strong { + display: block; + color: var(--text-primary); + font-weight: var(--font-semibold); + margin-bottom: var(--space-sm); + font-size: var(--text-base) +} + +.resource-item span { + color: var(--text-secondary); + font-size: var(--text-sm); + line-height: 1.5 +} + +.resource-item .meta-tags { + display: flex; + flex-wrap: wrap; + gap: var(--space-xs); + margin-top: var(--space-sm) +} + +.resource-item .meta-tags .tag { + padding: 2px 8px; + border-radius: var(--radius-full); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + color: var(--text-tertiary); + font-size: 11px +} + +.resource-item.external { + position: relative +} + +.resource-item.external::after { + content: ""; + position: absolute; + right: 10px; + top: 50%; + transform: translateY(-50%); + width: 14px; + height: 14px; + mask: url('#icon-document') no-repeat center / contain; + background: currentColor; + opacity: .35 +} + +.data-table-container { + background: var(--bg-elevated); + border-radius: var(--radius-xl); + box-shadow: var(--shadow-sm); + border: 1px solid var(--border-primary); + margin: var(--space-3xl) 0; + overflow: hidden; + width: 100% +} + +.table-wrapper { + overflow-x: auto; + border-radius: var(--radius-2xl); + width: 100%; + -webkit-overflow-scrolling: touch; + overscroll-behavior-x: contain +} + +table { + width: 100%; + border-collapse: collapse; + font-size: var(--text-sm); + min-width: 600px +} + +td, +th { + word-break: normal; + white-space: normal +} + +.table-toolbar { + display: flex; + justify-content: space-between; + gap: var(--space-xl); + flex-wrap: wrap; + margin-bottom: var(--space-xl); + align-items: center +} + +.enhanced-resources .resource-category.elevated { + position: relative; + border: 1px solid var(--border-primary); + box-shadow: var(--shadow-md) +} + +.resource-list.cards-3 { + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); + display: grid +} + +.resource-item.accent-hover { + position: relative; + overflow: hidden +} + +.resource-item.accent-hover::after { + content: ""; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .08), rgba(139, 92, 246, .08)); + opacity: 0; + transition: opacity var(--transition-fast) +} + +.resource-item.accent-hover:hover::after { + opacity: 1 +} + +.resource-item.static { + cursor: default; + background: var(--bg-secondary) +} + +.footer-content.improved { + position: relative +} + +.newsletter-form { + display: flex; + gap: var(--space-sm); + margin-top: var(--space-2xl); + flex-wrap: wrap +} + +.newsletter-form input { + flex: 1; + min-width: 220px; + padding: var(--space-sm) var(--space-md); + border: 1px solid var(--border-primary); + background: var(--bg-primary); + border-radius: var(--radius-md); + font-size: var(--text-sm); + color: var(--text-primary) +} + +.newsletter-form input:focus-visible { + outline: 2px solid transparent; + box-shadow: 0 0 0 3px rgb(99 102 241 / .25); + border-color: var(--primary) +} + +.newsletter-form button { + padding: var(--space-sm) var(--space-lg); + border: 1px solid var(--border-primary); + background: var(--primary); + color: #fff; + font-size: var(--text-sm); + border-radius: var(--radius-md); + cursor: pointer; + transition: transform var(--transition-fast), background var(--transition-fast) +} + +.newsletter-form button:hover { + background: var(--primary-hover); + transform: translateY(-1px) +} + +.newsletter-form button:disabled { + opacity: .6; + cursor: not-allowed; + transform: none +} + +.social-links { + margin-top: var(--space-xl); + display: flex; + gap: var(--space-md); + flex-wrap: wrap +} + +.social-btn, +.github-link { + width: 36px; + height: 36px; + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-full); + color: var(--text-secondary); + transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast) +} + +.social-btn:hover, +.github-link:hover { + background: var(--primary); + border-color: var(--primary); + color: #fff; + transform: translateY(-2px) +} + +.social-btn:focus-visible, +.github-link:focus-visible { + outline: 2px solid transparent; + box-shadow: 0 0 0 3px rgb(99 102 241 / .35) +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0 0 0 0); + white-space: nowrap; + border: 0 +} + +.footer-chips { + display: flex; + flex-wrap: wrap; + gap: var(--space-sm); + margin-top: var(--space-lg) +} + +.footer-chip { + padding: 6px 10px; + border-radius: var(--radius-full); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + color: var(--text-secondary); + font-size: 12px +} + +th, +td { + padding: var(--space-lg) var(--space-xl); + text-align: left; + border-bottom: 1px solid var(--border-primary) +} + +th { + background: var(--primary); + color: #fff; + font-weight: var(--font-semibold); + text-transform: uppercase; + letter-spacing: .05em; + font-size: var(--text-xs); + position: sticky; + top: 0; + z-index: 100 +} + +#file-hosts-table tr:nth-child(even), +.enhanced-table tr:nth-child(even), +.pricing-table tr:nth-child(even), +.policies-table tr:nth-child(even) { + background-color: var(--bg-tertiary) +} + +tr:hover { + background: color-mix(in srgb, var(--bg-secondary) 80%, transparent) +} + +.pricing-table .service-name { + color: inherit +} + +#file-hosts-table th:first-child, +#file-hosts-table td:first-child { + position: sticky; + left: 0; + z-index: 101; + box-shadow: 2px 0 6px -4px rgba(0, 0, 0, .06) +} + +#file-hosts-table td:first-child { + background-color: var(--bg-primary) +} + +.policies-table tbody tr th:first-child { + background-color: inherit; + color: inherit +} + +.filter-results { + text-align: center; + padding: .1em; + font-size: var(--text-sm); + color: var(--text-secondary); + font-family: 'Courier New', Courier, monospace +} + +.table-check, +.table-cross { + padding: .2em; + border-radius: 50px +} + +.table-check { + background-color: rgba(90, 221, 90, .568) +} + +.table-cross { + background-color: #db747465 +} + +.search-section { + margin-bottom: var(--space-4xl) +} + +.search-container { + position: relative; + max-width: 500px; + margin: 0 auto +} + +.search-icon { + position: absolute; + left: var(--space-lg); + top: 50%; + transform: translateY(-50%); + color: var(--text-tertiary); + width: 20px; + height: 20px +} + +.search-input { + width: 100%; + padding: var(--space-lg) var(--space-5xl); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + font-size: var(--text-base); + background: var(--bg-primary); + color: var(--text-primary); + outline: none; + transition: all var(--transition-fast); + padding-inline: var(--space-5xl); + padding-block: var(--space-lg) +} + +.search-input:focus { + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(99, 102, 241, .1) +} + +.clear-icon { + position: absolute; + right: var(--space-lg); + top: 50%; + transform: translateY(-50%); + background: none; + border: none; + color: var(--text-tertiary); + cursor: pointer; + padding: var(--space-sm); + border-radius: var(--radius-md); + opacity: 0; + visibility: hidden; + transition: all var(--transition-fast); + width: 20px; + height: 20px +} + +.search-input:not(:placeholder-shown)+.clear-icon { + opacity: 1; + visibility: visible +} + +.clear-icon:hover { + background: var(--bg-secondary); + color: var(--primary) +} + +.status-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: var(--space-xl) +} + +.status-card { + display: flex; + flex-direction: column; + padding: var(--space-xl); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + text-decoration: none; + transition: all var(--transition-normal); + min-height: 120px; + position: relative; + overflow: hidden +} + +.status-card::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.status-card:hover { + border-color: var(--primary); + transform: translateY(-3px); + box-shadow: var(--shadow-md) +} + +.status-card:hover::before { + opacity: 1 +} + +.status-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: var(--space-md) +} + +.service-name { + font-weight: var(--font-semibold); + color: var(--text-primary) +} + +.service-status-indicator { + width: 12px; + height: 12px; + border-radius: var(--radius-full); + background: var(--success); + box-shadow: 0 0 0 2px rgba(16, 185, 129, .2) +} + +.status-card p { + margin: 0; + color: var(--text-secondary); + font-size: var(--text-sm); + line-height: 1.5 +} + +.referral-section { + margin: var(--space-6xl) 0; + padding: var(--space-3xl); + background: var(--bg-secondary); + border-radius: var(--radius-xl); + border: 1px solid var(--border-primary); + text-align: center +} + +.referral-header h3 { + margin: 0 0 var(--space-md); + color: var(--text-primary); + font-size: var(--text-2xl); + font-weight: var(--font-bold) +} + +.referral-header p { + margin: 0 auto var(--space-2xl); + color: var(--text-secondary); + max-width: 600px +} + +.referral-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: var(--space-lg); + justify-items: center +} + +.referral-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: var(--space-sm); + padding: var(--space-xl); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-xl); + text-decoration: none; + width: 100%; + max-width: 200px; + transition: all var(--transition-normal); + min-height: 100px; + position: relative; + overflow: hidden +} + +.referral-card::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: -1 +} + +.referral-card:hover { + border-color: var(--primary); + transform: translateY(-3px); + box-shadow: var(--shadow-md) +} + +.referral-card:hover::before { + opacity: 1 +} + +.referral-card .service-name { + font-weight: var(--font-semibold); + color: var(--text-primary); + font-size: var(--text-base) +} + +.referral-badge, +.speed-test-label { + font-size: .65rem; + color: var(--primary); + background: rgba(99, 102, 241, .1); + padding: var(--space-xs) var(--space-sm); + border-radius: var(--radius-md); + font-weight: var(--font-medium); + text-transform: uppercase; + letter-spacing: .05em +} + +.compare-controls { + display: grid; + grid-template-columns: 1fr auto 1fr; + gap: var(--space-xl); + margin-bottom: var(--space-4xl); + align-items: end; + max-width: 800px; + margin-inline: auto +} + +.compare-select-group { + display: flex; + flex-direction: column; + min-width: 0 +} + +.compare-select-group label { + display: block; + margin-bottom: var(--space-sm); + font-weight: var(--font-medium); + color: var(--text-primary); + font-size: var(--text-sm); + text-align: center +} + +.select-wrapper { + position: relative; + width: 100% +} + +select { + width: 100%; + padding: var(--space-lg) var(--space-4xl) var(--space-lg) var(--space-lg); + border: 2px solid var(--border-primary); + border-radius: var(--radius-lg); + background: var(--bg-primary); + color: var(--text-primary); + font-size: var(--text-base); + cursor: pointer; + appearance: none; + transition: all var(--transition-fast); + min-height: 48px +} + +select:focus { + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(99, 102, 241, .1) +} + +select:hover { + border-color: var(--primary) +} + +.select-wrapper::after { + content: ''; + position: absolute; + right: var(--space-lg); + top: 50%; + transform: translateY(-50%); + width: 0; + height: 0; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid var(--text-tertiary); + pointer-events: none; + transition: border-top-color var(--transition-fast) +} + +.select-wrapper:hover::after { + border-top-color: var(--primary) +} + +.select-wrapper:focus-within::after { + border-top-color: var(--primary) +} + +.compare-vs { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + font-size: var(--text-lg); + font-weight: var(--font-bold); + color: var(--primary); + background: var(--bg-secondary); + padding: var(--space-md) var(--space-md); + border-radius: var(--radius-xl); + border: 2px solid var(--border-primary); + min-width: 60px; + min-height: 48px; + text-transform: uppercase; + letter-spacing: .1em; + box-shadow: var(--shadow-sm); + transition: all var(--transition-fast); + position: relative; + overflow: hidden +} + +.compare-vs::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .1), rgba(139, 92, 246, .1)); + opacity: 0; + transition: opacity var(--transition-fast) +} + +.compare-vs:hover::before { + opacity: 1 +} + +.compare-select-group:focus-within label { + color: var(--primary); + transform: translateY(-2px); + transition: all var(--transition-fast) +} + +.empty-state { + text-align: center; + padding: var(--space-6xl); + background: var(--bg-primary); + border-radius: var(--radius-lg); + border: 2px dashed var(--border-primary); + margin: var(--space-2xl) 0; + position: relative; + overflow: hidden +} + +.empty-state::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .02), rgba(139, 92, 246, .02)); + pointer-events: none +} + +.empty-state-icon { + width: 64px; + height: 64px; + color: var(--text-tertiary); + margin: 0 auto var(--space-xl); + opacity: .7; + position: relative; + z-index: 1 +} + +.empty-state h3 { + margin: 0 0 var(--space-md); + font-size: var(--text-xl); + color: var(--text-primary); + font-weight: var(--font-semibold); + position: relative; + z-index: 1 +} + +.empty-state p { + margin: 0; + color: var(--text-secondary); + font-size: var(--text-base); + max-width: 400px; + margin-inline: auto; + line-height: 1.5; + position: relative; + z-index: 1 +} + +.warning-state { + margin-top: 1rem; + padding: .5rem .5rem; + border-radius: var(--radius-md); + text-align: center +} + +.error-state { + padding: .5em; + background-color: inherit; + color: inherit; + border-radius: var(--radius-md); + text-align: center +} + +.error-dataurl { + font-family: 'Courier New', Courier, monospace; + text-decoration: underline +} + +.loading-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: var(--space-5xl); + color: var(--text-secondary) +} + +.loading-spinner { + width: 32px; + height: 32px; + border: 3px solid var(--border-primary); + border-top: 3px solid var(--primary); + border-radius: var(--radius-full); + animation: spin 1s linear infinite; + margin-bottom: var(--space-lg) +} + +@keyframes spin { + 0% { + transform: rotate(0deg) + } + + 100% { + transform: rotate(360deg) + } +} + +.loading-overlay { + position: absolute; + inset: 0; + display: grid; + place-items: center; + background: radial-gradient(80% 60% at 50% 40%, rgba(0, 0, 0, .04), transparent 60%), color-mix(in srgb, var(--bg-primary) 88%, transparent); + backdrop-filter: blur(2px); + -webkit-backdrop-filter: blur(2px); + opacity: 0; + transition: opacity var(--transition-normal); + z-index: 200 +} + +.loading-overlay--visible { + opacity: 1 +} + +.loading-content { + text-align: center; + color: var(--text-secondary) +} + +.loading-spinner { + position: relative; + width: 42px; + height: 42px; + display: inline-grid; + place-items: center; + margin-bottom: var(--space-md) +} + +.loading-spinner .spinner-ring { + position: absolute; + inset: 0; + border-radius: 50%; + border: 3px solid var(--border-primary); + border-top-color: var(--primary); + animation: spin 1s linear infinite +} + +.loading-spinner .spinner-ring:nth-child(2) { + inset: 6px; + opacity: .7; + animation-duration: 1.4s +} + +.loading-spinner .spinner-ring:nth-child(3) { + inset: 12px; + opacity: .5; + animation-duration: 1.8s +} + +.loading-text { + font-size: var(--text-sm); + color: var(--text-secondary) +} + +.comparison-header { + display: flex; + flex-direction: column; + gap: var(--space-lg); + padding: var(--space-2xl); + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-lg); + margin-bottom: var(--space-2xl); + box-shadow: var(--shadow-sm); + position: relative; + overflow: hidden +} + +.comparison-header::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .03), rgba(139, 92, 246, .03)); + pointer-events: none +} + +.comparison-header h3 { + margin: 0; + font-size: var(--text-xl); + font-weight: var(--font-semibold); + color: var(--text-primary); + text-align: center; + line-height: 1.3; + position: relative; + z-index: 1 +} + +.comparison-stats { + display: flex; + justify-content: center; + gap: var(--space-2xl); + flex-wrap: wrap +} + +.comparison-stats .stat { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + min-width: 80px; + padding: var(--space-sm) +} + +.comparison-stats .stat-label { + font-size: var(--text-xs); + color: var(--text-secondary); + margin-bottom: var(--space-xs); + text-transform: uppercase; + letter-spacing: .05em; + font-weight: var(--font-medium) +} + +.comparison-stats .stat-value { + font-size: var(--text-lg); + font-weight: var(--font-bold); + color: var(--primary) +} + +.comparison-actions { + display: flex; + justify-content: center; + gap: var(--space-md); + flex-wrap: wrap +} + +.comparison-actions .btn { + padding: var(--space-sm) var(--space-lg); + font-size: var(--text-sm); + min-width: auto; + border-radius: var(--radius-md); + transition: all var(--transition-fast) +} + +.comparison-filters { + display: flex; + justify-content: center; + gap: var(--space-lg); + padding: var(--space-lg); + background: var(--bg-primary); + border-radius: var(--radius-md); + margin-bottom: var(--space-2xl); + flex-wrap: wrap; + border: 1px solid var(--border-primary); + position: relative; + overflow: hidden +} + +.comparison-filters::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .02), rgba(139, 92, 246, .02)); + pointer-events: none +} + +.comparison-filters .filter-option { + display: flex; + align-items: center; + gap: var(--space-sm); + cursor: pointer; + font-size: var(--text-sm); + font-weight: var(--font-medium); + color: var(--text-secondary); + transition: color var(--transition-fast); + padding: var(--space-xs) var(--space-sm); + border-radius: var(--radius-sm); + position: relative; + z-index: 1 +} + +.comparison-filters .filter-option:hover { + color: var(--text-primary); + background: var(--bg-primary) +} + +.comparison-filters input[type="radio"] { + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + accent-color: var(--primary) +} + +.comparison-filters input[type="radio"]:checked+span { + color: var(--primary); + font-weight: var(--font-semibold) +} + +.comparison-table { + width: 100%; + border-collapse: collapse; + margin-top: var(--space-lg); + background: var(--bg-primary); + border-radius: var(--radius-lg); + overflow: hidden; + box-shadow: var(--shadow-sm); + border: 1px solid var(--border-primary) +} + +.comparison-table th, +.comparison-table td { + padding: var(--space-lg); + text-align: center; + border-bottom: 1px solid var(--border-primary); + vertical-align: middle +} + +.comparison-table th { + background: var(--bg-secondary); + font-weight: var(--font-semibold); + color: var(--text-primary); + font-size: var(--text-sm); + text-transform: uppercase; + letter-spacing: .05em +} + +.comparison-table th:first-child { + text-align: left; + background: var(--bg-secondary); + color: var(--text-primary); + position: sticky; + left: 0; + z-index: 101; + box-shadow: 2px 0 6px -4px rgba(0, 0, 0, .06) +} + +.comparison-table .provider-header { + font-size: var(--text-lg); + font-weight: var(--font-bold); + background: var(--bg-elevated); + color: var(--primary) +} + +.comparison-table td:first-child { + text-align: left; + font-weight: var(--font-medium); + background: var(--bg-primary); + position: sticky; + left: 0; + z-index: 101; + box-shadow: 2px 0 6px -4px rgba(0, 0, 0, .06) +} + +.comparison-table tr:nth-child(even) { + background-color: var(--bg-tertiary) +} + +.comparison-table tr:nth-child(even) td:first-child { + background-color: var(--bg-tertiary) +} + +.comparison-row:hover { + background: var(--bg-secondary) +} + +.comparison-row:hover td:first-child { + background: var(--bg-secondary) +} + +.comparison-hiding { + opacity: 0; + transform: scale(.95); + transition: all var(--transition-normal) +} + +.comparison-table .table-check, +.comparison-table .table-cross { + font-weight: var(--font-semibold) +} + +.compare-section-wrapper { + position: relative; + overflow: hidden +} + +#compare-table-container { + min-height: 200px; + transition: all var(--transition-normal); + background: var(--bg-primary); + border-radius: var(--radius-lg); + position: relative; + overflow: hidden +} + +#compare-table-container::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .01), rgba(139, 92, 246, .01)); + pointer-events: none; + z-index: 0 +} + +#compare-table-container>* { + position: relative; + z-index: 1 +} + +#compare-table-container.loading { + opacity: .7; + pointer-events: none +} + +.same-provider-warning { + background: var(--warning-bg, #fef3cd); + border: 1px solid var(--warning-border, #facc15); + color: var(--warning-text, #92400e); + padding: var(--space-lg); + border-radius: var(--radius-lg); + margin: var(--space-xl) 0; + text-align: center; + font-weight: var(--font-medium) +} + +.same-provider-warning .warning-icon { + width: 20px; + height: 20px; + margin-right: var(--space-sm); + vertical-align: middle +} + +.comparison-loading { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: var(--space-5xl); + color: var(--text-secondary); + background: var(--bg-primary); + border-radius: var(--radius-lg); + border: 1px solid var(--border-primary); + position: relative; + overflow: hidden +} + +.comparison-loading::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(99, 102, 241, .02), rgba(139, 92, 246, .02)); + pointer-events: none +} + +.comparison-loading .loading-spinner { + width: 40px; + height: 40px; + border: 3px solid var(--border-primary); + border-top: 3px solid var(--primary); + border-radius: var(--radius-full); + animation: spin 1s linear infinite; + margin-bottom: var(--space-lg); + position: relative; + z-index: 1 +} + +.comparison-loading p { + margin: 0; + font-size: var(--text-base); + font-weight: var(--font-medium); + position: relative; + z-index: 1 +} + +#compare .section-header { + margin-bottom: var(--space-3xl); + text-align: center +} + +#compare .section-description { + font-size: var(--text-lg); + color: var(--text-secondary); + max-width: 600px; + margin-inline: auto +} + +#compare { + position: relative; + background: var(--bg-primary) +} + +#compare .container { + position: relative +} + +.compare-controls { + position: relative; + z-index: 1 +} + +.site-footer { + --footer-bg: var(--bg-secondary); + background: var(--footer-bg); + border-top: 1px solid var(--border-primary); + padding: var(--space-6xl) 0 var(--space-4xl); + margin-top: auto; + position: relative; + overflow: hidden +} + +.site-footer::before { + content: none +} + +.footer-content { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: clamp(var(--space-xl), 4vw, var(--space-4xl)); + margin-bottom: var(--space-4xl) +} + +.footer-section h4, +.footer-section h5 { + margin: 0 0 var(--space-lg); + font-size: var(--text-lg); + font-weight: var(--font-semibold); + color: var(--text-primary) +} + +.footer-section h5 { + font-size: var(--text-base) +} + +.footer-brand { + display: flex; + align-items: center; + gap: var(--space-md); + margin-bottom: var(--space-md) +} + +.footer-logo { + width: 36px; + height: 36px; + color: var(--primary) +} + +.footer-brand h4 { + margin: 0; + font-size: var(--text-xl); + font-weight: var(--font-bold) +} + +.footer-description { + margin: 0 0 var(--space-lg); + color: var(--text-secondary); + line-height: 1.6; + max-width: 46ch +} + +.footer-stats { + display: flex; + gap: var(--space-md); + flex-wrap: wrap +} + +.footer-stat { + display: inline-flex; + align-items: center; + padding: 6px 10px; + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-full); + font-size: 11px; + font-weight: var(--font-medium); + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: .05em +} + +.footer-links { + list-style: none; + padding: 0; + margin: 0 +} + +.footer-links li { + margin-bottom: 10px +} + +.footer-links a { + color: var(--text-secondary); + text-decoration: underline; + text-decoration-color: transparent; + text-underline-offset: 3px; + text-decoration-thickness: 2px; + transition: color var(--transition-fast), text-decoration-color var(--transition-fast); + font-size: var(--text-sm); + line-height: 1.5 +} + +.footer-links a:hover { + color: var(--primary); + text-decoration-color: currentColor +} + +.footer-links a:focus-visible { + outline: 2px solid transparent; + box-shadow: 0 0 0 3px rgb(99 102 241 / .35); + border-radius: 6px +} + +.footer-links.compact { + columns: 2; + column-gap: var(--space-xl) +} + +@media (max-width:600px) { + .footer-links.compact { + columns: 1 + } +} + +.footer-bottom { + padding-top: var(--space-3xl); + border-top: 1px solid var(--border-primary) +} + +.footer-bottom-content { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + gap: var(--space-xl) +} + +.footer-left p { + margin: 0; + color: var(--text-tertiary); + font-size: var(--text-sm) +} + +.footer-disclaimer { + font-size: var(--text-xs) !important; + color: var(--text-muted) !important; + font-style: italic; + margin-top: var(--space-sm) +} + +.footer-left a { + color: var(--primary); + text-decoration: underline; + text-underline-offset: 2px +} + +.footer-left a:hover { + color: var(--primary-hover) +} + +.footer-right { + text-align: right +} + +.footer-meta { + display: flex; + align-items: center; + gap: var(--space-lg); + flex-wrap: wrap +} + +.last-updated { + font-size: var(--text-xs); + color: var(--text-muted) +} + +.github-link { + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + background: var(--bg-primary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-md); + color: var(--text-secondary); + text-decoration: none; + transition: all var(--transition-fast) +} + +.github-link:hover { + background: var(--primary); + color: #fff; + border-color: var(--primary); + transform: translateY(-1px); + box-shadow: var(--shadow-md) +} + +.back-to-top { + position: fixed; + bottom: var(--space-2xl); + right: var(--space-2xl); + width: 48px; + height: 48px; + background: var(--primary); + color: #fff; + border: none; + border-radius: var(--radius-full); + display: flex; + align-items: center; + justify-content: center; + box-shadow: var(--shadow-md); + opacity: 0; + visibility: hidden; + transform: translateY(20px); + z-index: 50; + transition: all var(--transition-normal); + will-change: transform +} + +.back-to-top.visible { + opacity: 1; + visibility: visible; + transform: translateY(0) +} + +.back-to-top:hover { + background: var(--primary-hover); + box-shadow: var(--shadow-lg) +} + +.back-to-top:focus-visible { + outline: 2px solid transparent; + box-shadow: var(--shadow-focus) +} + +@media (max-width:1024px) { + .container { + padding-inline: var(--space-xl) + } + + .resources-categories { + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) + } + } + + @media (max-width:900px) { + .hero-section { + padding:clamp(3.5rem, 10vw, 5rem) 0 clamp(3rem, 8vw, 4rem); min-height:clamp(460px, 65vh, 720px) + } + + .footer-content { + grid-template-columns:repeat(2, 1fr); gap:var(--space-xl) + } + + .footer-brand h3 { + font-size:var(--text-lg) + } + + .important-notes-grid { + grid-template-columns:1fr + } + + .comparison-header { + padding:var(--space-lg); gap:var(--space-md) + } + + .comparison-stats { + gap:var(--space-lg) + } + + .comparison-filters { + flex-direction:column; gap:var(--space-md); align-items:center + } + + .compare-controls { + flex-direction:column; align-items:center; gap:var(--space-xl) + } + + .compare-vs { + order:2; margin:var(--space-lg) 0 + } + + .compare-select-group:first-child { + order:1 + } + + .compare-select-group:last-child { + order:3 + } + } + + @media (max-width:768px) { + .header-nav { + display:none + } + + .hero-actions { + flex-direction:column; align-items:center + } + + .hero-stats { + gap:var(--space-2xl) + } + + .features-grid { + grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:var(--space-md) + } + + .benefit-card { + padding:var(--space-lg); min-height:140px + } + + .benefit-card .icon-badge { + width:32px; height:32px; margin-bottom:var(--space-md) + } + + .benefit-card h3 { + font-size:var(--text-sm) + } + + .comparison-stats { + gap:var(--space-lg) + } + + .comparison-filters { + gap:var(--space-md); padding:var(--space-md) + } + + .comparison-table th, .comparison-table td { + padding:var(--space-md); font-size:var(--text-sm) + } + + .comparison-table th:first-child, .comparison-table td:first-child { + position:sticky; left:0; z-index:101; box-shadow:2px 0 4px -2px rgba(0, 0, 0, .08) + } + + .comparison-table .provider-header { + font-size:var(--text-base) + } + + .compare-controls { + grid-template-columns:1fr; gap:var(--space-lg); text-align:center; align-items:center; justify-items:center + } + + .compare-vs { + order:2; margin:var(--space-lg) auto; width:fit-content; justify-self:center; align-self:center + } + + .compare-select-group:first-child, .compare-select-group:last-child { + width:100%; max-width:300px + } + + .compare-select-group label { + font-size:var(--text-base); font-weight:var(--font-semibold) + } + } + + @media (max-width:700px) { + .hero-section { + padding:clamp(3rem, 9vw, 4rem) 0 clamp(2.5rem, 7vw, 3.5rem); min-height:clamp(480px, 70vh, 760px) + } + } + + @media (max-width:600px) { + .footer-links.compact { + columns:1 + } + + .site-footer { + padding:var(--space-5xl) 0 var(--space-3xl) + } + + .footer-content { + gap:var(--space-lg) + } + + .site-footer .footer-section { + background:var(--bg-primary); border:1px solid var(--border-primary); border-radius:var(--radius-lg); padding:var(--space-xl) + } + + .site-footer .footer-section h4, .site-footer .footer-section h5 { + margin-top:0; margin-bottom:var(--space-md); text-align:center + } + + .footer-brand { + text-align:center; padding-bottom:0; border-bottom:0; margin-bottom:var(--space-md) + } + + .footer-description { + margin-bottom:var(--space-md) + } + + .footer-stats { + justify-content:center + } + + .footer-links { + margin:0 + } + + .footer-links li { + margin-bottom:6px + } + + .footer-links a { + display:block; padding:10px 12px; border-radius:var(--radius-md); background:transparent; border:1px solid transparent; text-decoration:none + } + + .footer-links a:hover { + background:var(--bg-secondary); border-color:var(--border-primary) + } + + .footer-links a:active { + background:var(--bg-tertiary) + } + + .footer-bottom { + text-align:center + } + + .footer-bottom-content { + flex-direction:column; align-items:center; gap:var(--space-md) + } + + .footer-right { + text-align:center + } + + .footer-meta { + justify-content:center; gap:var(--space-md) + } + } + + @media (max-width:520px) { + .hero-section { + padding:clamp(2.5rem, 8vw, 3.5rem) 0 clamp(2rem, 6vw, 3rem); min-height:clamp(500px, 75vh, 780px) + } + } + + @media (max-width:480px) { + .container { + padding-inline:var(--space-lg) + } + + .section { + padding:var(--space-3xl) 0 + } + + .stat-item:not(:last-child)::after { + display:none + } + + .features-grid { + grid-template-columns:1fr; gap:var(--space-lg) + } + + .benefit-card { + padding:var(--space-xl); min-height:auto + } + + .btn { + padding:var(--space-md) var(--space-xl); min-width:120px; font-size:var(--text-sm) + } + + .comparison-actions .btn { + min-width:auto + } + + .header-nav .nav-link.active { + color:var(--primary) + } + + .header-nav .nav-link.active::after { + content:''; display:block; height:2px; background:currentColor; border-radius:2px; margin-top:6px + } + + .comparison-header { + padding:var(--space-md) + } + + .comparison-header h3 { + font-size:var(--text-lg) + } + + .comparison-stats { + flex-direction:column; gap:var(--space-md) + } + + .comparison-filters { + gap:var(--space-sm) + } + + .comparison-table { + font-size:var(--text-xs) + } + + .comparison-table th, .comparison-table td { + padding:var(--space-sm) + } + + .comparison-table th:first-child, .comparison-table td:first-child { + position:sticky; left:0; z-index:101; box-shadow:1px 0 3px -1px rgba(0, 0, 0, .1) + } + + .footer-content { + grid-template-columns:1fr; gap:var(--space-lg) + } + + .footer-brand { + text-align:center; padding-bottom:0; border-bottom:0; margin-bottom:var(--space-md) + } + + .footer-links { + justify-content:center + } + + .footer-links h4 { + text-align:center; margin-bottom:var(--space-md) + } + + .footer-bottom { + text-align:center + } + + .footer-bottom-content { + flex-direction:column; align-items:center; text-align:center + } + + .footer-right { + text-align:center + } + + .hero-meta { + margin-bottom:var(--space-2xl) + } + + .hero-badge { + font-size:10px + } + } + + @media (max-width:400px) { + .hero-section { + padding:clamp(2rem, 7vw, 3rem) 0 clamp(1.5rem, 6vw, 2.5rem) + } + } + + @media (max-width:26.25em) { + .container { + padding-inline:var(--space-sm) + } + + .hero-section { + padding:var(--space-4xl) var(--space-sm) + } + + .hero-title { + font-size:clamp(1.5rem, 8vw, 2.5rem); margin-bottom:var(--space-lg) + } + + .hero-description { + font-size:var(--text-base); margin-bottom:var(--space-3xl) + } + + .hero-actions { + margin-bottom:var(--space-4xl); gap:var(--space-md) + } + + .btn { + padding:var(--space-md) var(--space-xl); min-width:120px; font-size:var(--text-sm) + } + + .section-header { + margin-bottom:var(--space-lg) + } + + .section-title { + font-size:clamp(1.5rem, 6vw, 2rem); margin-bottom:var(--space-lg) + } + + .section-description { + font-size:var(--text-sm) + } + + .benefit-card { + padding:var(--space-lg) var(--space-md); min-height:auto + } + + .benefit-card h3 { + font-size:var(--text-base) + } + + .note-card { + padding:var(--space-lg) + } + + .hero-stats { + gap:var(--space-lg) + } + + .stat-number { + font-size:clamp(1.5rem, 10vw, 2rem) + } + + .alert { + padding:var(--space-lg); margin:var(--space-lg) 0; gap:var(--space-sm) + } + + .compare-controls { + gap:var(--space-lg) + } + + .data-table-container { + font-size:.8rem + } + + th, td { + padding:var(--space-sm) var(--space-md) + } + + .site-footer { + padding:var(--space-5xl) 0 var(--space-3xl) + } + + .footer-content { + gap:var(--space-md); margin-bottom:var(--space-3xl) + } + + .footer-section h4, .footer-section h5 { + margin-bottom:var(--space-lg) + } + + .footer-bottom { + padding-top:var(--space-3xl) + } + + .footer-bottom-content { + gap:var(--space-lg) + } + + .footer-meta { + gap:var(--space-md) + } + + .speed-section { + padding:var(--space-2xl) var(--space-sm) + } + + .resource-category { + padding:var(--space-2xl) var(--space-sm) + } + + .resource-item { + padding:var(--space-md) + } + + .referral-section { + padding:var(--space-2xl) var(--space-sm); margin:var(--space-4xl) 0 + } + + .referral-grid { + gap:var(--space-md) + } + + .referral-card { + padding:var(--space-md); max-width:none + } + } + + @media (max-width:20em) { + html { + font-size:14px + } + + body { + line-height:1.5 + } + + .site-header { + height:3.75rem + } + + :root { + --header-height:3.75rem + } + + .header-content { + gap:var(--space-lg) + } + + .site-title { + font-size:var(--text-lg); padding:var(--space-xs) var(--space-md) + } + + .nav-link { + padding:var(--space-sm) var(--space-md); font-size:.75rem + } + + .dark-mode-toggle { + width:38px; height:38px + } + + .hero-description { + font-size:.95rem + } + + .hero-stats { + gap:var(--space-lg) + } + + .section { + padding:2rem 0 + } + + .section-header { + margin-bottom:var(--space-xl) + } + + .section-description { + font-size:clamp(.95rem, 3.2vw, 1.05rem) + } + + .benefit-card { + padding:var(--space-lg) + } + + .benefit-card h3 { + font-size:.9rem + } + + .alert { + padding:var(--space-lg); margin:var(--space-lg) 0 + } + + .note-card { + padding:var(--space-lg) + } + + .compare-controls { + gap:var(--space-lg) + } + + .data-table-container { + font-size:.85rem + } + } + + @media print { + .site-header, .hero-section, .referral-section, .site-footer, .back-to-top, .dark-mode-toggle { + display:none !important + } + + .section { + page-break-inside:avoid + } + + .compare-controls { + display:none + } + + .comparison-table { + box-shadow:none; border:1px solid #000 + } + + .comparison-table th, .comparison-table td { + border:1px solid #000; padding:var(--space-sm) + } + } + + @media (prefers-contrast:high) { + :root { + --border-primary:#000; --text-secondary:#000 + } + + .compare-vs { + border-width:3px; font-weight:var(--font-bold) + } + + .comparison-table { + border-width:2px + } + + .comparison-table th, .comparison-table td { + border-width:1px + } + } + + @media (pointer:coarse) { + .nav-link:hover, .btn:hover, .status-card:hover, .benefit-card:hover, .speed-card:hover, .referral-card:hover, .note-card:hover, .resource-item:hover { + transform:none + } + } \ No newline at end of file diff --git a/docs/public/favicon.ico b/dist/favicon.ico similarity index 100% rename from docs/public/favicon.ico rename to dist/favicon.ico diff --git a/docs/public/favicon.svg b/dist/favicon.svg similarity index 100% rename from docs/public/favicon.svg rename to dist/favicon.svg diff --git a/docs/public/images/og.png b/dist/image.png similarity index 100% rename from docs/public/images/og.png rename to dist/image.png diff --git a/docs/public/images/android-chrome-192x192.png b/dist/images/android-chrome-192x192.png similarity index 100% rename from docs/public/images/android-chrome-192x192.png rename to dist/images/android-chrome-192x192.png diff --git a/docs/public/images/android-chrome-512x512.png b/dist/images/android-chrome-512x512.png similarity index 100% rename from docs/public/images/android-chrome-512x512.png rename to dist/images/android-chrome-512x512.png diff --git a/docs/public/images/apple-touch-icon.png b/dist/images/apple-touch-icon.png similarity index 100% rename from docs/public/images/apple-touch-icon.png rename to dist/images/apple-touch-icon.png diff --git a/docs/public/images/favicon-16x16.png b/dist/images/favicon-16x16.png similarity index 100% rename from docs/public/images/favicon-16x16.png rename to dist/images/favicon-16x16.png diff --git a/docs/public/images/favicon-32x32.png b/dist/images/favicon-32x32.png similarity index 100% rename from docs/public/images/favicon-32x32.png rename to dist/images/favicon-32x32.png diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..90640fa --- /dev/null +++ b/dist/index.html @@ -0,0 +1,1353 @@ + + + + + + + + Debrid Services Comparison - Compare Pricing & Hosts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+
+
+

+ Compare Premium Debrid Services +

+

+ A community-driven, up-to-date comparison of premium debrid services: pricing, host support, + refund policies, and performance. +

+ +
+
+ 9 + Services +
+
+ 400+ + File Hosts +
+
+
+
+
+ + +
+
+
+
+

What are Debrid Services?

+

+ Debrid services (a.k.a. premium link generators) act as a high‑speed intermediary: they + fetch the file from a host, then serve you a fast, ad‑free direct link. +

+
+ Premium link generator + Ad‑free + Multi‑host + Torrent‑to‑link +
+
+ +
+
+ +

Maximum Speeds

+

Bypass host throttling with direct links

+
+
+ + + + +

Multi‑Host Access

+

One subscription supports hundreds of hosts

+
+
+ + + + + + +

Torrent‑to‑Link

+

Add magnet/torrent and get a direct URL

+
+
+ + + + +

Ad‑Free

+

No popups, countdowns, or captchas

+
+
+ + +
+
+
+ + +
+
+
+
+

Pricing Comparison

+

Compare subscription plans across all major debrid services +

+
+ +
+
+
+ +

Loading pricing data...

+
+
+ + +
+ +
+
+

Support This Project

+

Consider using our referral links - it helps maintain this project at no extra cost + to you!

+
+ +
+
+
+
+ + +
+
+
+
+

Supported File Hosts

+

Browse and search through 400+ supported file hosting + services

+
+ +
+ +
+ +
+
+
+

Loading file hosts...

+
+
+
+
+
+ + +
+
+
+
+

Compare Services

+

Select two services to see a detailed side-by-side comparison +

+
+ +
+
+ +
+ +
+
+
VS
+
+ +
+ +
+
+
+ +
+
+ + + + + +

Ready to Compare

+

Select two services above to see a detailed comparison

+
+
+
+
+
+ + +
+
+
+
+

Adult Content Hosts

+

+ Support for adult content varies significantly across debrid services. Some platforms + actively support major adult file hosts, while others exclude them entirely due to + policy or legal considerations. +

+
+ +
+ +
+ +
+
+
+

Loading adult hosts...

+
+
+
+
+
+ + + + + +
+
+
+
+

Speed Test

+

+ Actual speeds vary by location, time of day, host performance, and load. Test before + committing to a long plan. +

+
+ +
+
+

Official Speed Tools

+

Test download speeds directly from service providers

+
+ + + +
+ +
+
+
+ + +
+ +
+ + + +
+
+
+
+

Important Notes

+

+ This project aims to provide accurate and up-to-date information, but the debrid service + landscape is dynamic. +

+
+ +
+
+ + +
+

Services change frequently

+

Pricing, host support, refund policies, and features may be updated without + notice. Always verify details on the official service websites + before purchasing.

+
+
+
+ +
+

Final cost may vary

+

Displayed prices are subject to exchange rates, regional taxes, or payment + processing fees. Your actual charge may differ slightly.

+
+
+
+ +
+

Data accuracy

+

While we strive for completeness, this comparison reflects community reports and + public information. We do not guarantee uptime, speed, download + success, or feature availability.

+
+
+
+ +
+

No affiliation

+

This project is independent and not affiliated with any listed + service.

+
+
+
+ +
+

Use at your own discretion

+

Choosing a debrid service involves personal judgment. Test short-term plans first + and review terms carefully.

+
+
+
+ +
+

Legal responsibility

+

Debrid services are tools. You are responsible for complying with copyright laws + and terms of use when accessing content.

+
+
+
+ + +
+
+
+ + +
+
+
+
+

Useful Resources and Community

+

Enhance your debrid experience with these trusted tools, + guides, and communities

+
+ + + + +
+
+
+
+ + + + + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/dist/json/adult-hosts.json b/dist/json/adult-hosts.json new file mode 100644 index 0000000..2ba1739 --- /dev/null +++ b/dist/json/adult-hosts.json @@ -0,0 +1 @@ +{"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"}} \ No newline at end of file diff --git a/dist/json/file-hosts.json b/dist/json/file-hosts.json new file mode 100644 index 0000000..797c8e4 --- /dev/null +++ b/dist/json/file-hosts.json @@ -0,0 +1 @@ +{"1Fichier":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"1Tv":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"24Uploading":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"2Shared":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"4Share":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"4Shared":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"4Tube":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"4Upld":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"5Azn":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Abcnews":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Acast":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Akafile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Alfafile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Allmyvideos":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Annas archive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Anonfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Anzfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Aparat":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Apkadmin":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Archive.org":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Audioboom":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Audiomack":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Auroravid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ausfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ayefiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Backin":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Baidu video":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Baidu":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Bayfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Bbc":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Bdupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Beta hoster":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Bilibili":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Billionuploads":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Bitvid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Bluesky":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Box":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Brfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Buenastareas":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Bunkr":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Buzzheavier":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Bytewhale":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"C-span":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Calameo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Camdemy":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Canalplus":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Catshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Cc.com":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Chilloutzone":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Cinemassacre":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Clicknupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Clipfish":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Clipsyndicate":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Cloudfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Cloudghost":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Cloudsix":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Cloudvideo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Clubic":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Collegehumor":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Comedy central":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Comedycentral":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Coub":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Crunchyroll":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ctfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Daclips":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dagbladet":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dailymail":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dailymotion":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dailyuploads":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Daofile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Darikibox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Data nodes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Datafilehost":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Datei":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Datoid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dbr":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dctp":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ddl":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ddlstorage":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ddowload / ddl.to":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ddownload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ddownload10":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Deezer":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Depositfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dev-host":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Discovery channel":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dl.free":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dood":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Doraupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dotsub":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Douploads":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Downloadani":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Drop.download / dropapk":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Drop.download":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Drop":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dropapk":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dropbox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Dropgalaxy":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Dropmefiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Easybytez":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ebaumsworld":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Elephantafiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Elitefile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ellentv":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Emload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Erafile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Exload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Extmatrix":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Facebook":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fastbit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Fastdrive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fastfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Fastshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Faststore":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fikper":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"File.al":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"File":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"File4safe":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Fileaxa":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fileblade":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filecat":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filecloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fileden":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filedot":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filefactory":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fileflyer":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filefox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fileice":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filejoker":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fileland":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filemoney":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filenext":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filepup":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filer.net":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filer":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filerio":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filesabc":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filescdn":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filesflash":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filesfly":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filesmonster":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filespace":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filestank":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filestore.me":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filestore.to":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filestore":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filesuploading":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fileswap":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filetut":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Filextras":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Filezip":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Firedrop":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fireget":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Flash-files":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Flashbit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Flashx":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Flipagram":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Flix555":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Formula1":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Foxnews":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Free":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Fshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Fuckingfast":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Gaia":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Gamefront":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Gamersyde":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Gamestar":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Gboxes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Gigapeta":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Gigasize":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Github":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Gofile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Google drive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Google":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Gorillavid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Harefile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Heroupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Hexload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Hexupload / hexload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Hitfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Hot4share":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Hotlink":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Hotstar":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Hulkshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Hzfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Icedrive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Icerbox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Icerbox*":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Icloud drive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Idnes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Imgur":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Inclouddrive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Indishare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Instagram":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Interfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Isra.cloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Isra":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Issuu":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Izlesene":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Jamendo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Jumploads":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"K2s*":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Karrierevideos":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Katfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Keek":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Keep2share":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Keepfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Kenfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Khanacademy":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Kick":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Kickstarter":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Koofr":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Krakenfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Kshared":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Kvid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Labload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Lafiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Lcp":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Letitbit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Limefile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Littlebyte":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Load":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Longfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Loom":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Lunaticfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Lynda":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Masterani":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mediaccc":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Mediafile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mediafire":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mediafree":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mega":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Megacache":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Megairon":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Megaup":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Metacafe":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mexashare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Minhateca":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mirrorace":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mixcloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Mixdrop":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Modsbase":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Moondl":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Movieclips":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Movpod":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Movshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Mp4upload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Msnbc":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Multiup":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Myspass":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Naver":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Nbcsports":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ndtv":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Nelion":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Nexusmods":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Nfl":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Niconico":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Nicovideo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ninjastream":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Nitroflare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Novafile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Novamov":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Nowdownload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Nowvideo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Nytimes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Oboom":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Odatv":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Odnoklassniki":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ok.ru":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Onet":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Onionstudios":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ozibox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Pan baidu":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Panopto":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Paramount+":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Pcloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Periscope":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Pillowcase":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Pinkbike":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Pinterest":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Piwi+":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Pixeldrain":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Play":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Plays":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Playtvak":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Prefiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Promptfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Purevid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Putlocker":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Pyvideo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Qiwi":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Qobuz":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Radiotunes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rapidfileshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Rapidgator":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rapidpaid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Rapidrar":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Rapidu":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Rarefile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Redbunker":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Reddit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Revision3":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rockfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Rosefile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Rtbf":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rte":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rts":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rtve.es":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ruhd":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Rutube":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ruutu":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Salefiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Scribd":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Sdilej":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Secureupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Send.cm":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Send.now":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Sendit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Sendspace":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Shareflare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Sharemods":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Silkfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Simfileshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Slideshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Slingfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Smotri":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Snapchat":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Snotr":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Sockshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Solidfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Soundcloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Sportdeutschland":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Steam (video)":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Steam":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Stream.cz":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Streamable":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Streamcloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Streamers":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Streamtape":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Subyshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Swisstransfer":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Syncs":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Sztv":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Takefile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Teachingchannel":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Teamfourstar":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Techtalks":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ted":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Telebruxelles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Terabox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Terabytez":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Tezfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Tf1":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Tiktok":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Tlc":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Trashbytes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Tumblr":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Turbobit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Tusfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Tweakers":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Twitch":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Twitter":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Ubiqfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uktv play":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uloz":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Unibytes":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Unlimitzone":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upasias":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upload.af":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upload42":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Upload4earn":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadbank":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uploadbox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uploadboy":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadev":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadex":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadgig":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadhaven":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uploading":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadlux":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadocean":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploadrar":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uploadrocket":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploads":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uploady":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uplod":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Uppit":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upshared":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upstream":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uptobox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Upvid":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Uqload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Userscloud":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Usersdrive":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Userupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Ustream":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Veoh":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Verystream":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Vessel":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Vev":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Vidabc":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Video":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Videomega":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Videowood":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Vidoza":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Vidspot":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Vidto":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Vidzi":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Vimeo":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Viooz":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Vipfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Vk":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Vodlocker":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Voe":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Vup":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Wayupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Webshare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Wipfiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Workupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Worldbytez":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Wupfile / salefiles":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Wupfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Wushare":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Xenupload":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Xiaohongshu":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Xubster":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Xvidstage":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Yandex disk":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Yandex video":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Youdbox":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Youku":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"no"},"Youtube":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Youwatch":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"},"Yunfile":{"AllDebrid":"no","TorBox":"no","Premiumize":"no","Real-Debrid":"no","Debrid-Link":"no","LinkSnappy":"no","Mega-Debrid":"no","Deepbrid":"no","High-Way":"no","Offcloud":"yes"}} \ No newline at end of file diff --git a/dist/json/pricing.json b/dist/json/pricing.json new file mode 100644 index 0000000..d008f35 --- /dev/null +++ b/dist/json/pricing.json @@ -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"}]} \ No newline at end of file diff --git a/docs/public/robots.txt b/dist/robots.txt similarity index 100% rename from docs/public/robots.txt rename to dist/robots.txt diff --git a/docs/public/rzd7n8dtydkn3rusq48azrfacbx5zapr.txt b/dist/rzd7n8dtydkn3rusq48azrfacbx5zapr.txt similarity index 100% rename from docs/public/rzd7n8dtydkn3rusq48azrfacbx5zapr.txt rename to dist/rzd7n8dtydkn3rusq48azrfacbx5zapr.txt diff --git a/docs/public/site.webmanifest b/dist/site.webmanifest similarity index 100% rename from docs/public/site.webmanifest rename to dist/site.webmanifest diff --git a/docs/public/sitemap.xml b/dist/sitemap.xml similarity index 100% rename from docs/public/sitemap.xml rename to dist/sitemap.xml diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs deleted file mode 100644 index b1d2cdd..0000000 --- a/docs/.vitepress/config.mjs +++ /dev/null @@ -1,165 +0,0 @@ -import { defineConfig } from 'vitepress' - -export default defineConfig({ - lang: 'en-US', - title: 'Debrid Services Comparison', - description: 'Community-maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools.', - ignoreDeadLinks: true, - cleanUrls: true, - lastUpdated: true, - - markdown: { - lineNumbers: true - }, - - head: [ - ['link', { rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' }], - ['link', { rel: 'shortcut icon', href: '/favicon.ico' }], - ['link', { rel: 'apple-touch-icon', sizes: '180x180', href: '/images/apple-touch-icon.png' }], - ['meta', { name: 'theme-color', content: '#ffffff', media: '(prefers-color-scheme: light)' }], - ['meta', { name: 'theme-color', content: '#0b0b0c', media: '(prefers-color-scheme: dark)' }], - ['meta', { name: 'viewport', content: 'width=device-width, initial-scale=1.0, viewport-fit=cover' }], - ['meta', { name: 'author', content: 'Fynks' }], - ['meta', { name: 'robots', content: 'index, follow, max-image-preview:large, max-snippet:-1' }], - ['meta', { property: 'og:title', content: 'Debrid Services Comparison' }], - ['meta', { property: 'og:description', content: 'Community-maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools.' }], - ['meta', { property: 'og:type', content: 'website' }], - ['meta', { property: 'og:image', content: '/images/og.png' }], - ['meta', { name: 'twitter:card', content: 'summary_large_image' }], - ['meta', { name: 'twitter:title', content: 'Debrid Services Comparison' }], - ['meta', { name: 'twitter:description', content: 'Community-maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools.' }], - ['meta', { name: 'twitter:image', content: '/images/og.png' }] - ], - - themeConfig: { - logo: { - light: 'favicon.svg', - dark: 'favicon.svg', - alt: 'Debrid Services Comparison Logo' - }, - - search: { - provider: 'local', - options: { - detailedView: true - } - }, - - nav: [ - { text: 'Home', link: '/' }, - { text: 'Pricing', link: '/pricing' }, - { text: 'Hosts', link: '/hosts' }, - { text: 'Adult Hosts', link: '/Adult-hosts' }, - { text: 'Policies', link: '/policies' }, - { text: 'Tools', link: '/tools' } - ], - - sidebar: { - '/': [ - { - text: 'Getting Started', - items: [ - { text: 'What are Debrid Services?', link: '/#what-are-debrid-services' }, - { text: 'Support This Project', link: '/#support-this-project' }, - { text: 'Interactive Comparison', link: 'https://debridcompare.pages.dev' } - ] - }, - { - text: 'Service Comparison', - items: [ - { text: 'Pricing Comparison', link: '/pricing' }, - { text: 'Available Hosts', link: '/hosts' }, - { text: 'Adult Hosts', link: '/Adult-hosts' }, - { text: 'Policies & Legal', link: '/policies' } - ] - }, - { - text: 'Tools & Resources', - items: [ - { text: 'Tools & Community', link: '/tools' }, - { text: 'Speed Testing', link: '/tools#speed-test' } - ] - }, - { - text: 'Community', - collapsed: true, - items: [ - { text: 'Contributing', link: 'https://github.com/fynks/debrid-services-comparison/blob/main/CONTRIBUTING.md' }, - { text: 'Report Issues', link: 'https://github.com/fynks/debrid-services-comparison/issues' } - ] - } - ], - - '/pricing': [ - { - text: 'Pricing Information', - items: [ - { text: 'Overview', link: '/pricing' }, - { text: 'Detailed Pricing Analysis', link: '/pricing#detailed-pricing-and-value-analysis' }, - { text: 'Official Pricing Pages', link: '/pricing#up-to-date-pricing' } - ] - } - ], - - '/hosts': [ - { - text: 'File Hosting Services', - items: [ - { text: 'Complete Host List', link: '/hosts' }, - { text: 'Interactive Comparison', link: 'https://debridcompare.pages.dev' } - ] - } - ], - - '/Adult-hosts': [ - { - text: 'Adult Content Hosts', - items: [ - { text: 'Supported Hosts', link: '/Adult-hosts' } - ] - } - ], - - '/policies': [ - { - text: 'Service Policies', - items: [ - { text: 'Policies & Legal', link: '/policies' } - ] - } - ], - - '/tools': [ - { - text: 'Tools & Community', - items: [ - { text: 'Recommended Tools', link: '/tools#recommended-tools' }, - { text: 'Communities', link: '/tools#communities' }, - { text: 'Speed Testing', link: '/tools#speed-test' } - ] - } - ] - }, - - footer: { - message: 'Made with ❤️ by Fynks', - copyright: 'Copyright © 2025 Debrid Services Comparison' - }, - - outline: { - level: [2, 3], - label: 'On this page' - }, - - lastUpdated: { - text: 'Updated at', - formatOptions: { - dateStyle: 'short', - timeStyle: 'medium' - } - }, - socialLinks: [ - { icon: 'github', link: 'https://github.com/fynks/debrid-services-comparison' } - ] - } -}) diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js deleted file mode 100644 index fb80bc1..0000000 --- a/docs/.vitepress/theme/index.js +++ /dev/null @@ -1,145 +0,0 @@ -// https://vitepress.dev/guide/custom-theme -import { h } from 'vue' -import DefaultTheme from 'vitepress/theme' -import './style.css' - -/** @type {import('vitepress').Theme} */ -export default { - extends: DefaultTheme, - Layout: () => { - return h(DefaultTheme.Layout, null, { - // Use default VitePress layout slots - }) - }, - enhanceApp({ app, router, siteData }) { - // Performance optimization: Add image loading attributes - if (typeof window !== 'undefined') { - let observer = null; - - const setupImageOptimization = () => { - // Clean up existing observer - if (observer) { - observer.disconnect(); - } - - // Add loading="lazy" to images after mount - observer = new MutationObserver((mutations) => { - mutations.forEach((mutation) => { - mutation.addedNodes.forEach((node) => { - if (node.nodeType === 1) { // Element node - // Add loading attributes to shields.io images - const images = node.querySelectorAll?.('img[src*="img.shields.io"], img[src*="shields.io"]') || []; - images.forEach(img => { - if (!img.hasAttribute('loading')) { - img.setAttribute('loading', 'eager'); // Keep badges as eager loading - img.setAttribute('decoding', 'async'); - } - }); - - // Add loading attributes to other images - const otherImages = node.querySelectorAll?.('img:not([src*="shields.io"])') || []; - otherImages.forEach(img => { - if (!img.hasAttribute('loading')) { - img.setAttribute('loading', 'lazy'); - img.setAttribute('decoding', 'async'); - } - }); - } - }); - }); - }); - - if (document.body) { - observer.observe(document.body, { - childList: true, - subtree: true - }); - } - }; - - // Setup on initial load - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', setupImageOptimization); - } else { - setupImageOptimization(); - } - - // Clean up observer on route change and setup again - router.onAfterRouteChanged = () => { - if (observer) { - observer.disconnect(); - } - // Small delay to allow new content to render - setTimeout(setupImageOptimization, 100); - }; - - // Clean up on beforeunload - window.addEventListener('beforeunload', () => { - if (observer) { - observer.disconnect(); - } - }); - - // Table enhancements - const enhanceTables = () => { - const tables = document.querySelectorAll('.vp-doc table'); - tables.forEach(table => { - // Wrap tables for horizontal scrolling on mobile - if (!table.parentElement.classList.contains('table-wrapper')) { - const wrapper = document.createElement('div'); - wrapper.className = 'table-wrapper'; - wrapper.style.overflowX = 'auto'; - wrapper.style.webkitOverflowScrolling = 'touch'; - table.parentNode.insertBefore(wrapper, table); - wrapper.appendChild(table); - } - - // Enhance table cells with better styling based on content - const cells = table.querySelectorAll('td'); - cells.forEach(cell => { - const content = cell.textContent.trim(); - - // Style success/failure indicators - if (content === '✅' || content.toLowerCase().includes('yes')) { - cell.classList.add('cell-success'); - cell.setAttribute('aria-label', 'Supported'); - } else if (content === '❌' || content.toLowerCase().includes('no')) { - cell.classList.add('cell-danger'); - cell.setAttribute('aria-label', 'Not supported'); - } - - // Style pricing cells - if (content.includes('€') || content.includes('$')) { - cell.classList.add('cell-price'); - } - - // Style trial/free cells - if (content.toLowerCase().includes('trial') || content.toLowerCase().includes('free')) { - cell.classList.add('cell-trial'); - } - }); - }); - }; - - // Run table enhancements - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', enhanceTables); - } else { - enhanceTables(); - } - - // Re-enhance tables on route change - const originalRouteHandler = router.onAfterRouteChanged; - router.onAfterRouteChanged = () => { - if (originalRouteHandler) originalRouteHandler(); - if (observer) { - observer.disconnect(); - } - setTimeout(() => { - setupImageOptimization(); - enhanceTables(); - }, 100); - }; - } - } -} diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css deleted file mode 100644 index 778f3f5..0000000 --- a/docs/.vitepress/theme/style.css +++ /dev/null @@ -1,3 +0,0 @@ -.web-app-note{ - display: none; -} \ No newline at end of file diff --git a/docs/hosts.md b/docs/hosts.md deleted file mode 100644 index 9637ea7..0000000 --- a/docs/hosts.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: home -title: Hosts -titleTemplate: Debrid Compare -description: "Comprehensive hoster support comparison for leading debrid/multi-hoster services including file and torrent hosters." ---- diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 2c355de..0000000 --- a/docs/index.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -layout: home -title: Best Debrid Compare -description: "Community‑maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools etc." -head: - - - meta - - name: robots - content: "index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" - - - meta - - property: og:type - content: "website" - - - meta - - property: og:url - content: "https://debridcompare.pages.dev" - - - meta - - property: og:image - content: "https://debridcompare.pages.dev/images/og.png" - - - meta - - property: og:title - content: "Debrid Compare" - - - meta - - property: og:description - content: "Community‑maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools etc." - - - meta - - property: og:image:secure_url - content: "https://debridcompare.pages.dev/images/og.png" - - - meta - - property: og:image:alt - content: "Debrid Compare" - - - meta - - property: og:image:width - content: "1200" - - - meta - - property: og:image:height - content: "630" - - - meta - - property: og:image:type - content: "image/png" - - - meta - - property: og:site_name - content: "Debrid Compare" - - - meta - - property: og:locale - content: "en_US" - - - meta - - property: og:updated_time - content: "2025-09-19T00:00:00Z" - - - link - - rel: canonical - href: "https://debridcompare.pages.dev" - - - link - - rel: alternate - hreflang: "en" - href: "https://debridcompare.pages.dev" -hero: - name: "Debrid Compare" - tagline: "Community‑maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools etc." - image: - src: favicon.svg - alt: Debrid Compare Logo - actions: - - theme: brand - text: 🚀 Supported Hosts - link: /hosts - size: large - - theme: alt - text: 📚 Pricing - link: /pricing - - theme: alt - text: ⭐ GitHub - link: https://github.com/fynks/debrid-services-comparison - target: _blank -features: - - icon: ⚡ - title: Performance & Gaming - details: "Supercharge your device with performance optimization, gaming enhancements, CPU/GPU tuning, and intelligent automation." - link: /android-root-apps/#performance-tweaks-and-optimizations - - - icon: 🌐 - title: Network & Connectivity Control - details: "Master network management with firewall tools, DNS control, Wi-Fi optimization, and advanced connectivity features." - link: /android-root-apps/#network-and-connectivity - - - icon: 🛠️ - title: Root Management & Hiding - details: "Manage root access, hide root from banking apps, ensure integrity checks pass, and maintain system security." - link: /android-root-apps/#root-management - ---- diff --git a/docs/policies.md b/docs/policies.md deleted file mode 100644 index 0368aea..0000000 --- a/docs/policies.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: home -title: Policies -titleTemplate: Debrid Compare -description: "Refund, privacy, and usage policies for leading debrid/multi-hoster services." ---- \ No newline at end of file diff --git a/docs/pricing.md b/docs/pricing.md deleted file mode 100644 index 894f49b..0000000 --- a/docs/pricing.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: home -title: Pricing -titleTemplate: Debrid Compare -description: "Comprehensive pricing comparison of leading debrid/multi-hoster services including plans, costs, and value analysis." ---- diff --git a/docs/tools.md b/docs/tools.md deleted file mode 100644 index b8bc1de..0000000 --- a/docs/tools.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: home -title: Tools -titleTemplate: Debrid Compare -description: "Tools and integrations for leading debrid/multi-hoster services including browser extensions, download managers, and media center plugins." ---- \ No newline at end of file diff --git a/package.json b/package.json index 2e89b8b..74c9b37 100644 --- a/package.json +++ b/package.json @@ -1,30 +1,24 @@ { - "name": "debrid-services-comparison", - "version": "1.1.0", - "description": "Community‑maintained, up-to-date comparison of leading debrid / multi-hoster services for pricing, host coverage, policies & tools etc.", - "private": true, - "homepage": "https://awesome-android-root.org", + "name": "@fynks/debrid-service-comparison", + "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": "", "repository": { "type": "git", - "url": "https://github.com/fynks/debrid-services-comparison.git" - }, - "bugs": { - "url": "https://github.com/fynks/debrid-services-comparison/issues" + "url": "" }, "scripts": { - "docs:dev": "vitepress dev docs", - "docs:build": "scripts/build-docs.sh && vitepress build docs", - "docs:preview": "vitepress preview docs" + "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", + "build": "npm run minify:css && npm run minify:js && npm run optimize-json && workbox generateSW workbox-config.js", + "postbuild": "node scripts/replace-assets.js" }, - "devDependencies": { - "vitepress": "^1.6.4", - "terser": "^5.44.0" - }, - "keywords": [ - ], - "author": { - "name": "debrid-services-comparison", - "url": "https://debridcompare.pages.dev" - }, - "license": "MIT" + "author": "fynks", + "dependencies": { + "clean-css-cli": "^5.6.3", + "terser": "^5.44.0", + "workbox-cli": "^7.3.0" + } } \ No newline at end of file diff --git a/scripts/build-docs.sh b/scripts/build-docs.sh deleted file mode 100755 index 3e84007..0000000 --- a/scripts/build-docs.sh +++ /dev/null @@ -1,172 +0,0 @@ -#!/bin/bash - -# Exit on any error and treat unset variables as errors -set -euo pipefail - -# Colors for output -readonly GREEN='\033[0;32m' -readonly NC='\033[0m' # No Color -readonly RED='\033[0;31m' -readonly BLUE='\033[0;34m' -readonly YELLOW='\033[1;33m' - -# Script info -readonly SCRIPT_NAME="$(basename "$0")" -readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# Error handling function with line number -handle_error() { - local line_number="${2:-unknown}" - echo -e "${RED}Error on line ${line_number}: $1${NC}" >&2 - exit 1 -} - -# Trap errors and show line number -trap 'handle_error "Script failed" ${LINENO}' ERR - -# Logging functions -log_info() { - echo -e "${GREEN}✓ $1${NC}" -} - -log_warn() { - echo -e "${YELLOW}⚠ $1${NC}" -} - -log_error() { - echo -e "${RED}✗ $1${NC}" >&2 -} - -echo -e "${GREEN}Starting build-docs process...${NC}" - -# 1. Check required files and directories -[ ! -d "docs" ] && handle_error "'docs' directory not found." -[ ! -f "README.md" ] && handle_error "'README.md' not found." - -# 2. Function to extract div content with specific class from README.md -extract_div_content() { - local class_name="$1" - local start_line end_line - - # Find the start line of the div with the specified class - start_line=$(grep -n "]*class=\"${class_name}\"" README.md | head -1 | cut -d: -f1) - - if [ -z "$start_line" ]; then - log_warn "No div with class '${class_name}' found in README.md" - return 1 - fi - - # Find the corresponding closing
after the start line - end_line=$(tail -n +$((start_line + 1)) README.md | grep -n "" | head -1 | cut -d: -f1) - - if [ -z "$end_line" ]; then - log_warn "No closing found for class '${class_name}'" - return 1 - fi - - # Calculate the actual end line number - end_line=$((start_line + end_line)) - - # Extract the content between start and end lines - sed -n "${start_line},${end_line}p" README.md -} - -# 3. Function to copy div content to docs file -copy_div_to_docs() { - local class_name="$1" - local target_file="$2" - local content - - content=$(extract_div_content "$class_name") - - if [ $? -eq 0 ] && [ -n "$content" ]; then - if [ -f "$target_file" ]; then - # Append to existing file with separator - { - cat "$target_file" - echo "" - echo "$content" - } > "${target_file}.tmp" && mv "${target_file}.tmp" "$target_file" || handle_error "Failed appending content to $target_file" - log_info "Appended '$class_name' div content to $target_file" - else - # Create new file with content - echo "$content" > "$target_file" || handle_error "Failed creating $target_file" - log_info "Created $target_file with '$class_name' div content" - fi - - # Adjust relative links for docs directory structure - adjust_links_for_docs "$target_file" - else - log_warn "Failed to extract content for class '$class_name'" - fi -} - -# 4. Function to adjust links for docs directory structure -adjust_links_for_docs() { - local file="$1" - - # Adjust relative links (skip absolute URLs) - sed -i '/http[s]*:\/\/\//! s|\.\/docs/|\.\/|g' "$file" || handle_error "Failed adjusting links in $file" - - # Adjust image paths - sed -i 's|docs/public/images/|public/images/|g' "$file" || handle_error "Failed adjusting image paths in $file" - sed -i 's|\./dist/|public/images/|g' "$file" || handle_error "Failed adjusting dist image paths in $file" - - log_info "Adjusted links and image paths in $file" -} - -# 5. Function to create pricing.md with support section first, then pricing section -create_pricing_with_support() { - local target_file="docs/pricing.md" - local support_content pricing_content - - # Extract both sections - support_content=$(extract_div_content "support") - pricing_content=$(extract_div_content "pricing") - - if [ $? -eq 0 ] && [ -n "$support_content" ] && [ -n "$pricing_content" ]; then - # Create file with frontmatter + support + pricing - { - # Keep the original frontmatter - head -7 "$target_file" - echo "" - echo "$support_content" - echo "" - echo "$pricing_content" - } > "${target_file}.tmp" && mv "${target_file}.tmp" "$target_file" || handle_error "Failed creating $target_file with support and pricing content" - log_info "Created $target_file with support section before pricing section" - adjust_links_for_docs "$target_file" - else - log_warn "Failed to extract support or pricing content" - fi -} - -# Copy div sections to respective docs files -create_pricing_with_support -copy_div_to_docs "hosts" "docs/hosts.md" -copy_div_to_docs "policies" "docs/policies.md" -copy_div_to_docs "tools" "docs/tools.md" - -# 6. Append speedtest content to the bottom of tools.md -speedtest_content=$(extract_div_content "speedtest") -if [ $? -eq 0 ] && [ -n "$speedtest_content" ]; then - { - cat "docs/tools.md" - echo "" - echo "---" - echo "" - echo "$speedtest_content" - } > "docs/tools.md.tmp" && mv "docs/tools.md.tmp" "docs/tools.md" || handle_error "Failed appending speedtest content to docs/tools.md" - log_info "Appended speedtest content to bottom of docs/tools.md" - adjust_links_for_docs "docs/tools.md" -else - log_warn "Failed to extract speedtest content" -fi - -# 7. Remove standalone speedtest.md file if it exists -if [ -f "docs/speedtest.md" ]; then - rm "docs/speedtest.md" || handle_error "Failed removing docs/speedtest.md" - log_info "Removed standalone docs/speedtest.md file" -fi - -echo -e "${GREEN}Documentation build process completed successfully.${NC}" diff --git a/scripts/json-optimizer.sh b/scripts/json-optimizer.sh new file mode 100755 index 0000000..ab25304 --- /dev/null +++ b/scripts/json-optimizer.sh @@ -0,0 +1,191 @@ +#!/bin/bash + +# JSON Optimizer Script - Converts host data to indexed format +# 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' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored output +print_status() { + echo -e "${BLUE}[INFO]${NC} $1" +} + +print_success() { + echo -e "${GREEN}[SUCCESS]${NC} $1" +} + +print_warning() { + echo -e "${YELLOW}[WARNING]${NC} $1" +} + +print_error() { + echo -e "${RED}[ERROR]${NC} $1" +} + +# Default values +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +DEFAULT_INPUT_DIR="." +DEFAULT_OUTPUT_DIR="." + +# Check if at least one argument is provided +if [ $# -eq 0 ]; then + print_error "No input file specified" + echo "Usage: $0 [output-file.json]" + echo "Examples:" + echo " $0 file-hosts.json" + echo " $0 ./json/adult-hosts.json" + echo " $0 pricing.json pricing-optimized.json" + exit 1 +fi + +# Get input file +INPUT_FILE="$1" + +# Generate output filename if not provided +if [ $# -eq 2 ]; then + OUTPUT_FILE="$2" +else + # Extract filename without path and extension + FILENAME=$(basename "$INPUT_FILE") + NAME="${FILENAME%.*}" + EXT="${FILENAME##*.}" + OUTPUT_FILE="${NAME}-optimized.${EXT}" +fi + +# Check if input file exists +if [ ! -f "$INPUT_FILE" ]; then + print_error "Input file '$INPUT_FILE' not found" + exit 1 +fi + +# Create output directory if it doesn't exist +OUTPUT_DIR=$(dirname "$OUTPUT_FILE") +if [ ! -d "$OUTPUT_DIR" ] && [ "$OUTPUT_DIR" != "." ]; then + print_status "Creating output directory: $OUTPUT_DIR" + mkdir -p "$OUTPUT_DIR" +fi + +print_status "Processing: $INPUT_FILE" +print_status "Output will be saved to: $OUTPUT_FILE" + +# Python script to handle the conversion +python3 -c " +import json +import sys +import os +from collections import defaultdict + +def convert_to_indexed_format(input_file, output_file): + try: + # Read the input JSON + print('Reading input file...') + with open(input_file, 'r') as f: + data = json.load(f) + + host_count = len(data) + print(f'Loaded {host_count:,} hosts') + + # Handle empty data + if not data: + print('Warning: Input file is empty') + output_data = {'services': [], 'supported': {}} + with open(output_file, 'w') as f: + json.dump(output_data, f, separators=(',', ':')) + return True + + # Extract all services (keys from entries) + all_services = set() + for host_data in data.values(): + all_services.update(host_data.keys()) + + services = sorted(list(all_services)) + service_count = len(services) + print(f'Found {service_count} services: {\", \".join(services[:5])}{\"...\" if service_count > 5 else \"\"}') + + # Create service to index mapping + service_to_index = {service: idx for idx, service in enumerate(services)} + + # Convert data to indexed format + print('Converting data to indexed format...') + supported = {} + total_support_instances = 0 + + for host, host_data in data.items(): + # 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).lower() == 'yes' + ] + supported[host] = sorted(supported_indices) + total_support_instances += len(supported_indices) + + # Create output structure + output_data = { + 'services': services, + 'supported': supported + } + + # Write optimized JSON (compact format) + print('Writing optimized JSON...') + with open(output_file, 'w') as f: + json.dump(output_data, f, separators=(',', ':')) + + # Get file sizes for comparison + original_size = os.path.getsize(input_file) + new_size = os.path.getsize(output_file) + reduction = ((original_size - new_size) / original_size) * 100 if original_size > 0 else 0 + + print('✅ Conversion successful!') + print(f'📁 Original size: {original_size:,} bytes') + print(f'📁 New size: {new_size:,} bytes') + print(f'📉 Size reduction: {reduction:.1f}%') + print(f'💾 Output saved to: {output_file}') + + # Show statistics + avg_support_per_host = total_support_instances / host_count if host_count > 0 else 0 + + print('📈 Statistics:') + print(f' - Hosts: {host_count:,}') + print(f' - Services: {service_count:,}') + print(f' - Total support instances: {total_support_instances:,}') + print(f' - Average support per host: {avg_support_per_host:.1f}') + + return True + + except json.JSONDecodeError as e: + print(f'❌ JSON parsing error: {str(e)}') + return False + except Exception as e: + print(f'❌ Error during conversion: {str(e)}') + return False + +# Run the conversion +success = convert_to_indexed_format('$INPUT_FILE', '$OUTPUT_FILE') + +if not success: + sys.exit(1) +" || { + print_error "Python conversion failed. Please ensure Python 3 is installed." + exit 1 +} + +print_success "Conversion completed successfully!" + +# Optional: Show file size comparison in bash as well +if command -v stat >/dev/null 2>&1; then + ORIGINAL_SIZE=$(stat -f%z "$INPUT_FILE" 2>/dev/null || stat -c%s "$INPUT_FILE" 2>/dev/null) + NEW_SIZE=$(stat -f%z "$OUTPUT_FILE" 2>/dev/null || stat -c%s "$OUTPUT_FILE" 2>/dev/null) + + if [ $? -eq 0 ] && [ $ORIGINAL_SIZE -gt 0 ]; then + REDUCTION_PERCENTAGE=$(( (ORIGINAL_SIZE - NEW_SIZE) * 100 / ORIGINAL_SIZE )) + print_status "Final size reduction: ${REDUCTION_PERCENTAGE}%" + fi +fi \ No newline at end of file diff --git a/scripts/replace-assets.js b/scripts/replace-assets.js new file mode 100644 index 0000000..0185bd9 --- /dev/null +++ b/scripts/replace-assets.js @@ -0,0 +1,158 @@ +const fs = require('fs'); +const path = require('path'); + +// Improved script with better error handling and focused head tag processing +function replaceAssets() { + const file = path.resolve(__dirname, '..', 'dist', 'index.html'); + + // Check if dist/index.html exists + if (!fs.existsSync(file)) { + console.error('Error: dist/index.html not found'); + process.exit(1); + } + + try { + let html = fs.readFileSync(file, 'utf8'); + console.log('Original HTML loaded successfully'); + + // Extract the head section + const headMatch = html.match(/(]*>)([\s\S]*?)(<\/head>)/i); + if (!headMatch) { + console.error('Error: Could not find tag in HTML'); + process.exit(1); + } + + const [fullHeadTag, headStart, headContent, headEnd] = headMatch; + console.log('Head section found, processing assets...'); + + let updatedHeadContent = headContent; + let cssReplaced = 0; + let jsReplaced = 0; + + // Compute simple query hash for cache-busting if files exist + const cssMinPath = path.resolve(__dirname, '..', 'dist', 'css', 'styles-min.css'); + const jsMinPath = path.resolve(__dirname, '..', 'dist', 'js', 'app-min.js'); + const safeHash = (p) => { + try { + const buf = fs.readFileSync(p); + let hash = 0; + for (let i = 0; i < buf.length; i += Math.ceil(buf.length / 128) || 1) { + hash = (hash * 31 + buf[i]) >>> 0; + } + return hash.toString(36); + } catch { + return null; + } + }; + 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"'; + + // Replace CSS links in head - more flexible patterns + const cssPatterns = [ + /href=["']\.\/css\/styles\.css["']/g, + /href=["']css\/styles\.css["']/g, + /href=["'][^"']*\/styles\.css["']/g + ]; + + 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}"`); + } + } + + // 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 + ]; + + 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(/(]*>)([\s\S]*?)(<\/body>)/i); + if (bodyMatch) { + const [fullBodyTag, bodyStart, bodyContent, bodyEnd] = bodyMatch; + let updatedBodyContent = bodyContent; + + 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) { + html = html.replace(fullBodyTag, bodyStart + updatedBodyContent + bodyEnd); + } + } + + // Reconstruct the HTML with updated head + const updatedHeadTag = headStart + updatedHeadContent + headEnd; + html = html.replace(fullHeadTag, updatedHeadTag); + + // Log results + console.log(`CSS replacements made: ${cssReplaced}`); + console.log(`JS replacements made: ${jsReplaced}`); + + if (cssReplaced === 0 && jsReplaced === 0) { + console.warn('Warning: No asset links were found to replace'); + console.log('Checking for existing patterns in head section:'); + + // Debug: show what's actually in the head + const linkTags = headContent.match(/]*>/gi) || []; + const scriptTags = headContent.match(/]*>/gi) || []; + + console.log('Found link tags:', linkTags); + console.log('Found script tags:', scriptTags); + } else { + console.log('Asset links replaced successfully'); + } + + // Write the updated HTML back + fs.writeFileSync(file, html, 'utf8'); + console.log('Updated dist/index.html saved'); + + // Verify the minified files exist + const cssFile = path.resolve(__dirname, '..', 'dist', 'css', 'styles-min.css'); + const jsFile = path.resolve(__dirname, '..', 'dist', 'js', 'app-min.js'); + + if (!fs.existsSync(cssFile)) { + console.warn('Warning: styles-min.css not found - CSS minification may have failed'); + } else { + console.log('✓ styles-min.css exists'); + } + + if (!fs.existsSync(jsFile)) { + console.warn('Warning: app-min.js not found - JS minification may have failed'); + } else { + console.log('✓ app-min.js exists'); + } + + } catch (error) { + console.error('Error processing HTML file:', error.message); + process.exit(1); + } +} + +replaceAssets(); \ No newline at end of file