-
Notifications
You must be signed in to change notification settings - Fork 0
/
userscript.js
144 lines (109 loc) · 5.67 KB
/
userscript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// ==UserScript==
// @name Playwire-2-HTML5
// @namespace http://your.homepage/
// @version 0.9.5
// @description Transforma os players do Playwire em tags <video>
// @author Rafael Sirotheau
// @match http://jesusmanero.blog.br/*
// @grant none
// ==/UserScript==
var t;
var intervalMS = 1000;
var runScript = true;
var version = 'v0.9.5';
jQuery(function($) {
console.log('[Playwire Remover '+version+'] Buscando vídeo(s) Playwire...');
// Busca a DIV com o video
var $DIV = $("div[id^='zeus']");
var $SCRIPT = $('script[src="//cdn.playwire.com/bolt/js/embed.min.js"]');
if(!$DIV.length && !$SCRIPT.length) {
console.log('[Playwire Remover '+version+'] Nenhum Playwire encontrado. Finalizando o script.');
return false;
}
var counter = $DIV.length + $SCRIPT.length;
console.log('[Playwire Remover '+version+'] Encontrado '+counter+' video(s) playwire.');
t = setInterval(function() {
// Se não foi encontrado nenhum. Finaliza script.
if(!runScript) {
clearInterval(t);
return false;
}
var endIt = true;
var video_count = 0;
$DIV.each(function(index) {
console.log($(this)[0].innerHTML);
// Recupera o valor do SRC
var videoSRC = $(this).data('default-src');
// Checa se está pronto.
if(typeof videoSRC === 'undefined') {
console.log('[Playwire Remover '+version+'] Vídeo '+(index+1)+' ainda não possue data. Indo para o próximo (se houver).');
endIt = false;
return true;
}
if($(this).data('removed')) {
return true;
}
console.log('[Playwire Remover '+version+'] Pronto! Checando se o '+(index+1)+'º vídeo é .mp4 ...');
//Checa se o vídeo é .mp4
var check = videoSRC.split('/');
check = check[check.length-1].split('?');
check = check[0].split('.');
console.log('[Playwire Remover '+version+'] Video SRC: '+videoSRC);
// Se for .mp4, troca o player
if(check[1] == 'mp4') {
console.log('[Playwire Remover '+version+'] Legal! O '+(index+1)+'º vídeo é .mp4! Trocando para a tag <video> ...');
$(this).html('<video width="640" height="360" controls><source src="'+videoSRC+'" type="video/mp4">Your browser does not support the video tag.</video>');
$(this).data('removed',true)
}
console.log('[Playwire Remover '+version+'] Playwire removido do '+(index+1)+'º vídeo!');
video_count++;
});
$SCRIPT.each(function(index) {
// Recupera o valor do SRC
var jsonSRC = $(this).data('config'),
$currentContainer = $(this).parent();
// Checa se está pronto.
if(typeof jsonSRC === 'undefined') {
console.log('[Playwire Remover '+version+'] Vídeo '+(video_count+index+1)+' ainda não possue data. Indo para o próximo (se houver).');
endIt = false;
return true;
}
if($(this).data('removed')) {
return true;
}
console.log('[Playwire Remover '+version+'] Pronto! Checando se o '+(video_count+index+1)+'º vídeo é .mp4 ...');
$(this).data('removed',true);
$.getJSON( jsonSRC, function( data ) {
console.log('[Playwire Remover '+version+'] JSON Loaded. data.src = ',data.src);
var currentVideoIndex = video_count+index+1;
jQuery.ajax({
type: "GET",
url: "http://config.playwire.com/15710/videos/v2/3083646/manifest.f4m",
dataType: "xml",
success: function (xml) {
// Parse the xml file and get data
var $xml = jQuery(xml.getElementsByTagName('manifest'));
var videoSRC = $xml.children('baseUrl').text() + "/" + $xml.children('media').attr('url');
//Checa se o vídeo é .mp4
var check = videoSRC.split('/');
check = check[check.length-1].split('?');
check = check[0].split('.');
console.log('[Playwire Remover '+version+'] Video SRC: '+videoSRC);
// Se for .mp4, troca o player
if(check[1] == 'mp4') {
console.log('[Playwire Remover '+version+'] Legal! O '+currentVideoIndex+'º vídeo é .mp4! Trocando para a tag <video> ...');
$currentContainer.html('<video style="background-color: black" width="640" height="360" controls><source src="'+videoSRC+'" type="video/mp4">Your browser does not support the video tag.</video>');
}
console.log('[Playwire Remover '+version+'] Playwire removido do '+currentVideoIndex+'º vídeo!');
}
});
});
});
if(endIt) {
console.log('[Playwire Remover '+version+'] Todos os Playwires removidos. Finalizando script.')
clearInterval(t);
} else {
console.log('[Playwire Remover '+version+'] Ainda existem Playwires a remover. Tentando novamente em '+intervalMS+'ms')
}
},intervalMS);
});