Merge branch 'master' of github.com:AliasIO/Wappalyzer

main
Elbert Alias 9 years ago
commit 7e6a65dcd7

6
.gitignore vendored

@ -1,4 +1,3 @@
.vagrant
build/*
@ -6,6 +5,11 @@ build/*
drivers/npm/node_modules
drivers/npm/npm-debug.log
node_modules/
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
!.gitkeep

@ -1,16 +1,13 @@
language: node_js
node_js:
- "0.10"
sudo: required
- "0.12"
sudo: false
before_install:
- export WAPPALYZER_ROOT=$TRAVIS_BUILD_DIR
- export WAPPALYZER_NODE_PATH=$TRAVIS_BUILD_DIR
- export PATH=$PATH:$TRAVIS_BUILD_DIR/bin
install:
- sudo apt-get update -y
- sudo apt-get install -y curl zip sudo -y --force-yes
- sudo apt-get clean
- npm install jsonlint jpm -g
- npm install jsonlint jpm imagemin-cli -g
- ln -s docker/node/package.json package.json && npm install
- mkdir phantomjs && curl -L https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2 | tar xvjC phantomjs && ln -s $WAPPALYZER_ROOT/phantomjs/phantomjs-*-linux-x86_64/bin/phantomjs bin/phantomjs
script: wappalyzer build

@ -15,6 +15,10 @@ echo "Prettifying apps.json..."
jsonlint -ist $'\t' $WAPPALYZER_ROOT/src/apps.json
echo "Compressing icons..."
imagemin $WAPPALYZER_ROOT/src/icons $WAPPALYZER_ROOT/src/icons -o 3
wappalyzer links
# Npm Module

@ -27,6 +27,11 @@ for ( app in json.apps ) {
attrs = pattern.split('\\;'),
regex = '/' + attrs.shift().replace('/', '\/') + '/';
//Check if the pattern is a valid RegExp
//Note: unlike when used in Wappalyzer, the modifier i isn't added here
new RegExp(regex);
if ( /^\/(?:\^\$|\.\+|\.\*)\/$/.test(regex) ) {
throw new Error('Pattern should be replaced with empty string.\n' + app + ': ' + type + ': ' + pattern);
}

@ -7,13 +7,12 @@ ENV DEBIAN_FRONTEND noninteractive
ENV WAPPALYZER_ROOT /home/wappalyzer/synced
ENV WAPPALYZER_NODE_PATH /home/wappalyzer/node
# Install packages
RUN apt-get update && apt-get install -y curl nodejs npm zip libfreetype6 libfontconfig
RUN apt-get update && apt-get install -y curl zip libfreetype6 libfontconfig
RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash -
RUN apt-get install -y nodejs
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN ln -s /usr/bin/nodejs /usr/bin/node
# Add user
RUN useradd -ms /bin/bash wappalyzer && usermod -a -G docker_env wappalyzer && echo "wappalyzer:wappalyzer" | chpasswd
@ -33,7 +32,7 @@ RUN su wappalyzer -c "mkdir $WAPPALYZER_NODE_PATH"
ADD node/package.json $WAPPALYZER_NODE_PATH/package.json
RUN npm install jsonlint jpm -g && su wappalyzer -c "cd $WAPPALYZER_NODE_PATH && npm install"
RUN npm install jsonlint jpm imagemin-cli -g && su wappalyzer -c "cd $WAPPALYZER_NODE_PATH && npm install"
# PhantomJS

@ -586,7 +586,7 @@
"env": "^Backbone$",
"implies": "Underscore.js",
"script": "backbone.*\\.js",
"website": "documentcloud.github.com/backbone"
"website": "backbonejs.org"
},
"Backdrop": {
"cats": [
@ -1424,6 +1424,14 @@
},
"website": "dle-news.ru"
},
"DataTables": {
"cats": [
12
],
"implies": "jQuery",
"script": "dataTables.*\\.js",
"website": "datatables.net"
},
"David Webbox": {
"cats": [
22
@ -1639,7 +1647,7 @@
"meta": {
"generator": "Doxygen ([\\d.]+)\\;version:\\1"
},
"website": "stack.nl/~dimitri/doxygen"
"website": "www.stack.nl/~dimitri/doxygen/"
},
"DreamWeaver": {
"cats": [
@ -3469,6 +3477,12 @@
],
"website": "lucene.apache.org/core/"
},
"M.R. Inc BoxyOS": {
"cats": [
28
],
"website": "mrincworld.com"
},
"M.R. Inc Webserver": {
"cats": [
22
@ -3476,15 +3490,17 @@
"headers": {
"Server": "M\\.R\\. Inc Webserver"
},
"implies": [
"M.R. Inc BoxyOS"
],
"website": "mrincworld.com"
},
"M.R. Inc Wild CMS": {
"M.R. Inc SiteFrame": {
"cats": [
1,
6
18
],
"headers": {
"X-Powered-By": "M\\.R\\. Inc Wild CMS"
"Powered-By": "M\\.R\\. Inc SiteFrame"
},
"website": "mrincworld.com"
},
@ -4365,6 +4381,19 @@
},
"website": "orchardproject.net"
},
"osTicket": {
"cats": [
13
],
"implies": [
"PHP",
"MySQL"
],
"headers": {
"Set-Cookie": "OSTSESSID"
},
"website": "osticket.com"
},
"Outbrain": {
"cats": [
5
@ -4784,6 +4813,22 @@
},
"website": "???"
},
"RainLoop": {
"cats": [
30
],
"env": "^rainloop",
"headers": {
"Server": "RainLoop"
},
"html": [
"<meta [^>]*(?:content=\"([^\"]+)[^>]+ id=\"rlAppVersion\"|id=\"rlAppVersion\"[^>]+ content=\"([^\"]+))\\;version:\\1?\\1:\\2",
"<link[^>]* href=\"[^\"]*rainloop/v/([^/]+)\\;version:\\1"
],
"implies": "PHP",
"script": "rainloop/v/([^/]+)\\;version:\\1",
"website": "rainloop.net"
},
"RBS Change": {
"cats": [
1,
@ -5602,6 +5647,13 @@
"script": "assetscdn\\.stackla\\.com\\/media\\/js\\/widget\\/(?:[a-zA-Z0-9.]+)?\\.js",
"website": "stackla.com/"
},
"Stackla Social Hub": {
"cats": [
1
],
"env": "^stacklaSocialHub$",
"website": "stackla.com/"
},
"Starlet": {
"cats": [
22

@ -133,11 +133,11 @@ class Wappalyzer
$headers = trim(substr($response, 0, $headerSize));
$headers = preg_split('/^\s*$/m', $headers);
$headers = end($headers);
$lines = array_slice(explode("\r\n", $headers), 1);
$lines = array_slice(explode("\n", $headers), 1);
foreach ( $lines as $line ) {
if ( strpos(trim($line), ': ') !== false ) {
list($key, $value) = explode(': ', $line);
list($key, $value) = explode(': ', trim($line, "\r"));
$result->headers[strtolower($key)] = $value;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 856 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB