// ==UserScript== // @name ABPVN AdsBlock // @namespace ABPVN // @author ABPVN // @copyright ABPVN // @homepage http://abpvn.com // @supportURL https://github.com/abpvn/abpvn/issues // @icon http://abpvn.com/icon.png // @description Script chặn quảng cáo,loại bỏ chờ đợi của ABPVN // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=donghoang.nguyen@gmail.com&item_name=ABPVN Donation // @run-at document-end // @include http://* // @include https://* // @version 2.2.12 // @change-log Block popup phim.media // @grant none // @downloadURL none // ==/UserScript== /* String Prototype */ String.prototype.startWith = function strxStart(str) { return this.indexOf(str) === 0; }; String.prototype.ismatch = function(regex) { return this.match(regex) !== null; }; //Bypass Class var byPass = { hideLinkUnlock: function() { var contentDiv = document.querySelectorAll('.onp-sl-content,.onp-locker-call,[data-locker-id]'); if (contentDiv.length) { ABPVN.cTitle(); //Add style tag to hide all .onp-sl and show all .onp-sl-content if (!document.getElementById('abpvn_style')) { var style = document.createElement('style'); style.id = 'abpvn_style'; style.innerHTML = '.onp-sl-content{display:block!important;}.onp-sl,.onp-sl-overlap-box{display:none!important;}.onp-sl-blur-area{filter: none!important;}'; document.body.appendChild(style); } //ShowALl ContentDiv for (var i in contentDiv) { if (contentDiv[i].firstChild && contentDiv[i].firstChild.innerText != 'Unlocked by ABPVN.COM') { var creditDiv = document.createElement('div'); creditDiv.innerHTML = 'Unlocked by ABPVN.COM'; creditDiv.style.textAlign = 'right'; contentDiv[i].insertBefore(creditDiv, contentDiv[i].firstChild); } if (contentDiv[i].style) { contentDiv[i].style.display = 'block'; } } //Hide All LockDiv var lockDiv = document.querySelectorAll('.onp-sl,div[id^="content-locker"]'); for (var j in lockDiv) { if (lockDiv[j].style) { lockDiv[j].style.display = 'none !important'; lockDiv[j].setAttribute('hidden', 'hidden'); } } } }, anti123link: function() { var allShortLink = document.querySelectorAll('a[href^="http://123link"]'); var count = 0; if (allShortLink.length) { ABPVN.cTitle(); for (var i = 0; i < allShortLink.length; i++) { var processingLink = allShortLink[i]; var href = processingLink.getAttribute('href'); var tmp = href.match(/url=(.+?)&|$/);; if (tmp[1]) { processingLink.setAttribute('href', atob(tmp[1])); var oldTitle = processingLink.getAttribute('title'); processingLink.setAttribute('title', oldTitle ? (oldTitle + ' ') : '' + '123link by pass by ABPVN'); count++; } } Logger.info("By pass " + count + " 123link short"); } }, init: function() { window.addEventListener('DOMContentLoaded', this.hideLinkUnlock); window.addEventListener('load', this.hideLinkUnlock); this.hideLinkUnlock(); window.addEventListener('DOMContentLoaded', this.anti123link); } }; //Logger Class var Logger = { info: function(text) { console.info('ABPVN Info: ', text); }, warn: function(text) { console.warn('ABPVN Warn: ', text); }, error: function(text) { console.error('ABPVN Error: ', text); }, log: function(text) { console.log('ABPVN Log: ', text); }, }; //get Link class var getLink = { FShareConfig: function() { if (this.url.startWith('https://www.fshare.vn')) { var background_image = localStorage.off == 'true' ? 'url("http://i.imgur.com/kJnOMOB.png")' : 'url("http://i.imgur.com/2b7fN6a.png")'; var title = localStorage.off == 'true' ? 'Bật get link fshare' : 'Tắt get link fshare'; var html = '
'; $(document).ready(function() { $(document.body).append(html); $(document).on('click', '#fs_click', function FS_on_off() { if (localStorage.off != 'true') { localStorage.off = true; this.style.backgroundImage = 'url("http://i.imgur.com/kJnOMOB.png")'; this.setAttribute('title', 'Bật get link fshare'); alert('Đã tắt get link fshare'); } else { localStorage.off = false; this.setAttribute('title', 'Tắt get link fshare'); this.style.backgroundImage = 'url("http://i.imgur.com/2b7fN6a.png")'; alert('Đã bật get link fshare'); } }); }); } }, FShareGetLink: function() { if (this.url.startWith('https://www.fshare.vn/file/') && !this.url.startWith('https://www.fshare.vn/file/manager')) { if (localStorage.off != 'true') { console.info('Start get link Fshare.vn'); $(document).ready(function() { var checkpassword = document.querySelector('.password-form'); var linkcode = $('#linkcode').val(); if (checkpassword === null) { var code = $('#form-download input[name="_csrf-app"]').val(); var data = { '_csrf-app': code, 'fcode5': '', 'linkcode': linkcode, 'withFcode5': 0, }; $.post('/download/get', data).done(function(data, statusText, xhr) { if (data.url === undefined) location.reload(); else { if (typeof location != 'undefined') { console.log('ABPVN: ' + location.href + ' -> ' + data.url); location.href = data.url; } else { $('.download').prepend('Tải trực tiếpHỗ trợ bởi abpvn.com'); } } }).fail(function(xhr, statusText, error) { alert('ABPVN: Đã có lỗi fshare hoặc file có password'); }); } else { alert('ABPVN: Hãy nhập mật khẩu cho file trước'); } }); } else { $('.download').prepend('Tải nhanhQua dịch vụ linksvip.net'); } } }, mediafire_com: function() { if (this.url.startWith('http://www.mediafire.com/file/') || this.url.startWith('https://www.mediafire.com/file/')) { var a_tag = document.querySelector('.download_link a'); var link = a_tag.getAttribute('href'); if (link.startWith('http')) { document.body.innerHTML = '

ABPVN MediaFire Download đã hoạt động

Ủng hộ ABPVN


Không tự tải xuống? Click vào đây
'; location.href = link; } } }, usercloud_com: function() { if (this.url.startWith('https://userscloud.com/') && this.url.length > 24) { var form = document.querySelector('form[name="F1"]'); if (form) { form.submit(); document.body.innerHTML = '

ABPVN UserCloud Download đã hoạt động

Ủng hộ ABPVN

'; } else { var a_link = document.querySelector('h4 a.btn-success'); if (a_link) { var link = a_link.getAttribute('href'); if (link.startWith('https')) { location.href = link; document.body.innerHTML = '

ABPVN UserCloud Download đã hoạt động

Ủng hộ ABPVN


Không tự tải xuống? Click vào đây
'; } } } } }, init: function() { this.url = location.href; this.FShareConfig(); this.FShareGetLink(); this.mediafire_com(); this.usercloud_com(); } }; //Fix site class var fixSite = { elementExist: function(selector) { var check = document.querySelector(selector); return check != null; }, getAllText: function(selector) { var text = ''; var nodeList = document.querySelectorAll(selector); if (nodeList) { for (var i in nodeList) { if (nodeList[i].innerText) text += nodeList[i].innerText; } } return text; }, getScript: function(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.addEventListener('load', function(data) { var blob = new Blob([xhr.responseText], { type: 'text/javascript' }); var url = URL.createObjectURL(blob); var script = document.createElement('script'); script.src = url; script.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(script); }); xhr.send(); }, loadCss: function(url, id) { var css_tag = document.createElement('link'); css_tag.rel = 'stylesheet'; css_tag.id = id; css_tag.href = url; var head = document.getElementsByTagName('head')[0]; head.appendChild(css_tag); }, phim_media: function() { if (this.url.startWith('https://www.phim.media/') || this.url.startWith('http://www.phim.media/')) { var links = document.querySelectorAll('#btn-film-watch,.poster > a'); if (links) { for (var i = 0; i < links.length; i++) { var href = links[i].getAttribute('href'); href = href.match('utm_id=.*')[0].replace('utm_id=', ''); if (href) { links[i].setAttribute('href', atob(href)); } } ABPVN.cTitle(); } } }, linkneverdie_com: function() { if (this.url.startWith('https://linkneverdie.com/')) { ABPVN.cTitle(); var el = document.getElementById('wrapper'); if (el) { el.id = "wrapper-fix-by-abpvn"; } } }, hdonline_vn: function() { if (this.url.startWith('http://hdonline.vn')) { var links = document.querySelectorAll('a[href^="http://hub.blueserving.com/"]'); for (var i in links) { var link = links[i]; var href = link.getAttribute('href'); href = href.match('url=.*')[0].replace('url=', ''); if (href) { link.setAttribute('href', href); } } ABPVN.cTitle(); } }, maclife_vn: function() { if (this.url.startWith('https://maclife.vn/')) { var allShortUrl = document.querySelectorAll('a[rel]'); var count = 0; for (var i = 0; i < allShortUrl.length; i++) { if (allShortUrl[i].innerText.indexOf('http') === 0) { allShortUrl[i].setAttribute('href', allShortUrl[i].innerText); count++; } } Logger.info("Đã xóa " + count + " link rút gọn!"); } }, aphim_co: function() { if (this.url.startWith('https://aphim.co/xem-phim/')) { ABPVN.cTitle(); var aTagAds = document.querySelector('#video > a'); aTagAds.setAttribute('href', '#abpvn'); aTagAds.removeAttribute('target'); Logger.info('Đã xóa link quảng cáo!'); } }, openload: function() { if (this.url.match(/^(https?:)?\/\/openload\.co\/*.*/) || this.url.match(/^(https?:)?\/\/oload\.\/*.*/)) { //Base on https://greasyfork.org/vi/scripts/17665-openload // // @run-at document-start // window.adblock = false; window.adblock2 = false; window.turnoff = true; window.open = function() {}; // // @run-at document-end // function onready(fn) { if (document.readyState != 'loading') fn(); else document.addEventListener('DOMContentLoaded', fn); } onready(function() { if (document.location.href.match(/\/embed\//) || $('#realdl>a')) { var streamurl = '#streamurl,#streamuri,#streamurj,#adbdetect + script + div > p:nth-child(2)'; $('#btnView').hide(); $('#btnDl').hide(); $('.dlButtonContainer').show(); $('h3.dlfile.h-method').hide(); $('.col-md-4.col-centered-sm *').remove(); $('#mgiframe,#main>div[id*="Composite"]').remove(); $('#downloadTimer').hide(); $('#mediaspace_wrapper').prepend($('
').attr('id', 'realdl') .attr('style', 'position: absolute; top: 0 ; left: 0 ; right: 0; text-align: center; z-index: 9999; background-color: #00DC58; padding: .5em 0;') .on('mouseenter', function() { $(this).fadeTo(500, 1); }).on('mouseleave', function() { $(this).fadeTo(500, 0); }) .append($('').attr('href', '').attr('style', 'color: #fff; text-decoration: none;').html('FREE DOWNLOADPower by abpvn.com'))); if (document.location.href.match(/\/embed\//)) { setTimeout(function() { $('#realdl').fadeTo(500, 0); }, 1500); } $('#realdl').show(); var tmrstreamurl = setInterval(function() { if ($(streamurl).text() != '640K ought to be enough for anybody') { $('#realdl a').attr('href', '/stream/' + $(streamurl).text()); $('#videooverlay').click(); clearInterval(tmrstreamurl); } }, 100); } window.onclick = function() {}; document.onclick = function() {}; document.body.onclick = function() {}; }); } }, fontdep_com: function() { if (this.url.startWith('http://www.fontdep.com/') && document.cookie.indexOf('virallock_myid') == -1) { document.cookie = 'virallock_myid=0001'; location.reload(); } }, anime47_com: function() { if (this.url.startWith('http://anime47.com/xem-phim')) { //Remove class media var mediaEl = document.querySelector('div.media'); if (mediaEl) { ABPVN.cTitle(); mediaEl.classList.remove('media'); } } }, removeRedir(config) { if (this.url.match(new RegExp(config.url, 'g')) || this.url.startWith(config.url)) { ABPVN.cTitle(); var links = document.querySelectorAll('a[href^="' + config.replace + '"]'); Logger.info('Remove Redirect for ' + links.length + ' links'); if (links.length) { links.forEach(function(item) { var stockUrl = item.getAttribute('href').replace(config.replace, ''); var count = 0; while (stockUrl.indexOf('%2') > -1 && count < 5) { stockUrl = decodeURIComponent(stockUrl); count++; } item.setAttribute('href', stockUrl); item.setAttribute('title', 'Link đã xóa chuyển hướng trung gian bởi abpvn.com'); }.bind(this)); } } }, removeRedirect() { var configs = [{ url: 'https://samsungvn.com', replace: 'https://samsungvn.com/xfa-interstitial/redirect?url=', }, { url: 'https://forum.vietdesigner.net', replace: 'redirect/?url=' }, { url: 'http://sinhvienit.net', replace: 'http://sinhvienit.net/goto/?' }, { url: 'http://phanmemaz.com/', replace: 'http://phanmemaz.com/wp-content/plugins/tm-wordpress-redirection/l.php?' }, { url: 'vozforums\.(com|net)', replace: '/redirect/index.php?link=' } ]; configs.forEach(function(config) { this.removeRedir(config); }.bind(this)); }, init: function() { this.url = location.href; this.removeRedirect(); this.phim_media(); this.linkneverdie_com(); this.hdonline_vn(); this.maclife_vn(); this.aphim_co(); this.fontdep_com(); this.openload(); this.anime47_com(); } }; //Ad blocker script var adBlocker = { blockPopUp: function() { var listSite = [ 'http://blogtruyen.com', 'http://www.khosachnoi.net', 'http://hamtruyen.vn/', 'http://phim14.net/', 'http://phim7.com/', 'http://www.diendan.trentroiduoidat.com/', 'http://www.trentroiduoidat.com/', 'http://chophanthiet.us', 'http://animetvn.com', 'http://font.vn', 'https://vidoza.net/', 'http://www.easysoft.xyz', 'http://hdonline.vn', 'https://www.phim.media', 'http://phimnhanh.com', 'http://www.vietsubhd.com', 'https://www.phim.media' ]; for (var i = 0; i < listSite.length; i++) { if (this.url.startWith(listSite[i])) { ABPVN.cTitle(); Logger.info('Đã chặn popup quảng cáo'); document.body.onclick = null; document.onclick = null; document.ontouchstart = null; document.onmousedown = null; window.addEventListener('load', function() { setTimeout(function() { Logger.info('Đã chặn popup quảng cáo onload'); document.ontouchstart = null; document.onclick = null; document.body.onclick = null; document.onmousedown = null; }, 300); }); window.addEventListener('DOMContentLoaded', function() { setTimeout(function() { Logger.info('Đã chặn popup quảng cáo dom load'); document.ontouchstart = null; document.onclick = null; document.body.onclick = null; document.onmousedown = null; }, 300); }); } } }, mgIdAdRemover: function() { var allMgIdEl = document.querySelectorAll('[id*="ScriptRoot"]'); if (allMgIdEl && allMgIdEl.length) { ABPVN.cTitle(); for (var i = 0; i < allMgIdEl.length; i++) { allMgIdEl[i].id = 'ScriptRoot-removed-by-abpvn-' + Math.random(); allMgIdEl[i].innerHTML = ''; } } }, init: function() { this.url = location.href; this.mgIdAdRemover(); this.blockPopUp(); } }; //Main class var ABPVN = { cTitle: function() { if (document.title.indexOf(' - Fixed by ABPVN.COM') === -1) { document.title = document.title + ' - Fixed by ABPVN.COM'; } }, init: function() { //Init class adBlocker adBlocker.init(); //Init class getLink getLink.init(); //Init class Fixsite fixSite.init(); //Init bypass class byPass.init(); } }; //RUN INNIT ABPVN.init();