From 27023c2460a286b18af15f51b4c02871216d60b7 Mon Sep 17 00:00:00 2001 From: ElbertF Date: Sat, 7 Jan 2012 12:46:56 +1100 Subject: [PATCH] Added PHP, CakePHP, Ruby, Mongrel, CouchDB, Arc Forum, Google Sites --- drivers/firefox/content/js/custom.js | 62 -------- drivers/firefox/content/js/evaluate.js | 147 ------------------ drivers/firefox/content/xul/preferences.xul | 8 + .../firefox/defaults/preferences/defaults.js | 2 + share/images/icons/CakePHP.ico | Bin 0 -> 5430 bytes share/images/icons/Mongrel.ico | Bin 0 -> 1150 bytes share/images/icons/Ruby.ico | Bin 0 -> 1150 bytes share/js/apps.js | 7 +- share/js/wappalyzer.js | 5 +- 9 files changed, 16 insertions(+), 215 deletions(-) delete mode 100644 drivers/firefox/content/js/custom.js delete mode 100644 drivers/firefox/content/js/evaluate.js create mode 100644 share/images/icons/CakePHP.ico create mode 100644 share/images/icons/Mongrel.ico create mode 100644 share/images/icons/Ruby.ico diff --git a/drivers/firefox/content/js/custom.js b/drivers/firefox/content/js/custom.js deleted file mode 100644 index 9985186f1..000000000 --- a/drivers/firefox/content/js/custom.js +++ /dev/null @@ -1,62 +0,0 @@ -if ( typeof 'wappalyzer' != 'undefined' ) { - wappalyzer.evaluateCustomApps = function(feedback) { - wappalyzer.log('evaluateCustomApps'); - - if ( wappalyzer.customApps ) { - try { - var customAppsJSON = JSON.parse(wappalyzer.customApps); - - for ( appName in customAppsJSON ) { - wappalyzer.apps[appName] = {}; - - // Icon - if ( typeof(customAppsJSON[appName].icon) == 'string' ) { - wappalyzer.apps[appName].icon = customAppsJSON[appName].icon; - } - else { - wappalyzer.apps[appName].icon = 'chrome://wappalyzer/skin/app_icons/_placeholder.ico'; - } - - // Categories - if ( typeof(customAppsJSON[appName].categories) == 'object' ) { - wappalyzer.apps[appName].cats = {}; - - for ( i in customAppsJSON[appName].categories ) { - wappalyzer.apps[appName].cats[i] = parseInt(customAppsJSON[appName].categories[i]); - } - } - - // HTML - if ( typeof(customAppsJSON[appName].html) == 'string' ) { - wappalyzer.apps[appName].html = new RegExp(customAppsJSON[appName].html, 'i'); - } - - // URL - if ( typeof(customAppsJSON[appName].url) == 'string' ) { - wappalyzer.apps[appName].url = new RegExp(customAppsJSON[appName].url, 'i'); - } - - // Headers - if ( typeof(customAppsJSON[appName].headers) == 'object' ) { - wappalyzer.apps[appName].headers = {}; - - for ( headerName in customAppsJSON[appName].headers ) { - wappalyzer.apps[appName].headers[headerName] = new RegExp(customAppsJSON[appName].headers[headerName], 'i'); - } - } - } - - if ( feedback ) { - alert('Ok'); - } - } - catch(e) { - wappalyzer.log('JSON error in custom applications'); - - if ( feedback ) { - alert('Error: malformed JSON'); - } - } - } - }; -} diff --git a/drivers/firefox/content/js/evaluate.js b/drivers/firefox/content/js/evaluate.js deleted file mode 100644 index 7f4866e69..000000000 --- a/drivers/firefox/content/js/evaluate.js +++ /dev/null @@ -1,147 +0,0 @@ -if ( typeof(wappalyzer) == 'undefined' ) -{ - var wappalyzer = {}; - - wappalyzer.log = function(message) - { - if ( message ) - { - var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService); - - consoleService.logStringMessage("Wappalyzer: " + message); - } - }; -} - -wappalyzer.evaluateCustomApps = function(customApps, feedback) -{ - wappalyzer.log('evaluateCustomApps'); - - var appsAdded = {}; - - if ( customApps || wappalyzer.customApps ) - { - try - { - var customAppsJSON = JSON.parse(feedback ? customApps : wappalyzer.customApps); - - for ( appName in customAppsJSON ) - { - wappalyzer.apps[appName] = { - custom: true - }; - - appsAdded[appName] = true; - - // Icon - if ( typeof(customAppsJSON[appName].icon) == 'string' ) - { - wappalyzer.apps[appName].icon = customAppsJSON[appName].icon; - } - else - { - wappalyzer.apps[appName].icon = 'chrome://wappalyzer/skin/app_icons/_placeholder.ico'; - } - - // Categories - if ( typeof(customAppsJSON[appName].categories) == 'object' ) - { - wappalyzer.apps[appName].cats = {}; - - for ( i in customAppsJSON[appName].categories ) - { - var id = parseInt(customAppsJSON[appName].categories[i]); - - if ( typeof(wappalyzer.cats[id]) != 'undefined' ) - { - wappalyzer.apps[appName].cats[i] = id; - } - } - } - - // HTML - if ( typeof(customAppsJSON[appName].html) == 'string' ) - { - wappalyzer.apps[appName].html = new RegExp(customAppsJSON[appName].html, 'i'); - } - - // URL - if ( typeof(customAppsJSON[appName].url) == 'string' ) - { - wappalyzer.apps[appName].url = new RegExp(customAppsJSON[appName].url, 'i'); - } - - // Headers - if ( typeof(customAppsJSON[appName].headers) == 'object' ) - { - wappalyzer.apps[appName].headers = {}; - - for ( headerName in customAppsJSON[appName].headers ) - { - wappalyzer.apps[appName].headers[headerName] = new RegExp(customAppsJSON[appName].headers[headerName], 'i'); - } - } - } - - if ( feedback ) - { - var text = ''; - var count = 0; - - for ( appName in appsAdded ) - { - text += ' \n\n' + appName; - - if ( typeof(wappalyzer.apps[appName].cats) == 'object' ) - { - for ( i in wappalyzer.apps[appName].cats ) - { - text += ' [' + wappalyzer.cats[wappalyzer.apps[appName].cats[i]].name + ']'; - } - } - - text += '\n Icon [' + ( wappalyzer.apps[appName].icon != 'chrome://wappalyzer/skin/app_icons/_placeholder.ico' ? 'Yes' : 'No' ) + ']'; - - text += - ' HTML [' + ( typeof(wappalyzer.apps[appName].html) == 'object' ? 'Yes' : 'No' ) + ']' + - ' URL [' + ( typeof(wappalyzer.apps[appName].url) == 'object' ? 'Yes' : 'No' ) + ']' - ; - - text += ' Headers'; - - if ( typeof(wappalyzer.apps[appName].headers) == 'object' ) - { - for ( header in wappalyzer.apps[appName].headers ) - { - text += ' [' + header + ']'; - } - } - else - { - text += ' [No]'; - } - - count ++; - } - - alert('Ok. Found ' + count + ' application(s):' + text); - } - } - catch(e) - { - wappalyzer.log('evaluateCustomApps: malformed JSON'); - - if ( feedback ) - { - alert('Error: malformed JSON.'); - } - } - } - else - { - if ( feedback ) - { - alert('Nothing to evaluate!'); - } - } -}; diff --git a/drivers/firefox/content/xul/preferences.xul b/drivers/firefox/content/xul/preferences.xul index fcd08bfb0..3b9b75993 100755 --- a/drivers/firefox/content/xul/preferences.xul +++ b/drivers/firefox/content/xul/preferences.xul @@ -33,6 +33,8 @@ + + @@ -144,6 +146,12 @@ + + + + + + diff --git a/drivers/firefox/defaults/preferences/defaults.js b/drivers/firefox/defaults/preferences/defaults.js index ae978ff25..1982b0b52 100644 --- a/drivers/firefox/defaults/preferences/defaults.js +++ b/drivers/firefox/defaults/preferences/defaults.js @@ -29,3 +29,5 @@ pref('extensions.wappalyzer.cat22', true); pref('extensions.wappalyzer.cat23', true); pref('extensions.wappalyzer.cat24', true); pref('extensions.wappalyzer.cat25', true); +pref('extensions.wappalyzer.cat26', true); +pref('extensions.wappalyzer.cat27', true); diff --git a/share/images/icons/CakePHP.ico b/share/images/icons/CakePHP.ico new file mode 100644 index 0000000000000000000000000000000000000000..b88e45daf7f1dc2725c54160850bd93acf1cddbc GIT binary patch literal 5430 zcmd^DdrZ_<7N*-xn*F0`H=9lW=w?&5NxQqvW}7so+eaFy?bdcnA8M7SiuHja?_mIk z=g4aqU}hLzGt3MF%z%g>3IaY*R1^X6QBg!hph=@(AVKkr0;FFE=A(#h!+HhO8{_g;FQPS5^GKiMnn@l*W2 zlhX=%zVr{kQ%|zB)>kewrU{KD3X!!UFM0NWHf6RTInZJoHvRf>c1mOs8*7Z&_XYLj~myn;MCz#9MsEDtcXIfJQBJDf21WwL!&D|o<<8vklWp*^ABhw zca5?r9Nn+O^(z-(GMOh$I{8}LevNP1nt0qyW;6F? zU|;|P{ryM?aDzN00V;JKH2H;4%F`eV{Ib?DKUd`4*4xv~=de9En#nwbYGV!*=~85* zrywOd1c`p@us0_Ws_3m&$Nb{-@HTc<6oBvM4h|0B){X0k@m>jaq5wzsX>jdQ3qMyD z*J9ajyJLQpCfWJee(gPmHHU51_jGr0ELcXY7&Mu{_QT#eQ@bB!nbF%F^I2b`PhVan z4ZTL^e(!eI4UXL*%P8U%B|*Coy(%0)9?oJo6H@71SI&6U(`Y9xVEM62AVguQ7lB{xf## z@UrHkT8r{#i6cLjdMpUiT{pJt3xyKK~0GYvY^!%HTC}GN!cIh?sz9t=wZ)K4#LHA zCt$W%U>%>p*!U#I>{GDWr>RY0YHl8*#K*Z&n=#aTYx$F~-`jcBS?cS;InOpRgNd1Y z+~zRlyoorVulEk_-0tRWpr81KI6y`AsUE%cbM2dZyOzfjKee8&!#!GTcyx?7sujm7 z3Q(FI2fZX1d2u_D8@&}d#P6zDA7~Q;Al~#I`fs&ARKu7*GgJ28KA4|>`fJw?EDmWIxc;W z!>%`<+^CJ))}!0w(>*sc^_$1pA0HihIYa2i&(}cqq`N*xNk%j-H=p60X&q;ApIV4N z#l@wmaXQoqmouF)feminqI9Pmni+Yu~{1gzd4paiy`&S1xcx zdf*xuWD&UC)d{P8lH-nXJgX}ko3F#g@gd$& zYYU(xUBGlnn8yl)d98%N^<6}|F30@*{bwHK1LHcS&~37&B!^|YqO z67R4$m`Q_~%qG$d)Tn2gz)lXFJ64I%b?+j4(?}KZzFogTF9mG$W){u@RL_C zGT8IiN7=WHm|hjQ{2B7#^=La=&v}m7WO~O;jqRK99(%?x!EndVf;2J1|D~oA5UhO@ z;^42LOp|b3$6}x>FcKd02>Rl6oUbd5`Jppl+;Fj>DnPt(1#Vvd2IG^nw6=}o+%h_f zZi-1`T?OZV7WWLHCvk!+gW z+s8}oTl#M;m-wtg_?p*A?`x^veam@|VVv1wx_Pk%c8r;3zS?pIBCi#YrzSyPTt+qx zbf3^cou}a#V85CDq{v|SeegTf@5@y!wcm2AB0~7ZYiOW*)&%7e+v|eef9rmSO-Ik} z6O4Zu_I7VyOFX-m-=mmqjlK{$Ik`v@1wy!C6++g(14+PFh;(}sOhYZTU#5(y&kEnb zbBf(BAGKeHZPt&B*?7)HcsV0enL%8yL%L)S5(syqZL8@_R)WPcN3@CdWgy-dB+qRgV_JW)t)*jr45SkI{zHl#j=+3m%mjR3r7uD@mBjBT#$p;UV$VF%* zP0-)hOMGnSxxwls^ONC~;mAgu!gDn#;Htx}qi6YNkOW;hY*2FSvHQ`Z;?MLKi+vN- z!AngIJSS~avy_X|+<(WNY#~qjxepA_mzz%`&HoE@U2a2cDV}!j*Qx5gq-9(v_bxt^dy9RTvfEy$$QB=A z+Vg0cmaom~5Bu(6p)+Cm&i2mEm7guELA;siUHUda?=XGBGz-hkrsGwdpLOD$o&Tve zW_9qJv&Xh(2;3$!Lfs}0Q~hrtE!x%5&h0Zi4b$EiY7o^SsuOI?Y?xg zx4kFbfA#!{{aVG`%=AN?zj)t|8kTbW_@~Cxx%JXmU&OOVt;|Sett~S+s*BO-g`!YnQ3X=S< nGOb)96E@Wp$c$|b)d7~i?l%~hvwHSZZ2Z5zyXaHEe`WYj{#P~s literal 0 HcmV?d00001 diff --git a/share/images/icons/Mongrel.ico b/share/images/icons/Mongrel.ico new file mode 100644 index 0000000000000000000000000000000000000000..36829b9a5194426788a086ffabc266061549a29c GIT binary patch literal 1150 zcmbtSeN4=89R8%EKN>ZSjkU?xFf&`xN=;Xs8dA=sVbVeiTg@b!P=B#$Z8k4MFGePB z)hJ0+!mJbtrS*E3>0EVJQoE>rkLR+4HGgoo&+l{h{65di_eI2xUuS3G(@kPjA~Qu~ zA&U@^A2{2D9{}>dHKA}=*d$ROaF#Xk(?uOQg)?@4&W-tg=!F;uAl(W$k~~Q~_c_fA zOY~lukXzt;r1+7W?pUa(V`hsw+1|{&#u132@AurJ`aV&P&g&AFE{jY}^E}aP@wy5u zF9N(WtY6&sX63tTlhoq9)5$hF=56bvT+axnVDZ|Ues+=e(5zoIWO3N!=u<_h?&lQ*WC0=MZX#E61MsK+2J&@f)MWS02XSu=DHran&pSdCf2qriDHn8!A0!^-hwa>_Z0&K4UHa`VcGsmt%rSxlO>-f11 zndD%e>6Rb8bveK`daTbGLhyYBx>_K#n%Hal)-VG#_LSiz2F>GqSR}sSbIB^^-BJi_ zB`^5SFhZF(yaCX@qwX6Z>OFH&Yxi?Be`u&3&yN8~D6zf`yh|T)*5!{tTReg|&L?!y zx0%>0YSnXJs1@-7rk45|$Dixx8N`(j8G`O{ww(Exb)TMVtpxm-H`)Ni8p)$hNF6n* z(bwME=rYE)_L)`Mhv-4ECRjgq80U`hZT(!s z@JaI9Bpr%e092X4RPN_g-k~X1IB=0gd~qHcvh+$yzs2-hew)U(?iN*5YnRXAawTO^ zHX7v&!P9_i7Cy$7BCWF35;WY?;qa@k?RRHKyYv{_#oDPC^fU|lngrc?hX-|L&CQw~ vUH>P;v{8)j22BR(H5x`af9m|(f8jk4QIbRk=ZNSXL>}A!y=-$fj;+1}#fz*i literal 0 HcmV?d00001 diff --git a/share/images/icons/Ruby.ico b/share/images/icons/Ruby.ico new file mode 100644 index 0000000000000000000000000000000000000000..7f8cb129e27da5e63aa927b5c74a768c1ce524a6 GIT binary patch literal 1150 zcmbu8d29@E6vyA}F|*g~%xo_$t!+~jL8MBM;4int9}-tW1P$>A{YQvUP0>ndZPb>w z(kgA2tlq7vs9v?BH84H&_#pGEJ5TPE0V9sOS%gW*!TVW7A5ETyuZ3`?RIdJzq zpAzH;j=bcrJN61~9Ul-l{{@Q|oCVQt2$ljC&tfU%S#&=YCM^RN&5JO#Aw9^KSHCSx z&wPl)u}zpWuN?V>*DyS(8G^kQl2*t0^)T7@gG^~K*wfhG4ar>M4e~cSKjy^@sOO${ z@VVRI2-}N!%iA$^_7%hq2_SZ802YP&FlF*QX%I|1IWNx_E+{8KJF5U;%A#Y=l*X@Q)trbMPE3FLV@`IFe&hue?`gK&- zKI$RLXZ8Tc^cq`1hOBeF`L6ffiK8Y~ej-yb*QfxgRoq84B(`feUV{=@1EcJR(QyQV zRqtg>XK!BjZ{B@7H+ER%XEONs{2Gw6p7&mdk>djxH{~)kcRSSR#vW15h9IUq`IXn- z@7(X2o;azgi->2iGOwI~HL?Sx{x?{*>UxjORrF1AX2I-8ef&FKkG=o!Wx}S6&Wj=O ztvzIEMa1B%@K?P={IFV(tpHYaCqzd|;h*@QapUtB-J=^$z4M%G>ncxPdCMoe+7BCT tm3~R_tTRf<@?ZFW{I7{x6r#<>UJ}^_zvG_M(6+l literal 0 HcmV?d00001 diff --git a/share/js/apps.js b/share/js/apps.js index f845d9cef..5478763b0 100644 --- a/share/js/apps.js +++ b/share/js/apps.js @@ -54,6 +54,7 @@ 'Blogger': { cats: { 1: 11 }, meta: { 'generator': /blogger/i }, url: /^(www.)?.+\.blogspot\.com/i }, 'Bugzilla': { cats: { 1: 13 }, html: /<[^>]+(id|title|name)=("|')bugzilla/i }, 'Burning Board': { cats: { 1: 2 }, html: /]+woltlab\.com.+Burning Board/i }, + 'CakePHP': { cats: { 1: 18 }, headers: { 'Set-Cookie': /CAKEPHP=/ }, meta: { 'application-name': /CakePHP/ } }, 'Chameleon': { cats: { 1: 1 }, meta: { 'generator': /chameleon\-cms/i } }, 'chartbeat': { cats: { 1: 10 }, html: /function loadChartbeat\(\) {/i }, 'Chamilo': { cats: { 1: 21 }, meta: { 'generator': /Chamilo/i }, headers: { 'X-Powered-By': /Chamilo/ } }, @@ -150,6 +151,7 @@ 'Modernizr': { cats: { 1: 12 }, script: /modernizr.*\.js/ }, 'MODx': { cats: { 1: 1 }, html: /(]+>Powered by MODx<\/a>|var el= \$\('modxhost'\);|