Skip to content

Instantly share code, notes, and snippets.

@XianThi
Last active June 13, 2026 19:01
Show Gist options
  • Select an option

  • Save XianThi/b808fcfd0dcedd0bcac78f8995cf895f to your computer and use it in GitHub Desktop.

Select an option

Save XianThi/b808fcfd0dcedd0bcac78f8995cf895f to your computer and use it in GitHub Desktop.
Dizipal next episode/season script without any clicks!
// ==UserScript==
// @name dizipalExt
// @namespace http://tampermonkey.net/
// @version 2026-05-27
// @description Dizipal next episode/season script without any clicks!
// @author XianThi~
// @match https://dizipal.im/*
// @match *://*.cfd/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=dizipal.im
// @grant GM_addStyle
// @run-at document-end
// @allFrames true
// ==/UserScript==
(function() {
GM_addStyle(`
.iframe-fullscreen-active {
position: fixed !important;
top: 0 !important;
left: 0 !important;
width: 100vw !important;
height: 100vh !important;
z-index: 999999 !important;
background: #000 !important;
}
`);
'use strict';
function elemanBekle(selector, callback) {
const el = document.querySelector(selector);
if (el) { callback(el); return; }
const observer = new MutationObserver(() => {
const el = document.querySelector(selector);
if (el) { callback(el); observer.disconnect(); }
});
observer.observe(document.body, { childList: true, subtree: true });
}
if (window.self === window.top) {
console.log("[XianThi~] Script başlatıldı.");
elemanBekle(".play-video-btn", (buton) => {
console.log("[XianThi~] Oynat butonu bulundu, tıklanıyor...");
setTimeout(() => { buton.click(); }, 1000);
});
window.addEventListener("message", (event) => {
if (event.data === "tamEkranYapSinyali") {
console.log("[XianThi~] Video başladı, iframe tam ekran yapılıyor...");
const iframe =document.querySelector('iframe');
const targetIframe = iframe || document.querySelector('iframe');
if (targetIframe) {
targetIframe.classList.add('iframe-fullscreen-active');
}
}
if (event.data === "sonrakiBolumeGecSinyali") {
console.log("[XianThi~] Video bitti sinyali alındı. Durum kontrol ediliyor...");
const activeIframe = document.querySelector('.iframe-fullscreen-active');
if (activeIframe) activeIframe.classList.remove('iframe-fullscreen-active');
const mevcutEleman = document.querySelector(".is-current");
if (!mevcutEleman) return;
const kardesElemanlar = [...mevcutEleman.parentNode.children];
const indeks = kardesElemanlar.indexOf(mevcutEleman);
const sonrakiBolumKutusu = kardesElemanlar[indeks + 1];
if (sonrakiBolumKutusu && sonrakiBolumKutusu.children && sonrakiBolumKutusu.children[1]) {
console.log("[XianThi~] Sonraki bölüm bulundu. Geçiş yapılıyor...");
sonrakiBolumKutusu.children[1].click();
}
else {
console.log("[XianThi~] Sonraki sezon kontrol ediliyor...");
const aktifSezonLink = document.querySelector("#episode-season-options ul li a.font-bold.text-red-1000");
if (aktifSezonLink) {
const mevcutSezonLi = aktifSezonLink.parentNode;
const sezonLiListesi = [...mevcutSezonLi.parentNode.children];
const sezonIndeks = sezonLiListesi.indexOf(mevcutSezonLi);
const sonrakiSezonLi = sezonLiListesi[sezonIndeks + 1];
if (sonrakiSezonLi && sonrakiSezonLi.querySelector("a")) {
console.log("[XianThi~] Yeni sezon bulundu! Sonraki sezona tıklanıyor...");
sonrakiSezonLi.querySelector("a").click();
setTimeout(() => {
const ilkBolumListesi = document.querySelector(".is-current")?.parentNode || document.querySelector("#episodes-list-scroll div");
if (ilkBolumListesi && ilkBolumListesi.children[1]) {
console.log("[XianThi~] Yeni sezonun ilk bölümü başlatılıyor...");
ilkBolumListesi.children[1].click();
}
}, 2000);
} else {
console.log("[XianThi~] Başka bölüm yok.");
}
} else {
console.log("[XianThi~] Hata: Aktif sezon elemanı seçilemedi.");
}
}
}
});
}
else {
elemanBekle("video", (videoElementi) => {
videoElementi.muted = true;
setTimeout(() => {
videoElementi.play().then(() => {
console.log("[XianThi~] Video başarıyla otomatik başlatıldı.");
setTimeout(() => {
videoElementi.muted = false;
window.parent.postMessage("tamEkranYapSinyali", "*");
console.log("[XianThi~] Ses başarıyla geri açıldı, tam ekran aktif.");
}, 200);
}).catch(err => {
console.log("[XianThi~] Tarayıcı otomatik oynatmayı engelledi.");
});
}, 1500);
const kontrol = setInterval(() => {
if (!videoElementi || isNaN(videoElementi.duration)) return;
const kalanSure = videoElementi.duration - videoElementi.currentTime;
if (kalanSure < 30) {
console.log("[XianThi~] Son 30 saniye! Sonraki bölüme geçiş emri gönderiliyor...");
clearInterval(kontrol);
window.parent.postMessage("sonrakiBolumeGecSinyali", "*");
}
}, 1000);
});
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment