diff options
author | nullius <nullius@nym.zone> | 2017-12-30 21:55:46 +0000 |
---|---|---|
committer | nullius <nullius@nym.zone> | 2017-12-30 21:55:46 +0000 |
commit | ce7503453cb41fd0471fad664e8c3b0dd80ce002 (patch) | |
tree | f84a033b1890c6f56196ff5125e70f6c180413ba /src/setwhitelist.js | |
parent | 9c4cd9c9841567fdf68919da245f9587bbab78c6 (diff) | |
download | cloudflare-tor-ce7503453cb41fd0471fad664e8c3b0dd80ce002.tar.lz cloudflare-tor-ce7503453cb41fd0471fad664e8c3b0dd80ce002.tar.xz cloudflare-tor-ce7503453cb41fd0471fad664e8c3b0dd80ce002.zip |
Import v1.0.7.1 from a.m.o.
This is a huge jump. Sorry, I will not manually import all intermediary
versions to track development. Significant changes:
- Major feature: Now works with Firefox 52 / current Tor Browser.
Closes #2.
- Major feature: Error page. Closes #3.
- Major feature: Whitelist. Closes #4.
- Regression: Indentation/style is busted. Reopens #1.
Diffstat (limited to 'src/setwhitelist.js')
-rw-r--r-- | src/setwhitelist.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/setwhitelist.js b/src/setwhitelist.js new file mode 100644 index 00000000..5d009b41 --- /dev/null +++ b/src/setwhitelist.js @@ -0,0 +1,44 @@ +function saveWhitelist(e) { +e.preventDefault(); +//WHITELIST +// check each line and remove bad fqdn (simple check) +var cf_tmpdata=document.querySelector("#myset_cfwhite").value.split("\n"); +for (var i=0;i<cf_tmpdata.length;i++){ +if (!/^([0-9a-z.-]{1,})\.([a-z]{2,20})$/.test(cf_tmpdata[i])||cf_tmpdata[i].startsWith(".")||cf_tmpdata[i].includes("..")|| +cf_tmpdata[i].endsWith(".cloudflare.com")||cf_tmpdata[i]=='cloudflare.com'|| +cf_tmpdata[i].endsWith(".incapsula.com")||cf_tmpdata[i]=='incapsula.com'|| +cf_tmpdata[i].endsWith(".withgoogle.com")||cf_tmpdata[i].endsWith(".google.com")){cf_tmpdata[i]='';} +} +cf_tmpdata=cf_tmpdata.slice().sort(function(a,b){return a>b}).reduce(function(a,b){if (a.slice(-1)[0]!==b){a.push(b);};return a;},[]);// -duplicate +cf_tmpdata=cf_tmpdata.filter(v=>v!='');// -empty +cf_tmpdata=cf_tmpdata.join("\n"); +browser.storage.local.set({myset_cfwhite: cf_tmpdata}); +document.querySelector("#myset_cfwhite").value=cf_tmpdata; +//workaround - simplewarn didn't work as expected if igncj is active +if (document.querySelector("#myset_xsimplewarn").checked){document.querySelector("#myset_xigncj").checked=false;} +//ADVANCED +if (document.querySelector("#myset_xincapsula").checked){browser.storage.local.set({myset_xincapsula: "y"});}else{browser.storage.local.set({myset_xincapsula: "n"});} +if (document.querySelector("#myset_xgshield").checked){browser.storage.local.set({myset_xgshield: "y"});}else{browser.storage.local.set({myset_xgshield: "n"});} +if (document.querySelector("#myset_xsucuri").checked){browser.storage.local.set({myset_xsucuri: "y"});}else{browser.storage.local.set({myset_xsucuri: "n"});} +if (document.querySelector("#myset_xignhttp").checked){browser.storage.local.set({myset_xignhttp: "y"});}else{browser.storage.local.set({myset_xignhttp: "n"});} +if (document.querySelector("#myset_xigncj").checked){browser.storage.local.set({myset_xigncj: "y"});}else{browser.storage.local.set({myset_xigncj: "n"});} +if (document.querySelector("#myset_xsimplewarn").checked){browser.storage.local.set({myset_xsimplewarn: "y"});}else{browser.storage.local.set({myset_xsimplewarn: "n"});} +} +function loadWhitelist(){ +function setCurrentChoice(r){ +//WHITELIST +document.querySelector("#myset_cfwhite").value = r.myset_cfwhite||""; +//ADVANCED +if (r.myset_xincapsula=='y'){document.querySelector("#myset_xincapsula").checked=true;}else{document.querySelector("#myset_xincapsula").checked=false;} +if (r.myset_xgshield=='y'){document.querySelector("#myset_xgshield").checked=true;}else{document.querySelector("#myset_xgshield").checked=false;} +if (r.myset_xsucuri=='y'){document.querySelector("#myset_xsucuri").checked=true;}else{document.querySelector("#myset_xsucuri").checked=false;} +if (r.myset_xignhttp=='y'){document.querySelector("#myset_xignhttp").checked=true;}else{document.querySelector("#myset_xignhttp").checked=false;} +if (r.myset_xigncj=='y'){document.querySelector("#myset_xigncj").checked=true;}else{document.querySelector("#myset_xigncj").checked=false;} +if (r.myset_xsimplewarn=='y'){document.querySelector("#myset_xsimplewarn").checked=true;}else{document.querySelector("#myset_xsimplewarn").checked=false;} +} +function onError(e){console.log(`CFMITM_CFG Error:${e}`);} +var getting=browser.storage.local.get(); +getting.then(setCurrentChoice, onError); +} +document.addEventListener("DOMContentLoaded", loadWhitelist); +document.querySelector("form").addEventListener("submit", saveWhitelist);
\ No newline at end of file |