// ==UserScript== // @name S.TO - SerienStream.to - Stream Sorter // @namespace http://tampermonkey.net/ // @version 2025-05-11 // @description Sorts the streams on S.TO and SerienStream.to by language based on your selection. // @description:de Sortiert die Streams auf S.TO und SerienStream.to nach Sprache basierend auf deiner Auswahl. // @author mOlDaViA // @license MIT // @match https://s.to/serie/stream/*/staffel-*/episode-* // @match https://serienstream.to/serie/stream/*/staffel-*/episode-* // @match http://186.2.175.5/serie/stream/*/staffel-*/episode-* // @icon https://www.google.com/s2/favicons?sz=64&domain=s.to // @grant unsafeWindow // @run-at document-end // @downloadURL none // ==/UserScript== (function () { "use strict"; unsafeWindow.sortLanguage = function () { // Change the language order here: // "en" = English Dub // "sub" = German Sub // "de" = German Dub const languageOrder = ["sub", "de", "en"]; const langKeyMap = { sub: "3", en: "2", de: "1", }; let found = false; for (let i = 0; i < languageOrder.length; i++) { const lang = languageOrder[i]; const langKey = langKeyMap[lang]; const selector = `.hosterSiteVideo ul li[data-lang-key="${langKey}"]`; if ($(selector).length > 0) { $(selector).show(); $(`.hosterSiteVideo ul li[data-lang-key!="${langKey}"]`).hide(); $(`.changeLanguageBox img[data-lang-key="${langKey}"]`).addClass( "selectedLanguage" ); $(`.changeLanguageBox img[data-lang-key!="${langKey}"]`).removeClass( "selectedLanguage" ); checkInlinePlayer(); found = true; break; } } if (!found) { $(".changeLanguageBox").after( "Derzeit keine Streams für diese Episode verfügbar.

" ); } }; unsafeWindow.sortLanguage(); })();