This commit is contained in:
Tim Speckhals 2018-10-08 16:26:22 +02:00
parent a638137faa
commit eccefd4edd
No known key found for this signature in database
GPG Key ID: A62ADB92F7ADEEB6
9 changed files with 99 additions and 70 deletions

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018 Hellsh
Copyright (c) 2018 Tim "timmyRS" Speckhals
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -11,6 +11,9 @@
"firstrunWhatnow": {
"message": "Voici ce que vous pouvez faire maintenant:"
},
"firstrunExampleLinks": {
"message": "Vérifiez les exemples de liens pour vous assurer que le contournement universel fonctionne."
},
"firstrunOptions": {
"message": "Changer les options de Universal Bypass."
},
@ -20,6 +23,9 @@
"homepage": {
"message": "Page d'accueil"
},
"popupOptions": {
"message": "Réglages"
},
"options": {
"message": "Options d'Universal Bypass"
},
@ -32,6 +38,9 @@
"optionsBlockIPLoggers": {
"message": "Bloque les enregistreurs dIP si ils ne peuvent être contournés."
},
"optionsCrowdBypass": {
"message": "Donner et prendre les cibles des raccourcisseurs incontournables."
},
"privacyPolicy": {
"message": "Politique Vie Privée"
},
@ -55,5 +64,14 @@
},
"blockedSubtitle": {
"message": "Si vous ne voulez pas que Universal Bypass empêche les mauvais acteurs d'obtenir votre IP, désactivez ceci dans les options ::"
},
"crowdBypassed": {
"message": "Vous n'aurez peut-être pas à attendre !"
},
"crowdBypassedInfo": {
"message": "D'autres utilisateurs du contourneur universel vous ont déjà attendu et ont rapporté que cela mène à %"
},
"crowdBypassedIgnore": {
"message": "Cela n'était-il pas exact ?"
}
}

View File

@ -27,18 +27,22 @@ if(document instanceof HTMLDocument)
}
},
bypassed=false,//We keep track if we have already executed a bypass to stop further checks
setBypassed=()=>{
bypassed=true
document.documentElement.setAttribute("data-universal-bypass-stop-watching","")
},
domainBypass=(domain,func)=>{
if(!bypassed&&(location.hostname==domain||location.hostname.substr(location.hostname.length-(domain.length+1))=="."+domain))
{
func()
bypassed=true
setBypassed()
}
},
hrefBypass=(hrefregex,func)=>{
if(!bypassed&&hrefregex.test(location.href))
{
func()
bypassed=true
setBypassed()
}
},
ensureDomLoaded=func=>{
@ -304,7 +308,7 @@ if(document instanceof HTMLDocument)
if(j.message&&j.message.url)
{
contributeAndNavigate(j.message.url)
return {}
return{}
}
return j
}
@ -535,7 +539,7 @@ if(document instanceof HTMLDocument)
let a=document.querySelector("a[href]")
if(a)
safelyNavigate(a.href)
return
return setBypassed()
}
if(typeof app_vars=="object")
{
@ -543,15 +547,15 @@ if(document instanceof HTMLDocument)
if(document.querySelector("b[style='color: #3e66b3']")&&document.querySelector("b[style='color: #3e66b3']").textContent=="SafelinkU")
{
window.setInterval=(f)=>sI(f,10)
return
return setBypassed()
}
//AdLinkFly
document.documentElement.setAttribute("data-adlinkfly-info","")
document.documentElement.setAttribute("data-universal-bypass-adlinkfly-info","")
let iT=setInterval(()=>{
if(document.documentElement.hasAttribute("data-adlinkfly-target"))
if(document.documentElement.hasAttribute("data-universal-bypass-adlinkfly-target"))
{
clearInterval(iT)
let t=document.documentElement.getAttribute("data-adlinkfly-target")
let t=document.documentElement.getAttribute("data-universal-bypass-adlinkfly-target")
if(t=="crowd")
crowdBypass(()=>{
let cT=setInterval(()=>{
@ -569,7 +573,7 @@ if(document instanceof HTMLDocument)
else contributeAndNavigate(t)
}
},50)
return
return setBypassed()
}
//GemPixel Premium URL Shortener
if(typeof appurl!="undefined"&&typeof token!="undefined")
@ -606,12 +610,12 @@ if(document instanceof HTMLDocument)
ev(cont)
window.setInterval=sI
safelyNavigate(document.querySelector("a.redirect").href)
return
return setBypassed()
}
else if(cont.trim().substr(0,69)=='!function(a){a(document).ready(function(){var b,c=a(".link-content"),')
{
safelyNavigate(cont.trim().substr(104).split('",e=0,f=a(".count-timer"),g=f.attr("data-timer"),h=setInterval(')[0])
return
return setBypassed()
}
}
}
@ -619,30 +623,30 @@ if(document instanceof HTMLDocument)
{
document.getElementById("messa").className+=" hidden"
document.getElementById("html_element").className=document.getElementById("html_element").className.split("hidden").join("").trim()
return
return setBypassed()
}
}
//Soralink Wordpress Plugin
if(document.querySelector(".sorasubmit"))
{
document.querySelector(".sorasubmit").click()
return
return setBypassed()
}
if(document.querySelector("#lanjut > #goes[href]"))
{
safelyNavigate(document.querySelector("#lanjut > #goes[href]").href)
return
return setBypassed()
}
if(document.getElementById("waktu")&&document.getElementById("goto"))
{
safelyNavigate(document.getElementById("goto").href)
return
return setBypassed()
}
if(typeof bukalink=="function"&&document.getElementById("bijil1")&&document.getElementById("bijil2"))//gosavelink.com
{
window.open=safelyNavigate
bukalink()
return
return setBypassed()
}
if(typeof changeLink=="function")
{
@ -701,22 +705,22 @@ if(document instanceof HTMLDocument)
if(document.querySelector("#tungguyabro a[href]"))
safelyNavigate(document.querySelector("#tungguyabro a[href]").href)
},100)
return
return setBypassed()
}
if(document.querySelector("#yangDihilangkan > a")&&document.querySelector("#downloadArea > .text-center"))//rathestation.bid
{
safelyNavigate(document.querySelector("#yangDihilangkan > a").href)
return
return setBypassed()
}
if(document.querySelector("a#btn-main.disabled")&&typeof Countdown=="function")//Croco,CPMLink,Sloomp.space
{
safelyNavigate(document.querySelector("a#btn-main.disabled").href)
return
return setBypassed()
}
if(document.querySelector("a.redirectBTN.disabled")&&document.querySelector(".timer"))//Arablionz.online
{
safelyNavigate(document.querySelector("a.redirectBTN.disabled").href)
return
return setBypassed()
}
if(document.querySelector(".shortened_link a[href][ng-href][target='_blank']"))//Go2to.com,Go2too.com,Golink.to
{
@ -725,7 +729,7 @@ if(document instanceof HTMLDocument)
if(document.querySelector("form#skip")&&document.getElementById("btn-main")&&!document.querySelector(".g-recaptcha"))
{
document.querySelector("form#skip").submit()
return
return setBypassed()
}
if(document.getElementById("countdown")&&document.querySelector(".seconds"))
{
@ -735,23 +739,23 @@ if(document instanceof HTMLDocument)
domainBypass("file-upload.com",()=>doBypass=!1)
if(doBypass)
document.querySelector(".seconds").textContent="0"
return
return setBypassed()
}
if(document.querySelector("#ddl #download_link .btn"))
{
window.open=safelyNavigate
document.querySelector("#ddl #download_link > .btn").click()
return
return setBypassed()
}
if(typeof file_download=="function")
{
window.setInterval=f=>sI(f,1)
return
return setBypassed()
}
if(document.querySelector("input[type=\"submit\"][name=\"method_free\"]"))
{
document.querySelector("input[type=\"submit\"][name=\"method_free\"]").click()
return
return setBypassed()
}
if(document.getElementById("frmdlcenter")&&document.getElementById("pay_modes"))//elsfile.org Timer
{
@ -760,7 +764,7 @@ if(document instanceof HTMLDocument)
form.innerHTML='<input type="hidden" name="op" value="download1"><input type="hidden" name="usr_login" value="C"><input type="hidden" name="id" value="'+location.pathname.toString().substr(1)+'"><input type="hidden" name="fname" value="'+document.querySelectorAll("div#container > div > div > table > tbody > tr > td")[2].textContent+'"><input type="hidden" name="referer" value="q"><input type="hidden" name="method_free" value="Free Download">'
form=document.documentElement.appendChild(form)
form.submit()
return
return setBypassed()
}
if(document.querySelector("a[href^='https://linkshrink.net/homepage'] > img.lgo"))//LinkShrink.net
{
@ -783,7 +787,7 @@ if(document instanceof HTMLDocument)
}
},100)
crowdBypass(()=>{})
return
return setBypassed()
}
if(document.querySelector(".img-responsive[alt='Gets URL']")&&typeof x!="undefined")//GetsURL.com
{
@ -791,7 +795,7 @@ if(document instanceof HTMLDocument)
if(b)
{
safelyNavigate(b.href+"&ab"+x)
return
return setBypassed()
}
}
if(document.querySelector(".top-bar a[href='https://linkvertise.net']")&&typeof app!="undefined"&&app.handleRedirect)//Linkvertise.net
@ -804,20 +808,20 @@ if(document instanceof HTMLDocument)
{
if(typeof secondsdl!="undefined")
secondsdl=0
return
return setBypassed()
}
//SafeLinkReview.com
if(document.querySelector(".navbar-brand")&&document.querySelector(".navbar-brand").textContent.trim()=="Safe Link Review"&&document.querySelector(".button.green"))
{
window.open=safelyNavigate
document.querySelector(".button.green").click()
return
return setBypassed()
}
if(location.hostname=="decrypt2.safelinkconverter.com"&&document.querySelector(".redirect_url > div[onclick]"))
{
window.open=safelyNavigate
document.querySelector(".redirect_url > div[onclick]").click()
return
return setBypassed()
}
let t=document.querySelector("title")
if(t)
@ -828,17 +832,19 @@ if(document instanceof HTMLDocument)
if(b&&b.getAttribute("data-url"))
{
safelyNavigate(b.getAttribute("data-url"))
return
return setBypassed()
}
}
}
sI(()=>{
setBypassed()
let dT=sI(()=>{//Monitor DOM for other disturbances for 10 seconds.
if(document.querySelector(".lay-sh.active-sh"))//Shorte.st Embed
{
let elm=document.querySelectorAll(".lay-sh.active-sh")[0]
elm.parentNode.removeChild(elm)
}
},500)
},100)
setTimeout(()=>clearInterval(dT),10000)
})
},
//This method of injecting the script is faster than any interfering extensions in most cases
@ -846,9 +852,7 @@ if(document instanceof HTMLDocument)
let script=document.createElement("script")
script.innerHTML=text
script=document.documentElement.appendChild(script)
setTimeout(()=>{//Removing the script again after it's been executed to keep the DOM clean
document.documentElement.removeChild(script)
},10)
setTimeout(()=>document.documentElement.removeChild(script),10)//Removing the script again after it's been executed to keep the DOM clean
},
ensureDomLoaded=func=>{
if(["interactive","complete"].indexOf(document.readyState)>-1)
@ -857,10 +861,11 @@ if(document instanceof HTMLDocument)
}
injectScript("("+injectionCode.toString()+")()")
chrome.storage.sync.get(["crowd_bypass_opt_out"],result=>ensureDomLoaded(()=>document.documentElement.setAttribute("data-crowd-bypass-opt-"+(result&&result.crowd_bypass_opt_out&&result.crowd_bypass_opt_out==="true"?"out":"in"),"")))
ensureDomLoaded(()=>setInterval(()=>{
if(document.documentElement.hasAttribute("data-adlinkfly-info"))
ensureDomLoaded(()=>{
let dT=setInterval(()=>{
if(document.documentElement.hasAttribute("data-universal-bypass-adlinkfly-info"))
{
document.documentElement.removeAttribute("data-adlinkfly-info")
document.documentElement.removeAttribute("data-universal-bypass-adlinkfly-info")
let xhr=new XMLHttpRequest(),t="",iu=location.href
xhr.onreadystatechange=()=>{
if(xhr.readyState==4)
@ -876,7 +881,7 @@ if(document instanceof HTMLDocument)
t=decodeURIComponent(url.search.split("url=")[1].split("&")[0])
}
}
document.documentElement.setAttribute("data-adlinkfly-target",t)
document.documentElement.setAttribute("data-universal-bypass-adlinkfly-target",t)
}
}
if(iu.substr(iu.length-1)!="/")
@ -884,7 +889,13 @@ if(document instanceof HTMLDocument)
xhr.open("GET",iu+"info",true)
xhr.send()
}
},50))
if(document.documentElement.hasAttribute("data-universal-bypass-stop-watching"))
{
clearInterval(dT)
document.documentElement.removeAttribute("data-universal-bypass-stop-watching")
}
},50)
})
chrome.storage.local.get(["custom_bypasses"],result=>{
ensureDomLoaded(()=>{
if(result&&result.custom_bypasses)

View File

@ -10,7 +10,7 @@
<p data-message="blockedSubtitle"></p>
<ul><li><a href="options.html" target="_blank" data-message="options"></a></li></ul>
<hr>
<p>Copyright (c) 2018, <a href="https://hellsh.com" target="_blank">Hellsh</a></p>
<p>Copyright (c) 2018, Tim "timmyRS" Speckhals</p>
<script src="translations.js"></script>
</body>
</html>

View File

@ -11,7 +11,7 @@
<br>
<p><a id="ignore" href="#" data-message="crowdBypassedIgnore"></a></p>
<hr>
<p>Copyright (c) 2018, <a href="https://hellsh.com" target="_blank">Hellsh</a></p>
<p>Copyright (c) 2018, Tim "timmyRS" Speckhals</p>
<script src="translations.js"></script>
<script src="crowd-bypassed.js"></script>
</body>

View File

@ -16,7 +16,7 @@
<li><a href="https://twitter.com/unibypass" target="_blank" data-message="firstrunTwitter"></a></li>
</ul>
<hr>
<p>Copyright (c) 2018, <a href="https://hellsh.com" target="_blank">Hellsh</a></p>
<p>Copyright (c) 2018, Tim "timmyRS" Speckhals</p>
<script src="translations.js"></script>
</body>
</html>

View File

@ -9,13 +9,13 @@
<h1 data-message="options"></h1>
<br>
<p>
<input type="checkbox" id="option-tracker-bypass"> <label for="option-tracker-bypass"><span data-message="optionsTrackerBypass"></span> (Bit.ly, Goo.gl, T.co, ...)</label> (<a href="https://github.com/hell-sh/Universal-Bypass/blob/master/PRIVACY.md" target="_blank" data-message="privacyPolicy"></a>)<br>
<input type="checkbox" id="option-tracker-bypass"> <label for="option-tracker-bypass"><span data-message="optionsTrackerBypass"></span> (Bit.ly, Goo.gl, T.co, ...)</label> (<a href="https://github.com/timmyrs/Universal-Bypass/blob/master/PRIVACY.md" target="_blank" data-message="privacyPolicy"></a>)<br>
<input type="checkbox" id="option-block-ip-loggers"> <label for="option-block-ip-loggers" data-message="optionsBlockIPLoggers"></label><br>
<input type="checkbox" id="option-crowd-bypass"> <label for="option-crowd-bypass" data-message="optionsCrowdBypass"></label> (<a href="https://github.com/hell-sh/Universal-Bypass/blob/master/PRIVACY.md" target="_blank" data-message="privacyPolicy"></a>)
<input type="checkbox" id="option-crowd-bypass"> <label for="option-crowd-bypass" data-message="optionsCrowdBypass"></label> (<a href="https://github.com/timmyrs/Universal-Bypass/blob/master/PRIVACY.md" target="_blank" data-message="privacyPolicy"></a>)
</p>
<h2 data-message="optionsUserscripts"></h2>
<a name="userscripts"></a>
<p><span data-message="optionsUserscriptsSubtitle"></span> <a href="https://github.com/hell-sh/Universal-Bypass" target="_blank">https://github.com/hell-sh/Universal-Bypass</a></p>
<p><span data-message="optionsUserscriptsSubtitle"></span> <a href="https://github.com/timmyrs/Universal-Bypass" target="_blank">https://github.com/timmyrs/Universal-Bypass</a></p>
<div class="row">
<div class="col-lg-3">
<div class="list-group" id="custom-bypasses-list"></div>
@ -33,7 +33,7 @@
</div>
</div>
<hr>
<p>Copyright (c) 2018, <a href="https://hellsh.com" target="_blank">Hellsh</a></p>
<p>Copyright (c) 2018, Tim "timmyRS" Speckhals</p>
<script src="translations.js"></script>
<script src="options.js"></script>
</body>

View File

@ -13,7 +13,7 @@
<li><a href="https://universal-bypass.org" target="_blank" data-message="homepage"></a></li>
<li><a href="https://twitter.com/unibypass" target="_blank">Twitter</a></li>
</ul>
<p>Copyright (c) 2018, <a href="https://hellsh.com" target="_blank">Hellsh</a></p>
<p>Copyright (c) 2018, Tim "timmyRS" Speckhals</p>
<script src="translations.js"></script>
</body>
</html>

View File

@ -10,8 +10,8 @@
"name": "Universal Bypass",
"description": "__MSG_appDesc__",
"homepage_url": "https://universal-bypass.org/",
"version": "6.3",
"author": "timmyRS",
"version": "6.3.1",
"author": "Tim \"timmyRS\" Speckhals",
"minimum_chrome_version": "41",
"options_ui": {
"page": "html/options.html",