// ==UserScript== // @name Video.mediaset.it native video player and direct links // @namespace http://andrealazzarotto.com // @description This script allows you to watch and download videos on Video Mediaset. // @include http://www.video.mediaset.it/video/* // @include http://www.video.mediaset.it/programma/* // @include http://www.video.mediaset.it/player/* // @include https://*.mediasetplay.mediaset.it/* // @include http://www.mediaset.it/* // @include http://www.tgcom24.mediaset.it/video/ // @version 6.4.2 // @require http://code.jquery.com/jquery-latest.min.js // @grant GM_xmlhttpRequest // @grant GM.xmlHttpRequest // @connect mediaset.it // @connect video.mediaset.it // @connect cdnselector.xuniplay.fdnames.com // @connect video.lazza.dk // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @downloadURL none // ==/UserScript== /* Greasemonkey 4 wrapper */ if (typeof GM !== "undefined" && !!GM.xmlHttpRequest) { GM_xmlhttpRequest = GM.xmlHttpRequest; } function fetch(params) { return new Promise(function(resolve, reject) { params.onload = resolve; params.onerror = reject; GM_xmlhttpRequest(params); }); } var base_selector = "https://video.lazza.dk/mediaset?id="; var is_abroad = document.cookie.indexOf("countryCode=") > 0 && document.cookie.indexOf("countryCode=IT") < 0; var loc = window.location; var isIframe = (loc.href.indexOf("player/") > 0) && (loc.href.indexOf('hidesocial') > 0); var id = unsafeWindow.videoMetadataId || 0; var silverlightSupported = function() { var unavailable = navigator.platform.indexOf('Win') < 0 && navigator.platform.indexOf('Mac') < 0; unavailable = unavailable || navigator.userAgent.indexOf('PPC') > 0; return !unavailable; }; var boxStyle = function(selector, color, textcolor) { $(selector).css({ 'padding': '.5em', 'margin': '1em 4em', 'text-align': 'center', 'background-color': color, 'color': textcolor }); $(selector + ' a').css('color', textcolor); }; var writeLive = function(stream, highquality) { $('
Flusso della diretta da aprire con VLC o ffplay
:
' + stream + '
')
.append('Flusso a qualità più alta:
') .append('' + highquality + '
');
boxStyle('#stream-url', 'rgba(255,255,255,0.5)', 'black');
$('#stream-url p').css('font-size', '15px');
// kill login timeout
unsafeWindow.userNotLogged = function() { return; };
setTimeout(function() {
$('.countdown').remove();
}, 1000);
};
var handleLive = function(playlistUri) {
GM_xmlhttpRequest({
method: 'GET',
url: playlistUri,
headers: {
'Accept': 'application/atom+xml,application/xml,text/xml'
},
onload: function(responseDetails) {
var r = responseDetails.responseText;
var doc = $.parseXML(r);
var $xml = $( doc );
var videoID = $xml.find('videoUrl').text();
GM_xmlhttpRequest({
method: 'GET',
url: 'http://cdnselector.xuniplay.fdnames.com/GetCDN.aspx?type=livehls&streamid=' + videoID,
headers: {
'Accept': 'application/atom+xml,application/xml,text/xml'
},
onload: function(responseDetails) {
var r = responseDetails.responseText;
var doc = $.parseXML(r);
var $xml = $( doc );
var src = $xml.find('video').attr('src');
var highquality = src.replace('index.m3u8', 'Stream(04)/index.m3u8');
writeLive(src, highquality);
}
});
}
});
};
var displayURLs = function(responseDetails) {
var r = responseDetails.responseText;
var doc = $.parseXML(r);
var $xml = $( doc );
var videos = $xml.find("video");
var vlinks = [];
var appended = {};
// parse video URLs
videos.each(function (i) {
var url = $( videos.get(i) ).attr("src");
var type = url.slice(-3);
var name = "";
switch(type) {
case "est": name = "Smooth streaming"; break;
case "3u8":
case "pl)": name = "M3U8"; break;
case "mpd": name = "skip"; break;
case "flv": name = "Video FLV"; break;
case "f4v": name = "Video F4V"; break;
case "mp4": name = "Video MP4"; break;
case "wmv": name = "Video WMV"; break;
}
var ending = url.slice(-20);
if (name != "skip" && !appended[ending]) {
vlinks.push( { na: name, url: url } );
appended[ending] = true;
}
});
// display video URLs
var num = vlinks.length;
if(isIframe) {
$('