1
0
Fork 0
mirror of https://github.com/Oreolek/TrackMeNot-Chrome.git synced 2024-04-29 15:49:21 +03:00

jshint error fixes

This commit is contained in:
Alexander Yakovlev 2016-12-03 13:41:10 +07:00
parent b4754e437f
commit b03e76e328
2 changed files with 664 additions and 713 deletions

View file

@ -10,6 +10,7 @@ insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
# Tab indentation (no size specified)
[Makefile]

View file

@ -29,7 +29,7 @@ TRACKMENOT.TMNInjected = function() {
function getYahooId() {
var id = "A0geu";
while (id.length < 24) {
var lower = Math.random() < .5;
var lower = Math.random() < 0.5;
var num = parseInt(Math.random() * 38);
if (num === 37) {
id += '_';
@ -50,72 +50,82 @@ TRACKMENOT.TMNInjected = function() {
return id;
}
var testAd_google = function(anchorClass,anchorlink) {
return ( anchorlink
&& (anchorClass=='l' || anchorClass=='l vst')
&& anchorlink.indexOf('http')==0
&& anchorlink.indexOf('https')!=0);
}
return (
anchorlink &&
(
anchorClass=='l' ||
anchorClass=='l vst'
) &&
anchorlink.indexOf('http') === 0 &&
anchorlink.indexOf('https') !== 0
);
};
var testAd_yahoo= function(anchorClass,anchorlink) {
return ( anchorClass=='\"yschttl spt\"' || anchorClass=='yschttl spt');
}
};
var testAd_aol = function(anchorClass,anchorlink) {
return (anchorClass=='\"find\"' || anchorClass=='find'
&& anchorlink.indexOf('https')!=0 && anchorlink.indexOf('aol')<0 );
}
return (
anchorClass=='\"find\"' ||
anchorClass=='find' &&
anchorlink.indexOf('https') !== 0 &&
anchorlink.indexOf('aol')<0
);
};
var testAd_bing = function(anchorClass,anchorlink) {
return ( anchorlink
&& anchorlink.indexOf('http')==0
&& anchorlink.indexOf('https')!=0
&& anchorlink.indexOf('msn')<0
&& anchorlink.indexOf('live')<0
&& anchorlink.indexOf('bing')<0
&& anchorlink.indexOf('microsoft')<0
&& anchorlink.indexOf('WindowsLiveTranslator')<0 ) }
return (
anchorlink &&
anchorlink.indexOf('http') === 0 &&
anchorlink.indexOf('https') !== 0 &&
anchorlink.indexOf('msn')<0 &&
anchorlink.indexOf('live')<0 &&
anchorlink.indexOf('bing')<0 &&
anchorlink.indexOf('microsoft')<0 &&
anchorlink.indexOf('WindowsLiveTranslator')<0
);
};
var testAd_baidu = function(anchorClass,anchorlink) {
return ( anchorlink
&& anchorlink.indexOf('baidu')<0
&& anchorlink.indexOf('https')!=0 );
}
return (
anchorlink &&
anchorlink.indexOf('baidu') < 0 &&
anchorlink.indexOf('https') !== 0
);
};
var getButton_google =" var getButton = function( ) {var button = getElementsByAttrValue(document,'button', 'name', 'btnG' ); if ( !button ) button = getElementsByAttrValue(document,'button', 'name', 'btnK' );return button;}";
var getButton_yahoo= " var getButton = function( ) {return getElementsByAttrValue(document,'input', 'class', 'sbb' ); } ";
var getButton_bing= " var getButton = function( ) {return document.getElementById('sb_form_go');} ";
var getButton_aol = " var getButton = function ( ) {return document.getElementById('csbbtn1'); }";
var getButton_baidu = " var getButton = function ( ){ return getElementsByAttrValue(document,'input', 'value', '????' ); }";
var getButton_google =" var getButton = function( ) {var button = getElementsByAttrValue(document,'button', 'name', 'btnG' ); if ( !button ) button = getElementsByAttrValue(document,'button', 'name', 'btnK' );return button;}"
var getButton_yahoo= " var getButton = function( ) {return getElementsByAttrValue(document,'input', 'class', 'sbb' ); } "
var getButton_bing= " var getButton = function( ) {return document.getElementById('sb_form_go');} "
var getButton_aol = " var getButton = function ( ) {return document.getElementById('csbbtn1'); }"
var getButton_baidu = " var getButton = function ( ){ return getElementsByAttrValue(document,'input', 'value', '????' ); }"
SearchBox_google = "var searchbox = function( ) { return getElementsByAttrValue(document,'input', 'name', 'q' ); } "
SearchBox_yahoo = "var searchbox = function( ) { return document.getElementById('yschsp');}"
SearchBox_bing= "var searchbox = function( ) {return document.getElementById('sb_form_q'); } "
SearchBox_aol= "var searchbox = function( ) {return document.getElementById('csbquery1'); }"
SearchBox_baidu= "var searchbox = function( ) {return document.getElementById('kw');}"
SearchBox_google = "var searchbox = function( ) { return getElementsByAttrValue(document,'input', 'name', 'q' ); } ";
SearchBox_yahoo = "var searchbox = function( ) { return document.getElementById('yschsp');}";
SearchBox_bing= "var searchbox = function( ) {return document.getElementById('sb_form_q'); } ";
SearchBox_aol= "var searchbox = function( ) {return document.getElementById('csbquery1'); }";
SearchBox_baidu= "var searchbox = function( ) {return document.getElementById('kw');}";
var suggest_google = ['gsr' , 'td', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'gac_c' )
}]
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'gac_c' );
}];
var suggest_yahoo = ['atgl' , 'a', function ( elt ) {
return elt.hasAttribute('gossiptext')
}]
return elt.hasAttribute('gossiptext');
}];
var suggest_bing = ['sa_drw' , 'li', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'sa_sg' )
}]
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'sa_sg' );
}];
var suggest_baidu = ['st' , 'tr', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'ml' )
}]
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'ml' );
}];
var suggest_aol = ['ACC' , 'a', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'acs')
}]
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'acs');
}];
var engines = [
{'id':'google','name':'Google Search', 'urlmap':"https://www.google.com/search?hl=en&q=|", 'regexmap':"^(https?:\/\/[a-z]+\.google\.(co\\.|com\\.)?[a-z]{2,3}\/(search){1}[\?]?.*?[&\?]{1}q=)([^&]*)(.*)$", "host":"(www\.google\.(co\.|com\.)?[a-z]{2,3})$","testad":"var testad = function(ac,al) {return ( al&& (ac=='l' || ac=='l vst')&& al.indexOf('http')==0 && al.indexOf('https')!=0);}",'box':SearchBox_google,'button':getButton_google} ,
@ -123,7 +133,7 @@ TRACKMENOT.TMNInjected = function() {
{'id':'bing','name':'Bing Search', 'urlmap':"http://www.bing.com/search?q=|", 'regexmap':"^(https?:\/\/www\.bing\.com\/search\?[^&]*q=)([^&]*)(.*)$", "host":"(www\.bing\.com)$","testad":"var testad = function(ac,al) {return ( al&& al.indexOf('http')==0&& al.indexOf('https')!=0 && al.indexOf('msn')<0 && al.indexOf('live')<0 && al.indexOf('bing')<0&& al.indexOf('microsoft')<0 && al.indexOf('WindowsLiveTranslator')<0 ) }",'box':SearchBox_bing,'button':getButton_bing},
{'id':'baidu','name':'Baidu Search', 'urlmap':"http://www.baidu.com/s?wd=|", 'regexmap':"^(https?:\/\/www\.baidu\.com\/s\?.*?wd=)([^&]*)(.*)$", "host":"(www\.baidu\.com)$","testad":"var testad = function(ac,al) {return ( al&& al.indexOf('baidu')<0 && al.indexOf('https')!=0 );}",'box':SearchBox_baidu,'button':getButton_baidu},
{'id':'aol','name':'Aol Search', 'urlmap':"http://search.aol.com/aol/search?q=|", 'regexmap':"^(https?:\/\/[a-z0-9.]*?search\.aol\.com\/aol\/search\?.*?q=)([^&]*)(.*)$", "host":"([a-z0-9.]*?search\.aol\.com)$","testad":"var testad = function(ac,al){return(ac=='\"find\"'||ac=='find'&& al.indexOf('https')!=0 && al.indexOf('aol')<0 );}",'box':SearchBox_aol,'button':getButton_aol}
]
];
function roll(min,max){
return Math.floor(Math.random()*(max+1))+min;
@ -140,7 +150,11 @@ TRACKMENOT.TMNInjected = function() {
}
function getEngineById( id) {
return engines.filter(function(a) {return a.id ==id})[0]
return engines.filter(
function(a) {
return a.id === id;
}
)[0];
}
function stripPhrases(htmlStr) {
@ -153,39 +167,33 @@ TRACKMENOT.TMNInjected = function() {
return htmlStr.replace(/(<([^>]+)>)/ig,"");
}
function pressEnter(elt) {
var timers = getTimingArray();
var evtDown = new KeyboardEvent("keydown", {"keyCode":13} );
window.setTimeout(function(){
elt.dispatchEvent(evtDown);
},timers[0])
},timers[0]);
var evtPress = new KeyboardEvent("keypress", {"keyCode":13} );
window.setTimeout(function(){
elt.dispatchEvent(evtPress);
},timers[1])
},timers[1]);
var evtUp = new KeyboardEvent("keyup", {"keyCode":13} );
window.setTimeout(function(){
elt.dispatchEvent(evtUp);
},timers[2])
window.setTimeout(sendPageLoaded,timers[3])
},timers[2]);
window.setTimeout(sendPageLoaded,timers[3]);
}
function downKey(chara, searchBox) {
var charCode = chara[chara.length-1].charCodeAt(0)
var charCode = chara[chara.length-1].charCodeAt(0);
var evtDown = new KeyboardEvent("keydown", {"charCode":charCode} );
searchBox.dispatchEvent(evtDown)
searchBox.dispatchEvent(evtDown);
}
function pressKey(chara, searchBox) {
var charCode = chara[chara.length-1].charCodeAt(0)
var charCode = chara[chara.length-1].charCodeAt(0);
var evtPress = new KeyboardEvent("keypress", {"charCode":charCode} );
searchBox.dispatchEvent(evtPress)
searchBox.dispatchEvent(evtPress);
}
function inputChar(chara, searchBox) {
@ -217,9 +225,9 @@ TRACKMENOT.TMNInjected = function() {
anchorLink = pageLinks[i].getAttribute("href");
anchorClass = pageLinks[i].getAttribute("class");
var link = stripTags(pageLinks[i].innerHTML);
eval (engine.testad)
eval (engine.testad);
if ( testad!="undefined" && testad(anchorClass,anchorLink) ) {
j++
j++;
if ( j == clickIndex ) {
var logEntry = JSON.stringify({
'type' : 'click',
@ -227,10 +235,10 @@ TRACKMENOT.TMNInjected = function() {
'query' : link,
'id':tmn_id
});
log(logEntry)
log(logEntry);
try {
clickElt(pageLinks[i])
debug("link clicked")
clickElt(pageLinks[i]);
debug("link clicked");
} catch (e) {
alert("error opening click-through request for " + e);
}
@ -240,37 +248,33 @@ TRACKMENOT.TMNInjected = function() {
}
}
function clickButton() {
eval(engine.button)
var button = getButton(document)
eval(engine.button);
var button = getButton(document);
clickElt(button);
debug("send page loaded")
debug("send page loaded");
}
function clickElt(elt) {
var win = document.defaultView;
if ( !elt) return;
if ( !elt)
return;
var timers = getTimingArray();
var evtDown = document.createEvent("MouseEvents");
evtDown.initMouseEvent("mousedown",true,true,win,0, 0, 0, 0, 0, false, false, false, false, 0, null);
window.setTimeout(function(){
elt.dispatchEvent(evtDown);
},timers[0])
},timers[0]);
var evtUp = document.createEvent("MouseEvents");
evtUp.initMouseEvent("mouseup",true, true,win,0,0,0,0,0, false, false, false, false, 0, null);
window.setTimeout(function(){
elt.dispatchEvent(evtUp);
},timers[1])
},timers[1]);
var evtCl = document.createEvent("MouseEvents");
evtCl.initMouseEvent("click",true, true,win,0,0,0,0, 0, false, false, false, false, 0, null);
window.setTimeout(function(){
elt.dispatchEvent(evtCl);
},timers[2])
},timers[2]);
}
@ -305,9 +309,9 @@ TRACKMENOT.TMNInjected = function() {
suggestElts.push(line);
}
var suggestions = suggestElts.map(function(x) {
return stripTags(x.innerHTML)
return stripTags(x.innerHTML);
});
debug( 'TMN: ' +suggestions)
debug( 'TMN: ' +suggestions);
return suggestElts.slice();
}
@ -316,22 +320,24 @@ TRACKMENOT.TMNInjected = function() {
var searched = searchValue.split(' ');
var tosearch = nextQuery.split(' ');
var result = [];
result = result.concat(searched.filter(function(x) {
return (tosearch.indexOf(x)>=0)
}));
result = result.concat(
searched.filter(
function(x) {
return (tosearch.indexOf(x) >= 0);
}
)
);
return result;
}
function getTimingArray() {
var timers = [];
for (var i=0; i<5; i++) {
timers.push(Math.floor(Math.random()*30))
timers.push(Math.floor(Math.random()*30));
}
return timers.sort();
}
function typeQuery( queryToSend, currIndex, searchBox, chara,isIncr ) {
var nextPress ;
tmnCurrentQuery = queryToSend;
@ -349,56 +355,62 @@ TRACKMENOT.TMNInjected = function() {
return;
} else {
var newWord = queryToSend.substring(currIndex).split(" ")[0];
if ( newWord.length>1 && ( currIndex == 0 || queryToSend[currIndex-1]==" ") ) {
cout("Checking if "+newWord + " appears in "+searchBox.value)
if (! (searchBox.value.indexOf(newWord+" ")<0) ) {
cout("It\s in")
if (
newWord.length>1 &&
(
currIndex === 0 ||
queryToSend[currIndex-1] === " "
)
) {
cout("Checking if "+newWord + " appears in "+searchBox.value);
if ( searchBox.value.indexOf(newWord+" ") >= 0 ) {
cout("It's in");
if( searchBox.value.indexOf(newWord, currIndex)>=0 ) {
cout("We\re movine of "+ newWord.length+1 )
cout("We're moving of "+ newWord.length+1 );
searchBox.selectionEnd+= newWord.length+1;
searchBox.selectionStart =searchBox.selectionEnd;
}
currIndex+= newWord.length;
updateStatus(searchBox.value);
nextPress = roll(50,250);
window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice() ,false )
window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice() ,false );
return;
}
}
chara.push(queryToSend[currIndex])
chara.push(queryToSend[currIndex]);
var timers = getTimingArray();
var textvalue = queryToSend[currIndex];
window.setTimeout( function(){
return downKey(chara, searchBox)
return downKey(chara, searchBox);
}, timers[0]);
window.setTimeout( function(){
return pressKey(chara, searchBox)
return pressKey(chara, searchBox);
}, timers[1]);
window.setTimeout( function(){
return inputChar(chara, searchBox)
return inputChar(chara, searchBox);
}, timers[2]);
window.setTimeout( function(){
searchBox.value += textvalue
searchBox.value += textvalue;
}, timers[3]);
window.setTimeout( function(){
return releaseKey( chara, searchBox)
return releaseKey( chara, searchBox);
}, timers[4]);
updateStatus(searchBox.value);
currIndex++
currIndex++;
nextPress = roll(50,250);
window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice(),false )
window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice(),false );
}
} else {
updateStatus(searchBox.value);
nextPress = roll(10,30);
if (Math.random() <0.5) window.setTimeout( clickButton, nextPress);
else window.setTimeout(pressEnter, nextPress, searchBox)
else window.setTimeout(pressEnter, nextPress, searchBox);
// window.setTimeout( sendCurrentURL, nextpress+1)
}
}
function sendCurrentURL() {
debug("The current url is: " +window.location.href)
debug("The current url is: " +window.location.href);
var response = {
url: window.location.href
};
@ -424,8 +436,8 @@ TRACKMENOT.TMNInjected = function() {
} catch (ex) {
host = "";
}
var reg = new RegExp(engine.host,'g')
var encodedUrl = queryToURL(url, queryToSend)
var reg = new RegExp(engine.host,'g');
var encodedUrl = queryToURL(url, queryToSend);
var logEntry = JSON.stringify({
'type' : 'query',
"engine" : engine.id,
@ -433,9 +445,9 @@ TRACKMENOT.TMNInjected = function() {
'query' : queryToSend,
'id' : tmn_id
});
log(logEntry)
log(logEntry);
updateStatus(queryToSend);
if ( host =="" || !host.match(reg) ) {
if ( host === "" || !host.match(reg) ) {
try {
window.location.href = encodedUrl;
return encodedUrl;
@ -448,21 +460,23 @@ TRACKMENOT.TMNInjected = function() {
}
} else {
if (engine.button) eval(engine.button)
if (engine.box) eval(engine.box)
if (engine.button)
eval(engine.button);
if (engine.box)
eval(engine.box);
var searchBox = engine.box ? searchbox() : null;
var searchButton = engine.button ? getButton() : null;
if ( searchBox && searchButton && engine!='aol' ) {
debug("The searchbox has been found "+searchBox )
debug("The searchbox has been found "+searchBox );
searchBox.value = getCommonWords(searchBox.value,queryToSend).join(' ');
searchBox.selectionStart = 0;
searchBox.selectionEnd = 0;
var chara = new Array();
var chara = [];
typeQuery( queryToSend, 0, searchBox, chara,false );
return null;
} else {
tmnCurrentURL = encodedUrl;
debug("The searchbox can not be found " )
debug("The searchbox can not be found " );
try {
window.location.href = encodedUrl;
return encodedUrl;
@ -473,95 +487,46 @@ TRACKMENOT.TMNInjected = function() {
});
return null;
}
}
}
}
//function updateURLRegexp( eng, url) {
//var result = checkForSearchUrl(url);
//if (!result) {
//return;
//}
//var pre = result[1];
//var query = result[2];
//var post = result[3];
//var eng = result[4];
//var asearch = pre+'|'+post;
//var regex = regexMap[eng];
//cout(" regex: "+regex+" ->\n "+url);
//result = url.match(regex);
//cout("updateURLRegexp")
//if (!result) {
//cout("Can't find a regexp matching searched url")
//return false;
//}
//if (result.length !=4 ){
//if (result.length ==6 && eng == "google" ) {
//result.splice(2,2);
//result.push(eng);
//}
//cout("REGEX_ERROR: "+url);
//for (var i in result)
//cout(" **** "+i+")"+result[i])
//}
//// -- EXTRACT DATA FROM THE URL
//var pre = result[1];
//var post = result[3];
//var asearch = pre+'|'+post;
//if(eng=="google" && !url.match("^(https?:\/\/[a-z]+\.google\.(co\\.|com\\.)?[a-z^\/]{2,3}\/(search){1}\?.*?[&\?]{1}q=)([^&]*)(.*)$") || url.indexOf("sclient=psy-ab")>0 || url.indexOf("#")>0 )
//return true;
//// -- NEW SEARCH URL: ADD TO USER_MAP
//if (asearch ){
//setCurrentURLMap(eng, asearch);
//}
//return true;
//}
function checkForSearchUrl(url) {
var result = null;
var id = null;
for (var i=0;i < engines.length; i++) {
var eng = engines[i]
var eng = engines[i];
var regex = eng.regexmap;
debug(" regex: "+regex+" ->\n "+url);
result = url.match(regex);
if (result) {
cout(regex + " MATCHED! on "+eng.id );
id = eng.id;
break;
}
}
if (!result)return null;
if (result.length !=4 ){
if (result.length ==6 && eng.id == "google" ) {
if (result.length ==6 && id == "google" ) {
result.splice(2,2);
result.push(eng.id);
result.push(id);
return result;
}
cout("REGEX_ERROR: "+url);
/* for (var i in result)
cout(" **** "+i+")"+result[i])*/
}
result.push(eng.id);
result.push(id);
return result;
}
function isSafeHost( host ) {
for (var i=0;i< engines.length; i++){
var eng = engines[i]
var eng = engines[i];
var regex = eng.hostMap;
cout("regex :" +regex)
cout("regex :" +regex);
if (host.match(regex)) {
return eng;
}
@ -576,20 +541,20 @@ TRACKMENOT.TMNInjected = function() {
var req = {
"tmn": "pageLoaded",
"html": document.defaultView.document.body.innerHTML
}
};
chrome.runtime.sendMessage(req);
});
}
function log(msg) {
chrome.runtime.sendMessage({tmnLog:msg} )
chrome.runtime.sendMessage({tmnLog:msg} );
}
function updateStatus(msg) {
var req = {
"updateStatus": msg
}
};
chrome.runtime.sendMessage(req);
}
@ -597,7 +562,7 @@ TRACKMENOT.TMNInjected = function() {
var Eng_URL = eng + "--" + url;
var req = {
setURLMap: Eng_URL
}
};
chrome.runtime.sendMessage(req);
}
@ -620,7 +585,7 @@ TRACKMENOT.TMNInjected = function() {
function setTMNCurrentURL(url) {
tmnCurrentURL= url;
debug("Current TMN loc: "+ tmnCurrentURL )
debug("Current TMN loc: "+ tmnCurrentURL );
var message = {
"url": tmnCurrentURL
};
@ -628,20 +593,13 @@ TRACKMENOT.TMNInjected = function() {
sendPageLoaded();
}
function clickResult(request) {
cout("Clicking on engine : "+request.tmn_engine )
cout("Clicking on engine : "+request.tmn_engine );
simulateClick(request.tmn_engine);
}
return {
handleRequest : function(request, sender, sendResponse) {
//debug("Received: "+ request.tmnQuery + " on engine: "+ request.tmnEngine + " mode: " +request.tmnMode)
if (request.tmnQuery) {
var tmn_query = request.tmnQuery;
engine = request.tmnEngine;
@ -650,26 +608,23 @@ TRACKMENOT.TMNInjected = function() {
tmn_id = request.tmnID;
var tmn_URLmap = request.tmnUrlMap;
var encodedurl = sendQuery ( tmn_query, tmn_mode, tmn_URLmap );
if (encodedurl != null) {
if (encodedurl !== null) {
debug("scheduling next set url");
setTMNCurrentURL(encodedurl);
}
}
if (request.tmn_engine) {
clickResult(request)
clickResult(request);
}
return; // snub them.
} ,
checkIsActiveTab : function() {
chrome.runtime.sendMessage({
tmn: "isActiveTab"
}, function(resp) {
if (!resp)
return
return;
if (resp.isActive){
TRACKMENOT.TMNInjected.hasLoaded();
} else {
@ -679,13 +634,13 @@ TRACKMENOT.TMNInjected = function() {
notifyUserSearch(eng, window.location.href);
}
}
} )
});
},
hasLoaded :function(){
var host = window.location.host;
if (!isSafeHost(host) ) {
cout ("Host "+ host+ " is unsafe")
cout ("Host "+ host+ " is unsafe");
window.stop();
//history.go(-1);
}
@ -696,18 +651,13 @@ TRACKMENOT.TMNInjected = function() {
"tmn": "pageLoaded",
"html": document.defaultView.document.body.innerHTML,
"url" : document.location
}
};
chrome.runtime.sendMessage(req);
});
},
}
};
}();
TRACKMENOT.TMNInjected.checkIsActiveTab();
chrome.runtime.onMessage.addListener( TRACKMENOT.TMNInjected.handleRequest );
/*self.port.on("TMNTabRequest", TRACKMENOT.TMNInjected.handleRequest );
self.port.on("TMNClickResult", TRACKMENOT.TMNInjected.clickResult );*/