Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/8c962632bc23fb5e32262e2a6e4187d7.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name Pobieranie z CDA.pl
// @name:en CDA.pl downloader
// @namespace https://www.cda.pl
// @version 4.5.2
// @description Dodaje przycisk do pobierania filmu na stronie cda.pl i w osadzonych odtwarzaczach
// @description:en Adds a button for downloading videos from cda.pl and embeded video players
// @author Kizior
// @match http*://www.cda.pl/video/*
// @match http*://ebd.cda.pl/*
// @grant none
// @license MIT
// @downloadURL https://update.greasyfork.icu/scripts/407868/Pobieranie%20z%20CDApl.user.js
// @updateURL https://update.greasyfork.icu/scripts/407868/Pobieranie%20z%20CDApl.meta.js
// ==/UserScript==
(function() {
'use strict';
const modal = `
Pobieranie z CDA.pl
by Kizior
Wybierz jakość filmu:
X
Ładowanie...
`;
const modalButtonStyle = `padding: 2%; margin: 1%; border-radius: 10%; font-size: 20px; font-weight: bold; background-color: darkgray; color: rgb(64, 64, 64); border-color: orange; font-family: Arial, Helvetica, sans-serif;`;
let abortController = new AbortController();
function initializeModal() {
const modalElement = document.createElement('div');
modalElement.innerHTML = modal;
document.body.appendChild(modalElement);
document.querySelector("#cdaDownloaderStartButton").addEventListener("click", () => {
document.querySelector('#cdaDownloader').style.display = 'block';
});
const buttons = document.querySelector("#cdaDownloaderButtons");
document.querySelector('#cdaDownloaderClose').addEventListener("click", () => {
document.querySelector('#cdaDownloader').style.display = 'none';
})
const qualities = getQualityModes();
for(const q of Object.keys(qualities)) {
const buttonElement = document.createElement('button');
buttonElement.style = modalButtonStyle;
buttonElement.innerHTML = q;
buttonElement.addEventListener("click", () => {
getVideoUrl(q);
});
buttons.appendChild(buttonElement);
}
}
function getQualityModes() {
const playerData = document.querySelector("[id^='mediaplayer']").attributes['player_data'].value;
if(!playerData) {
return [];
}
const playerDataJSON = JSON.parse(playerData);
return playerDataJSON.video.qualities;
}
function getVideoId() {
const playerData = document.querySelector("[id^='mediaplayer']").attributes['player_data'].value;
if(!playerData) {
return undefined;
}
const playerDataJSON = JSON.parse(playerData);
return playerDataJSON.video.id;
}
async function getVideoUrl(quality) {
abortController.abort();
abortController = new AbortController();
const qualityCode = getQualityModes()[quality];
const loadingElement = document.querySelector('#cdaDownloaderLoading');
loadingElement.innerHTML = `Ładowanie...
Wczytywanie filmu w jakości ${quality}...`;
loadingElement.style.display = 'block';
try {
const response = await fetch('https://cda-downloader.onrender.com/downloader', {
method: 'POST',
body: JSON.stringify({
videoId: getVideoId(),
quality: qualityCode,
}),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
signal: abortController.signal,
});
const responseJSON = await response.json();
loadingElement.innerHTML = `
Pobierz (${quality})
Kliknij prawym przyciskiem myszy i wybierz \"Zapisz link jako\"`;
} catch (error) {
if(error.name !== 'AbortError') {
console.log(error);
loadingElement.innerHTML = `
Wystąpił błąd :(`;
}
}
}
if(!document.querySelector(".areaquality")) {
if(document.querySelector("#naglowek")) {
// for regular videos on cda.pl
document.querySelector("#naglowek").parentNode.parentNode.parentNode.innerHTML+=(`
`);
document.querySelector("#naglowek").parentNode.parentElement.style.width = "480px";
} else {
// for embed videos
document.querySelector(".quality").innerHTML+=(`
`);
}
}
document.querySelector(".areaquality").firstElementChild.innerHTML+=`
Pobierz
`;
initializeModal();
})();