stream-fusion-old/stream_fusion/static/index.html
2025-05-27 16:16:59 +02:00

931 lines
66 KiB
HTML

<!DOCTYPE html>
<html lang="en" class="h-full">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.14.0/Sortable.min.js"></script>
<script>
const secretKey = "{{ session_key }}";
</script>
<title>SteamFusion</title>
<style>
.multipleSelection {
width: 150px;
}
.selectBox {
position: relative;
}
.overSelect {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
</style>
</head>
<body class="h-full bg-fixed bg-cover bg-center bg-no-repeat"
style="background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/static/stremio-bg.jpg');">
<div class="container mx-auto px-4 min-h-screen flex items-center justify-center">
<form
class="bg-white bg-opacity-80 dark:bg-gray-900 dark:bg-opacity-90 rounded-lg shadow-xl p-8 max-w-2xl mx-auto">
<div class="flex justify-center mb-8">
<img src="/static/logo-stream-fusion.png" alt="logo" class="w-[150px] h-[150px]">
</div>
<div class="space-y-6">
<p class="dark:text-white text-center">FRENCH Optimized - Stremio Addon</p>
<h1 class="text-base font-semibold leading-7 text-gray-900 dark:text-white"
style="text-align: center;font-size: 1.3rem;">
Stream-Fusion</h1>
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="mt-10 flex justify-center">
<div class="w-full max-w-md">
<div class="grid grid-cols-1 gap-y-8">
<div>
<label for="ApiKey" class="block text-sm font-medium leading-6 text-red-600 text-center">API Key</label>
<input type="text" name="ApiKey" id="ApiKey"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
<div id="apiKeyError" class="hidden mt-2 text-sm text-center text-red-600">
<p>API Key manquante ou invalide</p>
</div>
</div>
</div>
<div class="mt-4 text-center">
<p class="text-sm text-gray-200 bg-gray-800 rounded-lg p-3 shadow-md">
<span class="font-bold text-white">Comment obtenir votre API Key ?</span><br>
1. Ajoutez le Bot Telegram : <a href="https://t.me/Stremiofr_bot" target="_blank" class="text-blue-400 hover:text-blue-300 underline font-medium">t.me/Stremiofr_bot</a><br>
2. Envoyez la commande <span class="bg-blue-900 text-white px-2 py-1 rounded font-mono">/generate</span>
</p>
</div>
</div>
</div>
</div>
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Streaming Settings</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Configure your streaming
preferences here.</p>
</div>
<div class="mt-10 space-y-10">
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_rd" name="debrid_rd" type="checkbox"
data-unique-account="{{ rd_unique_account|lower }}"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_rd" class="font-medium text-white">Enable Real-Debrid Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate Real-Débrid service for streaming.
</p>
</div>
<!-- RealDebrid Token Info -->
<div id="rd_token_info_div" class="mt-4 space-y-3" style="display: none;">
<p class="text-sm text-gray-400">Real-Debrid nécessite une authentification OAuth.</p>
<button type="button" id="rd-auth-button" onclick="startRealDebridAuth()"
class="rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600 transition ease-in-out duration-150">
S'authentifier avec Real-Debrid
</button>
<div id="auth-instructions" style="display: none;" class="text-sm text-gray-300">
<p>Veuillez visiter <a id="verification-url" href="#" target="_blank"
class="font-medium text-indigo-400 hover:text-indigo-300">l'URL de vérification</a>
et entrer le code: <strong id="user-code" class="text-white"></strong></p>
</div>
<input type="hidden" id="rd_token_info" name="rd_token_info">
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_ad" name="debrid_ad" type="checkbox"
data-unique-account="{{ ad_unique_account|lower }}"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_ad" class="font-medium text-white">Enable AllDebrid Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate AllDebrid service for streaming.
</p>
</div>
<!-- AllDebrid Token Info -->
<div id="ad_token_info_div" class="mt-4 space-y-3" style="display: none;">
<p class="text-sm text-gray-400">AllDebrid nécessite une authentification OAuth.</p>
<button type="button" id="ad-auth-button" onclick="startADAuth()"
class="rounded-md bg-orange-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-orange-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-600 transition ease-in-out duration-150">
Connect with AllDebrid
</button>
<div id="ad-auth-instructions" style="display: none;" class="text-sm text-gray-300">
<p>Please visit <a id="ad-verification-url" href="#" target="_blank"
class="font-medium text-orange-400 hover:text-orange-300">verification URL</a>
and enter the code: <strong id="ad-user-code" class="text-white"></strong></p>
</div>
<input type="hidden" id="ad_token_info" name="ad_token_info">
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_pm" name="debrid_pm" type="checkbox"
data-unique-account="{{ pm_unique_account|lower }}"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_pm" class="font-medium text-white">Enable Premiumize Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate Premiumize service for streaming.</p>
</div>
<!-- Premiumize Token Info -->
<div id="pm_token_info_div" class="mt-2" style="display: none;">
<label for="pm_token_info" class="block text-sm font-medium leading-6 text-white">Premiumize
API Key</label>
<input type="text" name="pm_token_info" id="pm_token_info"
placeholder="Votre clé API Premiumize"
class="mt-1 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
<p class="mt-1 text-xs text-gray-400">Trouvez votre clé API dans les paramètres de votre compte
Premiumize.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_tb" name="debrid_tb" type="checkbox"
data-unique-account="{{ tb_unique_account|lower }}"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_tb" class="font-medium text-white">Enable TorBox Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate TorBox service for streaming.
</p>
</div>
<!-- TorBox Token Info -->
<div id="tb_token_info_div" class="mt-2" style="display: none;">
<label for="tb_token_info" class="block text-sm font-medium leading-6 text-white">TorBox API
Key</label>
<input type="text" name="tb_token_info" id="tb_token_info" placeholder="Votre clé API TorBox"
class="mt-1 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
<p class="mt-1 text-xs text-gray-400">Disponible dans les paramètres de votre compte TorBox.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_dl" name="debrid_dl" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_dl" class="font-medium text-white">Enable Debrid-Link Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate Debrid-Link service for streaming.</p>
</div>
</div>
<div id="debridlink_api_key_div" class="mt-2 hidden">
<label for="debridlink_api_key" class="block text-sm font-medium leading-6 text-white">Debrid-Link API Key</label>
<input type="text" name="debridlink_api_key" id="debridlink_api_key"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="Enter your Debrid-Link API Key">
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_ed" name="debrid_ed" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_ed" class="font-medium text-white">Enable EasyDebrid Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate EasyDebrid service for streaming.</p>
</div>
</div>
<div id="easydebrid_api_key_div" class="mt-2 hidden">
<label for="easydebrid_api_key" class="block text-sm font-medium leading-6 text-white">EasyDebrid API Key</label>
<input type="text" name="easydebrid_api_key" id="easydebrid_api_key"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="Enter your EasyDebrid API Key">
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_oc" name="debrid_oc" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_oc" class="font-medium text-white">Enable Offcloud Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate Offcloud service for streaming.</p>
</div>
</div>
<div id="offcloud_credentials_div" class="mt-2 hidden">
<label for="offcloud_credentials" class="block text-sm font-medium leading-6 text-white">Offcloud Credentials (email:password)</label>
<input type="text" name="offcloud_credentials" id="offcloud_credentials"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="Enter your Offcloud email:password">
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_pk" name="debrid_pk" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="debrid_pk" class="font-medium text-white">Enable PikPak Service</label>
<p class="text-gray-500 dark:text-gray-300">Activate PikPak service for streaming.</p>
</div>
</div>
<div id="pikpak_credentials_div" class="mt-2 hidden">
<label for="pikpak_credentials" class="block text-sm font-medium leading-6 text-white">PikPak Credentials (email:password)</label>
<input type="text" name="pikpak_credentials" id="pikpak_credentials"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="Enter your PikPak email:password">
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="torrenting" name="torrenting" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="torrenting" class="font-medium text-white">Enable Torrenting <span
class="text-red-500">(Risky)</span></label>
<p class="text-gray-500 dark:text-gray-300">Activate direct torrent streaming. <span
class="text-red-500">This may be illegal in
some countries. Use at your own risk.</span></p>
</div>
</div>
</div>
</div>
<!-- StremThru Section -->
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">StremThru Settings</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Configure StremThru as an optional interface.</p>
</div>
<div class="mt-10 space-y-10">
<!-- Enable StremThru Checkbox -->
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="stremthru_enabled" name="stremthru_enabled" type="checkbox" class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600" onchange="toggleStremThruFields()">
</div>
<div class="text-sm leading-6">
<label for="stremthru_enabled" class="font-medium text-white">Enable StremThru</label>
<p class="text-gray-500 dark:text-gray-300">Use StremThru to manage debrid services.</p>
</div>
</div>
<!-- StremThru URL Input -->
<div id="stremthru_url_div" class="hidden">
<label for="stremthru_url" class="block text-sm font-medium leading-6 text-white">StremThru URL</label>
<input type="text" name="stremthru_url" id="stremthru_url"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="https://stremthru.13377001.xyz/">
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">Enter the URL of your StremThru instance.</p>
</div>
<!-- StremThru Store Auth Input -->
<div id="stremthru_auth_div" class="hidden">
<label for="stremthru_store_auth" class="block text-sm font-medium leading-6 text-white">StremThru Store Authorization (Optional)</label>
<input type="text" name="stremthru_store_auth" id="stremthru_store_auth"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="Optional global auth key">
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">Global key if required by your StremThru instance.</p>
</div>
</div>
</div>
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Torrent Providers</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Configure your torrent provider
settings here.</p>
</div>
<div class="mt-10 space-y-10">
{% if jackett_enable %}
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="jackett" name="jackett" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="jackett" class="font-medium text-white">Enable Jackett</label>
<p class="text-gray-500 dark:text-gray-300">Use Jackett for more comprehensive results.
</p>
</div>
</div>
{% endif %}
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="cache" name="cache" type="checkbox" checked
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="cache" class="font-medium text-white">Enable Public Caching</label>
<p class="text-gray-500 dark:text-gray-300">Activate public caching for faster search
results.</p>
<p class="text-gray-500 dark:text-gray-300"><span
class="font-bold text-red-600 dark:text-red-500">The cache server are the
historical one from
stremio-jackett app, only public torrent are cached on it</span></p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="zilean" name="zilean" type="checkbox" checked
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="zilean" class="font-medium text-white">Enable Zilean API</label>
<p class="text-gray-500 dark:text-gray-300">Use Zilean's API for DMM hashlist scraping
to find more results.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="yggflix" name="yggflix" type="checkbox"
data-unique-account="{{ ygg_unique_account|lower }}"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="yggflix" class="font-medium text-white">Enable YggTorrent API</label>
<p class="text-gray-500 dark:text-gray-300">Use Yggtorrent API and internal cf bypass
to find more results.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="sharewood" name="sharewood" type="checkbox"
data-unique-account="{{ sharewood_unique_account|lower }}"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="updateProviderFields()">
</div>
<div class="text-sm leading-6">
<label for="sharewood" class="font-medium text-white">Enable Sharewood API</label>
<p class="text-gray-500 dark:text-gray-300">Use Sharewood API
to find more results.</p>
<p class="text-gray-500 dark:text-gray-300"><span
class="font-bold text-red-600 dark:text-red-500">Warning: The Sharewood API are
not stable and very limited,
you may prefere to disable it to save time on search</span></p>
</div>
</div>
</div>
</div>
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Debrid Custom Config</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Customize your debrid service
settings here.</p>
</div>
<div class="mt-10 space-y-10">
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="debrid_order" name="debrid_order" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600"
onchange="toggleDebridOrderList()">
</div>
<div class="text-sm leading-6">
<label for="debrid_order" class="font-medium text-white">Customize Debrid Service
Order</label>
<p class="text-gray-500 dark:text-gray-300">
Set the priority order for streaming services. The cache of each debrid service will
be checked in this order.
</p>
<ul id="debridOrderList" class="mt-4 space-y-2 hidden">
</ul>
</div>
</div>
<div class="relative flex flex-col gap-y-3">
<div class="text-sm leading-6">
<label class="font-medium text-white">Debrid Service Downloader</label>
<p class="text-gray-500 dark:text-gray-300">
Select which debrid service to use for downloading torrents.
</p>
</div>
<div id="debridDownloaderOptions" class="mt-2 space-y-2">
</div>
</div>
</div>
</div>
{% if not rd_unique_account %}
<div id="rd_debrid-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Real-Debrid Configuration</h2>
</div>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="sm:col-span-3">
<button id="rd-auth-button" onclick="startRealDebridAuth()"
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
S'authentifier avec Real-Debrid
</button>
<div id="auth-instructions" class="mt-2 text-sm text-gray-600 dark:text-gray-400"
style="display: none;">
Veuillez vous rendre sur <a id="verification-url"
class="text-blue-500 hover:underline" target="_blank"></a>
: Votre user code est : <span id="user-code"></span>
</div>
<div id="auth-status" class="mt-2 text-sm text-green-600 dark:text-green-400"
style="display: none;">
Authentification réussie !
</div>
</div>
<div class="sm:col-span-3">
<textarea id="rd_token_info" rows="4"
class="block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
readonly></textarea>
</div>
</div>
</div>
</div>
{% endif %}
{% if not ad_unique_account %}
<div id="ad_debrid-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">AllDebrid Configuration</h2>
</div>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="sm:col-span-3">
<button id="ad-auth-button" onclick="startADAuth()"
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
S'authentifier avec AllDebrid
</button>
<div id="ad-auth-instructions" class="mt-2 text-sm text-gray-600 dark:text-gray-400"
style="display: none;">
Veuillez entrer ce code PIN sur le site AllDebrid : <span
id="ad-user-code"></span><br>
Visitez <a id="ad-verification-url" class="text-blue-500 hover:underline"
target="_blank"></a>
</div>
<div id="ad-auth-status" class="mt-2 text-sm text-green-600 dark:text-green-400"
style="display: none;">
Authentification réussie !
</div>
</div>
<div class="sm:col-span-3">
<textarea id="ad_token_info" rows="2"
class="block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6 p-2"
readonly></textarea>
</div>
</div>
</div>
</div>
{% endif %}
<div id="tb_debrid-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Torbox Configuration</h2>
</div>
<div class="mt-6 space-y-6">
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="tb_usenet" name="tb_usenet" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="tb_usenet" class="font-medium text-white">Use Usenets</label>
<p class="text-gray-500 dark:text-gray-300">Enable usenet search and usenets
download functionality.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="tb_search" name="tb_search" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="tb_search" class="font-medium text-white">Use TorBox Public Torrent
Search Engine</label>
<p class="text-gray-500 dark:text-gray-300">Enable public torrent search
functionality.</p>
</div>
</div>
</div>
</div>
</div>
{% if not pm_unique_account %}
<div id="pm_debrid-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Premiumize Configuration</h2>
</div>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="col-span-full">
<label for="pm_token_info" class="block text-sm font-medium leading-6 text-white">Premiumize Token</label>
<div class="mt-2">
<input type="text" name="pm_token_info" id="pm_token_info"
class="block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
</div>
</div>
</div>
</div>
{% endif %}
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Catalogs Providers</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Configure your catalogs
preferences here.</p>
</div>
<div class="mt-10 space-y-10">
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="ctg_yggflix" name="ctg_yggflix" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="ctg_yggflix" class="font-medium text-white">Enable Yggflix Catalogs</label>
<p class="text-gray-500 dark:text-gray-300">Activate yggflix catalogs for discovers
contents.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="ctg_yggtorrent" name="ctg_yggtorrent" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="ctg_yggtorrent" class="font-medium text-white">Enable Yggtorrent
Catalogs</label>
<p class="text-gray-500 dark:text-gray-300">Activate yggtorrent catalogs for discovers
contents.</p>
</div>
</div>
</div>
</div>
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Metadata Provider</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Configure your metadata provider
settings here.</p>
</div>
<div class="mt-10 space-y-10">
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="tmdb" name="metadata_provider" type="radio" value="tmdb" checked
class="h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="tmdb" class="font-medium text-white">Use TMDB</label>
<p class="text-gray-500 dark:text-gray-300">Use TMDB for more accurate metadata in
different languages.</p>
</div>
</div>
<div class="relative flex gap-x-3">
<div class="flex h-6 items-center">
<input id="cinemeta" name="metadata_provider" type="radio" value="cinemeta"
class="h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600">
</div>
<div class="text-sm leading-6">
<label for="cinemeta" class="font-medium text-white">Use Cinemeta</label>
<p class="text-gray-500 dark:text-gray-300">Use Cinemeta for simple metadata.</p>
</div>
</div>
</div>
</div>
<div id="cache-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Public Cache Configuration</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Enter your Public Cache URL
information here.</p>
</div>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="sm:col-span-4">
<label for="cacheUrl"
class="block text-sm font-medium leading-6 text-white text-white">Public Cache
URL</label>
<input type="text" name="cacheUrl" id="cacheUrl"
value="https://stremio-jackett-cacher.elfhosted.com/"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
</div>
</div>
</div>
{% if not sharewood_unique_account %}
<div id="sharewood-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Sharewood Configuration</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Enter your Sharewood passkey
here.</p>
</div>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="sm:col-span-4">
<label for="sharewoodPasskey"
class="block text-sm font-medium leading-6 text-white text-white">Passkey</label>
<input type="text" name="sharewoodPasskey" id="sharewoodPasskey"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
</div>
</div>
</div>
{% endif %}
{% if not ygg_unique_account %}
<div id="ygg-fields" style="display: none;">
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">YggTorrent Login</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Enter your YggTorrent account
information here.</p>
</div>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="sm:col-span-4">
<label for="yggPasskey"
class="block text-sm font-medium leading-6 text-white">YggTorrent PassKey</label>
<input type="text" name="yggPasskey" id="yggPasskey"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
</div>
</div>
</div>
{% endif %}
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<div class="flex flex-col items-center">
<h2 class="text-white font-semibold leading-7">Filtering and Sorting</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Set up your filtering parameters
and sorting preferences here.</p>
</div>
<div class="mt-10 space-y-10">
<fieldset>
<legend class="text-sm font-semibold leading-6 text-white">Sorting Options</legend>
<div class="mt-6 space-y-6">
<div class="flex items-center gap-x-3">
<input id="quality" name="sorting" type="radio" checked
class="h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="quality" class="block text-sm font-medium leading-6 text-white">Get the
best
quality on top</label>
</div>
<div class="flex items-center gap-x-3">
<input id="sizedesc" name="sorting" type="radio"
class="h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="sizedesc" class="block text-sm font-medium leading-6 text-white">Filter
results by
size descending</label>
</div>
<div class="flex items-center gap-x-3">
<input id="sizeasc" name="sorting" type="radio"
class="h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="sizeasc" class="block text-sm font-medium leading-6 text-white">Filter
results by
size ascending</label>
</div>
<div class="flex items-center gap-x-3">
<input id="qualitythensize" name="sorting" type="radio"
class="h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="qualitythensize"
class="block text-sm font-medium leading-6 text-white">Filter
results by quality then size descending</label>
</div>
</div>
</fieldset>
<fieldset>
<legend class="text-sm font-semibold leading-6 text-white">Quality Exclusion</legend>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Check qualities that you
want to exclude</p>
<div class="mt-6 space-y-6">
<div class="flex items-center gap-x-3">
<input id="cam" name="cam" type="checkbox" checked
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="cam" class="block text-sm font-medium leading-6 text-white">Exclude CAM
quality</label>
</div>
<div class="flex items-center gap-x-3">
<input id="hevc" name="hevc" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="hevc" class="block text-sm font-medium leading-6 text-white">Exclude
HEVC
(x265, H265, HEVC codec) quality</label>
</div>
<!-- <div class="flex items-center gap-x-3">
<input id="exclude_tc" name="exclude_tc" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="exclude_tc" class="block text-sm font-medium leading-6 text-white">Exclude TC
(TeleCine) quality</label>
</div>
<div class="flex items-center gap-x-3">
<input id="exclude_scr" name="exclude_scr" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="exclude_scr" class="block text-sm font-medium leading-6 text-white">Exclude SCR
(Screener) quality</label>
</div> -->
<div class="flex items-center gap-x-3">
<input id="rips" name="rips" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="rips" class="block text-sm font-medium leading-6 text-white">Exclude RIP
(HDRip,
WEBRip, etc.) quality</label>
</div>
</div>
</fieldset>
<fieldset>
<legend class="text-sm font-semibold leading-6 text-white">Resolution Exclusion</legend>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Check resolution that you
want to exclude</p>
<div class="mt-6 space-y-6">
<div class="flex items-center gap-x-3">
<input id="2160p" name="2160p" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="2160p" class="block text-sm font-medium leading-6 text-white">Exclude
2160p
resolution</label>
</div>
<div class="flex items-center gap-x-3">
<input id="1080p" name="1080p" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="1080p" class="block text-sm font-medium leading-6 text-white">Exclude
1080p
resolution</label>
</div>
<div class="flex items-center gap-x-3">
<input id="720p" name="720p" type="checkbox"
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="720p" class="block text-sm font-medium leading-6 text-white">Exclude
720p
resolution</label>
</div>
<div class="flex items-center gap-x-3">
<input id="480p" name="480p" type="checkbox" checked
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="480p" class="block text-sm font-medium leading-6 text-white">Exclude
480p
resolution</label>
</div>
<div class="flex items-center gap-x-3">
<input id="unknown" name="unknown" type="checkbox" checked
class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<label for="unknown" class="block text-sm font-medium leading-6 text-white">Exclude
unknown
resolution from title</label>
</div>
</div>
</fieldset>
<div>
<label class="block text-sm font-medium leading-6 text-white">Choose your languages</label>
<div class="mt-2">
<div id="languageCheckBoxes" class="flex flex-wrap gap-4">
<label class="inline-flex items-center">
<input id="en" type="checkbox" name="language" value="en"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">English</span>
</label>
<label class="inline-flex items-center">
<input id="fr" type="checkbox" name="language" value="fr" checked
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Français</span>
</label>
<!-- <label class="inline-flex items-center">
<input id="es" type="checkbox" name="language" value="es"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Español</span>
</label>
<label class="inline-flex items-center">
<input id="de" type="checkbox" name="language" value="de"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">German</span>
</label>
<label class="inline-flex items-center">
<input id="it" type="checkbox" name="language" value="it"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Italiano</span>
</label>
<label class="inline-flex items-center">
<input id="pt" type="checkbox" name="language" value="pt"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Português</span>
</label>
<label class="inline-flex items-center">
<input id="ru" type="checkbox" name="language" value="ru"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Русский</span>
</label>
<label class="inline-flex items-center">
<input id="in" type="checkbox" name="language" value="in"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Hindi</span>
</label>
<label class="inline-flex items-center">
<input id="nl" type="checkbox" name="language" value="nl"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Dutch</span>
</label>
<label class="inline-flex items-center">
<input id="hu" type="checkbox" name="language" value="hu"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Hungarian</span>
</label>
<label class="inline-flex items-center">
<input id="la" type="checkbox" name="language" value="la"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Latin</span>
</label> -->
<label class="inline-flex items-center">
<input id="multi" type="checkbox" name="language" value="multi" checked
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">MULTi</span>
</label>
<label class="inline-flex items-center">
<input id="vfq" type="checkbox" name="language" value="vfq"
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<span class="ml-2 text-white">Français québécois (VFQ)</span>
<span class="ml-2 text-xs text-gray-400">(Juste pour les québécois - VFQ en priorité)</span>
</label>
</div>
</div>
</div>
<div class="border-b border-gray-900/10 dark:border-white/50 pb-12">
<h2 class="text-white font-semibold leading-7">Exclusion KeyWords</h2>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Comma separated list of
keywords to exclude from the title.</p>
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
<div class="sm:col-span-4">
<label for="exclusion-keywords"
class="block text-sm font-medium leading-6 text-white">Keywords</label>
<input type="text" name="exclusion-keywords" id="exclusion-keywords"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
placeholder="keyword1, keyword2, keyword3">
</div>
</div>
</div>
<div>
<label for="maxSize" class="block text-sm font-medium leading-6 text-white">Maximum file
size
(GB)</label>
<input type="number" name="maxSize" id="maxSize" min="0" step="0.1" value="18"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
<div>
<label for="resultsPerQuality"
class="block text-sm font-medium leading-6 text-white">Maximum results
per quality</label>
<input type="number" name="resultsPerQuality" id="resultsPerQuality" min="1" value="10"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
<div>
<label for="maxResults" class="block text-sm font-medium leading-6 text-white">Maximum total
results</label>
<input type="number" name="maxResults" id="maxResults" min="1" value="30"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
<div>
<label for="minCachedResults" class="block text-sm font-medium leading-6 text-white">Minimum
cached
results before new search</label>
<input type="number" name="minCachedResults" id="minCachedResults" min="0" value="10"
class="mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
</div>
</div>
</div>
<div class="mt-6 flex items-center justify-center gap-x-6">
<a id="install" onclick="return getLink('link');"
class="cursor-pointer rounded-md bg-black px-3 py-2 text-sm font-semibold text-white dark:text-black dark:bg-white shadow-sm hover:bg--500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Install</a>
<a id="copy" onclick="return getLink('copy');"
class="cursor-pointer rounded-md bg-black px-3 py-2 text-sm font-semibold text-white dark:text-black dark:bg-white shadow-sm hover:bg--500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Copy</a>
</div>
</div>
</form>
</div>
</body>
<script src="/static/config.js"></script>
</html>