forked from adsbypasser/adsbypasser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadb.ug.js
81 lines (71 loc) · 1.96 KB
/
adb.ug.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
(function () {
'use strict';
$.register({
rule: {
host: [
/^(www\.)?adb\.ug$/,
/^(www\.)?lynk\.my$/,
/^adyou\.me$/,
],
// Match everything but empty, privacy, terms, contact, contact/whatever or path beginning with #
path: /^(?!\/(?:privacy|terms|contact(\/.*)?|#.*)?$).*$/
},
ready: function () {
'use strict';
$.removeNodes('iframe');
// pattern 1
var m = $.searchScripts(/top\.location\.href="([^"]+)"/);
if (m) {
$.openLink(m[1]);
return;
}
// pattern 2
getArguments().then(function (args) {
tryLink(args);
});
},
});
function getArguments () {
var PATTERN = /\{\s*_args[^}]+\}[^}]+\}/;
return _.D(function (resolve, reject) {
var m = $.searchScripts(PATTERN);
if (m) {
resolve(m);
return;
}
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
mutation.addedNodes.forEach(function (node) {
if (node.localName === 'script') {
var m = node.textContent.match(PATTERN);
if (m) {
resolve(m);
observer.disconnect();
}
}
});
});
});
observer.observe(document.body, {
childList: true,
});
}).then(function (m) {
return eval('(' + m[0] + ')');
});
}
function tryLink (args) {
var url = window.location.pathname + '/skip_timer';
var i = setInterval(function () {
$.post(url, args).then(function (text) {
var jj = _.parseJSON(text);
if (!jj.errors && jj.messages) {
clearInterval(i);
$.openLink(jj.messages.url);
}
});
}, 1000);
}
})();
// ex: ts=2 sts=2 sw=2 et
// sublime: tab_size 2; translate_tabs_to_spaces true; detect_indentation false; use_tab_stops true;
// kate: space-indent on; indent-width 2;