diff --git a/.gitignore b/.gitignore index 9e926bfbc..8343ce16c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ /npm-debug.log /npm-debug.log +package-lock.json + !.gitkeep # Junk files diff --git a/Dockerfile b/Dockerfile index f2a28e638..d781318ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,6 @@ RUN apk update && apk add --no-cache \ bash \ curl \ fontconfig \ - nodejs \ nodejs-npm \ optipng \ zip @@ -17,14 +16,15 @@ RUN apk update && apk add --no-cache \ # https://github.com/dustinblackman/phantomized RUN curl -Ls "https://github.com/dustinblackman/phantomized/releases/download/2.1.1a/dockerized-phantomjs.tar.gz" | tar xz -C / -RUN apk del \ - curl +RUN apk del curl -RUN npm i -g \ +RUN npm i -g n npm@latest + +RUN n stable + +RUN npm i --unsafe-perm --silent -g \ jsonlint-cli \ - manifoldjs \ - svg2png-many \ - yarn + svg2png-many RUN mkdir -p $WAPPALYZER_DIR diff --git a/bin/build b/bin/build index 2bdd89fa1..7ddc048d7 100755 --- a/bin/build +++ b/bin/build @@ -22,7 +22,7 @@ find . -name ".DS_Store" -exec rm {} \; echo "Prettifying apps.json..." -jsonlint-cli -ist $'\t' src/apps.json +sed -e 's/\\\\/{{ESCAPE}}/g' src/apps.json | jsonlint-cli -ps | sed -e 's/{{ESCAPE}}/\\\\/g' > /tmp/apps.json && cat /tmp/apps.json > src/apps.json echo "Converting SVG icons to PNG..." diff --git a/bin/validate b/bin/validate index dd9b12729..1d6587600 100755 --- a/bin/validate +++ b/bin/validate @@ -6,7 +6,7 @@ set -eu echo "Validating apps.json..." -jsonlint-cli -tps schema.json src/apps.json > /tmp/apps.json && mv /tmp/apps.json src/apps.json +jsonlint-cli -s schema.json src/apps.json echo "Validating regular expressions..." diff --git a/package-lock.json b/npm-shrinkwrap.json similarity index 82% rename from package-lock.json rename to npm-shrinkwrap.json index 4fcb441c4..86c50adb4 100644 --- a/package-lock.json +++ b/npm-shrinkwrap.json @@ -20,7 +20,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -36,12 +36,12 @@ "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", "dev": true, "requires": { - "assertion-error": "1.1.0", - "check-error": "1.0.2", - "deep-eql": "3.0.1", - "get-func-name": "2.0.0", - "pathval": "1.1.0", - "type-detect": "4.0.8" + "assertion-error": "^1.0.1", + "check-error": "^1.0.1", + "deep-eql": "^3.0.0", + "get-func-name": "^2.0.0", + "pathval": "^1.0.0", + "type-detect": "^4.0.0" } }, "check-error": { @@ -51,9 +51,9 @@ "dev": true }, "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", "dev": true }, "concat-map": { @@ -77,7 +77,7 @@ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "type-detect": "4.0.8" + "type-detect": "^4.0.0" } }, "diff": { @@ -115,24 +115,24 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "he": { @@ -152,8 +152,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -167,7 +167,7 @@ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "requires": { - "html-comment-regex": "1.1.1" + "html-comment-regex": "^1.1.0" } }, "minimatch": { @@ -176,7 +176,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -195,22 +195,22 @@ } }, "mocha": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.0.tgz", - "integrity": "sha512-d6RWgYPILd+AoWVOxiD0UwUqRicnE1inTxMr40CXOgqYve1MvnKntoLAtLIcxjEeVjEoYYTe5QAq3mUc6/ySjQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", "dev": true, "requires": { "browser-stdout": "1.3.1", - "commander": "2.11.0", + "commander": "2.15.1", "debug": "3.1.0", "diff": "3.5.0", "escape-string-regexp": "1.0.5", "glob": "7.1.2", - "growl": "1.10.3", + "growl": "1.10.5", "he": "1.1.1", "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "4.4.0" + "supports-color": "5.4.0" } }, "ms": { @@ -225,7 +225,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "path-is-absolute": { @@ -250,22 +250,22 @@ "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", "requires": { - "pify": "3.0.0", - "safe-buffer": "5.1.1" + "pify": "^3.0.0", + "safe-buffer": "^5.1.1" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } }, "type-detect": { diff --git a/package.json b/package.json index 2d49eb014..7f1cc55b6 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ }, "devDependencies": { "chai": "^4.1.2", - "mocha": "^5.0.1" + "mocha": "^5.2.0" }, "scripts": { "test": "mocha -R spec ./test" diff --git a/run b/run index ae85b6344..06556bb07 100755 --- a/run +++ b/run @@ -10,7 +10,16 @@ fi cmd="docker run --rm -v "$(pwd):/opt/wappalyzer" -it wappalyzer/dev" -$cmd sh -c "yarn install; cd src/drivers/webextension; yarn install" +$cmd sh -c "\ + npm i; \ + npm shrinkwrap; \ + cd src/drivers/webextension; \ + npm i; \ + npm shrinkwrap; \ + cd ../npm; \ + npm i; \ + npm shrinkwrap" + $cmd sh -c "cat patches/*.patch | patch -p0" $cmd ./bin/run links diff --git a/schema.json b/schema.json index e66f71303..1d4ddb67d 100644 --- a/schema.json +++ b/schema.json @@ -38,6 +38,12 @@ }, "required": true }, + "cookies": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "js": { "type": "object", "additionalProperties": { diff --git a/src/apps.json b/src/apps.json index 1b6e6f30f..a1c90b997 100644 --- a/src/apps.json +++ b/src/apps.json @@ -1,24 +1,13 @@ { "$schema": "../schema.json", "apps": { - "1&1": { - "cats": [ - 6 - ], - "icon": "1and1.svg", - "implies": "PHP", - "url": "/shop/catalog/browse\\?sessid=", - "website": "http://1and1.com" - }, "1C-Bitrix": { "cats": [ 1 ], - "cookies": { - "BITRIX_": "" - }, "headers": { - "X-Powered-CMS": "^Bitrix Site Manager" + "Set-Cookie": "BITRIX_", + "X-Powered-CMS": "Bitrix Site Manager" }, "html": "(?:]+components/bitrix|(?:src|href)=\"/bitrix/(?:js|templates))", "icon": "1C-Bitrix.png", @@ -26,16 +15,6 @@ "script": "1c-bitrix", "website": "http://www.1c-bitrix.ru" }, - "2z Project": { - "cats": [ - 1 - ], - "icon": "2z Project.png", - "meta": { - "generator": "2z project ([\\d.]+)\\;version:\\1" - }, - "website": "http://2zproject-cms.ru" - }, "3dCart": { "cats": [ 1, @@ -51,25 +30,6 @@ "script": "(?:twlh(?:track)?\\.asp|3d_upsell\\.js)", "website": "http://www.3dcart.com" }, - "3DM": { - "cats": [ - 19 - ], - "html": "3ware 3DM([\\d\\.]+)?\\;version:\\1", - "icon": "3DM.png", - "implies": "3ware", - "website": "http://www.3ware.com" - }, - "3ware": { - "cats": [ - 22 - ], - "headers": { - "Server": "3ware\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "3ware.png", - "website": "http://www.3ware.com" - }, "A-Frame": { "cats": [ 25 @@ -96,43 +56,10 @@ "icon": "ebis.png", "website": "http://www.ebis.ne.jp" }, - "Accelerated Mobile Pages": { - "cats": [ - 12 - ], - "html": "<html[^>]* (?:amp|⚡)", - "icon": "Accelerated-Mobile-Pages.svg", - "website": "https://www.ampproject.org" - }, - "Acquia Cloud": { - "cats": [ - 22 - ], - "headers": { - "X-AH-Environment": "^\\w+$" - }, - "icon": "acquia-cloud.png", - "implies": "Drupal\\;confidence:95", - "website": "https://www.acquia.com/" - }, - "Amber": { - "cats": [ - 18, - 22 - ], - "headers": { - "X-Powered-By": "^Amber$" - }, - "icon": "amber.png", - "website": "https://amberframework.org" - }, "AMPcms": { "cats": [ 1 ], - "js": { - "amp_js_init": "" - }, "cookies": { "AMP": "" }, @@ -141,17 +68,11 @@ }, "icon": "AMPcms.png", "implies": "PHP", + "js": { + "amp_js_init": "" + }, "website": "http://www.ampcms.org" }, - "animate.css": { - "cats": [ - 18 - ], - "html": [ - "<link [^>]+(?:/([\\d.]+)/)?animate\\.(?:min\\.)?css\\;version:\\1" - ], - "website": "https://daneden.github.io/animate.css/" - }, "AOLserver": { "cats": [ 22 @@ -166,34 +87,24 @@ "cats": [ 10 ], + "icon": "AT Internet.png", "js": { - "xtsite": "", - "ATInternet": "" + "ATInternet": "", + "xtsite": "" }, - "icon": "AT Internet.png", "website": "http://atinternet.com/en" }, "AT Internet XiTi": { "cats": [ 10 ], + "icon": "AT Internet.png", "js": { "xt_click": "" }, - "icon": "AT Internet.png", "script": "xiti\\.com/hit\\.xiti", "website": "http://atinternet.com/en" }, - "ATEN": { - "cats": [ - 22 - ], - "headers": { - "Server": "ATEN HTTP Server(?:\\(?V?([\\d\\.]+)\\)?)?\\;version:\\1" - }, - "icon": "ATEN.png", - "website": "http://www.aten.com" - }, "AWStats": { "cats": [ 10 @@ -205,6 +116,14 @@ }, "website": "http://awstats.sourceforge.net" }, + "Accelerated Mobile Pages": { + "cats": [ + 12 + ], + "html": "<html[^>]* (?:amp|⚡)", + "icon": "Accelerated-Mobile-Pages.svg", + "website": "https://www.ampproject.org" + }, "Accessible Portal": { "cats": [ 1 @@ -216,14 +135,25 @@ }, "website": "http://www.accessibleportal.com" }, + "Acquia Cloud": { + "cats": [ + 22 + ], + "headers": { + "X-AH-Environment": "^\\w+$" + }, + "icon": "acquia-cloud.png", + "implies": "Drupal\\;confidence:95", + "website": "https://www.acquia.com/" + }, "Act-On": { "cats": [ 32 ], + "icon": "ActOn.png", "js": { "ActOn": "" }, - "icon": "ActOn.png", "website": "http://act-on.com" }, "AdInfinity": { @@ -238,11 +168,11 @@ "cats": [ 36 ], + "html": "(?:<embed[^>]+(?:src=\"https?://mh\\d?\\.adriver\\.ru/|flashvars=\"[^\"]*(?:http:%3A//(?:ad|mh\\d?)\\.adriver\\.ru/|adriver_banner))|<(?:(?:iframe|img)[^>]+src|a[^>]+href)=\"https?://ad\\.adriver\\.ru/)", + "icon": "AdRiver.png", "js": { "adriver": "" }, - "html": "(?:<embed[^>]+(?:src=\"https?://mh\\d?\\.adriver\\.ru/|flashvars=\"[^\"]*(?:http:%3A//(?:ad|mh\\d?)\\.adriver\\.ru/|adriver_banner))|<(?:(?:iframe|img)[^>]+src|a[^>]+href)=\"https?://ad\\.adriver\\.ru/)", - "icon": "AdRiver.png", "script": "(?:adriver\\.core\\.\\d\\.js|https?://(?:content|ad|masterh\\d)\\.adriver\\.ru/)", "website": "http://adriver.ru" }, @@ -250,11 +180,11 @@ "cats": [ 36 ], + "icon": "AdRoll.svg", "js": { "adroll_adv_id": "", "adroll_pix_id": "" }, - "icon": "AdRoll.svg", "script": "(?:a|s)\\.adroll\\.com", "website": "http://adroll.com" }, @@ -262,16 +192,16 @@ "cats": [ 36 ], + "icon": "Adcash.svg", "js": { + "SuLoaded": "", + "SuUrl": "", "ac_bgclick_URL": "", - "ct_siteunder": "", - "ct_tag": "", - "ct_nSuUrl": "", "ct_nOpp": "", - "SuLoaded": "", - "SuUrl": "" + "ct_nSuUrl": "", + "ct_siteunder": "", + "ct_tag": "" }, - "icon": "Adcash.svg", "script": "^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/", "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_", "website": "http://adcash.com" @@ -288,10 +218,10 @@ "cats": [ 5 ], + "icon": "AddThis.svg", "js": { "addthis": "" }, - "icon": "AddThis.svg", "script": "addthis\\.com/js/", "website": "http://www.addthis.com" }, @@ -299,10 +229,10 @@ "cats": [ 5 ], + "icon": "AddToAny.png", "js": { "a2apage_init": "" }, - "icon": "AddToAny.png", "script": "addtoany\\.com/menu/page\\.js", "website": "http://www.addtoany.com" }, @@ -334,15 +264,15 @@ "cats": [ 18 ], - "js": { - "_cfEmails": "" - }, "headers": { "Cookie": "CFTOKEN=" }, "html": "<!-- START headerTags\\.cfm", "icon": "Adobe ColdFusion.svg", "implies": "CFML", + "js": { + "_cfEmails": "" + }, "script": "/cfajax/", "url": "\\.cfm(?:$|\\?)", "website": "http://adobe.com/products/coldfusion-family.html" @@ -384,14 +314,14 @@ "cats": [ 4 ], + "icon": "Adobe RoboHelp.svg", "js": { - "gbWhVer": "", "gbWhLang": "", "gbWhMsg": "", + "gbWhProxy": "", "gbWhUtil": "", - "gbWhProxy": "" + "gbWhVer": "" }, - "icon": "Adobe RoboHelp.svg", "meta": { "generator": "^Adobe RoboHelp(?: ([\\d]+))?\\;version:\\1" }, @@ -411,23 +341,33 @@ "cats": [ 36 ], + "icon": "Advert Stream.png", "js": { "advst_is_above_the_fold": "" }, - "icon": "Advert Stream.png", "script": "(?:ad\\.advertstream\\.com|adxcore\\.com)", "website": "http://www.advertstream.com" }, + "Adyen": { + "cats": [ + 41 + ], + "icon": "Adyen.svg", + "js": { + "adyen.encrypt.version": "(.*)\\;version:\\1" + }, + "website": "https://www.adyen.com" + }, "Adzerk": { "cats": [ 36 ], + "html": "<iframe [^>]*src=\"[^\"]+adzerk\\.net", + "icon": "Adzerk.png", "js": { "ados": "", "adosResults": "" }, - "html": "<iframe [^>]*src=\"[^\"]+adzerk\\.net", - "icon": "Adzerk.png", "script": "adzerk\\.net/ados\\.js", "website": "http://adzerk.com" }, @@ -445,6 +385,16 @@ ], "website": "http://blogengine.ru" }, + "Afosto": { + "cats": [ + 6 + ], + "headers": { + "X-Powered-By": "Afosto SaaS BV" + }, + "icon": "Afosto.svg", + "website": "http://afosto.com" + }, "AfterBuy": { "cats": [ 6 @@ -456,16 +406,6 @@ "script": "shop-static\\.afterbuy\\.de", "website": "http://www.afterbuy.de" }, - "Afosto": { - "cats": [ - 6 - ], - "headers": { - "X-Powered-By": "Afosto SaaS BV" - }, - "icon": "Afosto.svg", - "website": "http://afosto.com" - }, "Aircall": { "cats": [ 52 @@ -494,6 +434,21 @@ "icon": "akamai.svg", "website": "http://akamai.com" }, + "Akaunting": { + "cats": [ + 55 + ], + "headers": { + "X-Akaunting": "^Free Accounting Software$" + }, + "html": [ + "<link[^>]+akaunting-green\\.css", + "Powered By Akaunting: <a [^>]*href=\"https?://(?:www\\.)?akaunting\\.com[^>]+>" + ], + "icon": "akaunting.svg", + "implies": "Laravel", + "website": "https://akaunting.com" + }, "Akka HTTP": { "cats": [ 18, @@ -509,13 +464,22 @@ "cats": [ 29 ], + "icon": "Algolia Realtime Search.svg", "js": { "AlgoliaSearch": "", "algoliasearch.version": "(.*)\\;version:\\1" }, - "icon": "Algolia Realtime Search.svg", "website": "http://www.algolia.com" }, + "All in One SEO Pack": { + "cats": [ + 54 + ], + "html": "<!-- All in One SEO Pack ([\\d.]+) \\;version:\\1", + "icon": "all-in-One-SEO-Pack.png", + "implies": "WordPress", + "website": "https://www.acquia.com/" + }, "Allegro RomPager": { "cats": [ 22 @@ -530,14 +494,14 @@ "cats": [ 12 ], - "js": { - "AUI": "" - }, "icon": "AlloyUI.png", "implies": [ "Bootstrap", "YUI" ], + "js": { + "AUI": "" + }, "script": "^https?://cdn\\.alloyui\\.com/", "website": "http://www.alloyui.com" }, @@ -556,8 +520,8 @@ 31 ], "headers": { - "X-Amz-Cf-Id": "", - "Via": "\\(CloudFront\\)$" + "Via": "\\(CloudFront\\)$", + "X-Amz-Cf-Id": "" }, "icon": "Amazon-Cloudfront.svg", "website": "http://aws.amazon.com/cloudfront/" @@ -582,6 +546,17 @@ "icon": "aws-s3.svg", "website": "http://aws.amazon.com/s3/" }, + "Amber": { + "cats": [ + 18, + 22 + ], + "headers": { + "X-Powered-By": "^Amber$" + }, + "icon": "amber.png", + "website": "https://amberframework.org" + }, "Ametys": { "cats": [ 1 @@ -605,20 +580,23 @@ }, "website": "http://amirocms.com" }, - "Angular Material": { + "Amplitude": { "cats": [ - 18 + 10 ], - "js": { - "ngMaterial": "" - }, - "icon": "AngularJS.svg", - "implies": "AngularJS", + "icon": "amplitude.png", "script": [ - "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular-material(?:\\.min)?\\.js\\;version:\\1", - "angular-material.*\\.js" + "cdn\\.amplitude\\.com" ], - "website": "https://material.angularjs.org" + "website": "https://amplitude.com/" + }, + "Anetwork": { + "cats": [ + 36 + ], + "icon": "Anetwork.png", + "script": "static-cdn\\.anetwork\\.ir/", + "website": "https://www.anetwork.ir" }, "Angular": { "cats": [ @@ -630,22 +608,41 @@ ], "html": "<[^>]+ ng-version=\"([\\d.]+)\"\\;version:\\1", "icon": "Angular.svg", + "js": { + "ng.coreTokens": "", + "ng.probe": "" + }, "website": "https://angular.io" }, + "Angular Material": { + "cats": [ + 18 + ], + "icon": "AngularJS.svg", + "implies": "AngularJS", + "js": { + "ngMaterial": "" + }, + "script": [ + "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular-material(?:\\.min)?\\.js\\;version:\\1", + "angular-material.*\\.js" + ], + "website": "https://material.angularjs.org" + }, "AngularDart": { "cats": [ 18 ], - "implies": "Dart", "excludes": [ "Angular", "AngularJS" ], "icon": "AngularDart.svg", - "website": "https://webdev.dartlang.org/angular/", + "implies": "Dart", "js": { "ngTestabilityRegistries": "" - } + }, + "website": "https://webdev.dartlang.org/angular/" }, "AngularJS": { "cats": [ @@ -655,11 +652,11 @@ "Angular", "AngularDart" ], + "icon": "AngularJS.svg", "js": { "angular": "", "angular.version.full": "(.*)\\;version:\\1" }, - "icon": "AngularJS.svg", "script": [ "angular(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular(?:\\.min)?\\.js\\;version:\\1", @@ -667,17 +664,34 @@ ], "website": "https://angularjs.org" }, - "Apache": { + "Ant Design": { "cats": [ - 22 + 12 ], - "headers": { - "Server": "(?:Apache(?:$|/([\\d.]+)|[^/-])|(?:^|\b)HTTPD)\\;version:\\1" - }, - "icon": "Apache.svg", - "website": "http://apache.org" - }, - "Apache HBase": { + "html": [ + "<(?:div|button) class=\"ant-(?:btn|col|row|layout|breadcrumb|menu|pagination|steps|select|cascader|checkbox|calendar|form|input-number|input|mention|rate|radio|slider|switch|tree-select|time-picker|transfer|upload|avatar|badge|card|carousel|collapse|list|popover|tooltip|table|tabs|tag|timeline|tree|alert|modal|message|notification|progress|popconfirm|spin|anchor|back-top|divider)", + "<i class=\"anticon anticon-" + ], + "icon": "Ant Design.svg", + "implies": [ + "React" + ], + "js": { + "antd": "" + }, + "website": "https://ant.design" + }, + "Apache": { + "cats": [ + 22 + ], + "headers": { + "Server": "(?:Apache(?:$|/([\\d.]+)|[^/-])|(?:^|\\b)HTTPD)\\;version:\\1" + }, + "icon": "Apache.svg", + "website": "http://apache.org" + }, + "Apache HBase": { "cats": [ 34 ], @@ -711,7 +725,7 @@ ], "headers": { "Server": "^Apache-Coyote(/1\\.1)?$\\;version:\\1?4.1+:", - "X-Powered-By": "\bTomcat\b(?:-([\\d.]+))?\\;version:\\1" + "X-Powered-By": "\\bTomcat\\b(?:-([\\d.]+))?\\;version:\\1" }, "icon": "Apache Tomcat.svg", "implies": "Java", @@ -731,11 +745,11 @@ "cats": [ 18 ], + "icon": "Apache Wicket.svg", + "implies": "Java", "js": { "Wicket": "" }, - "icon": "Apache Wicket.svg", - "implies": "Java", "website": "http://wicket.apache.org" }, "ApexPages": { @@ -767,6 +781,14 @@ "script": "adnxs\\.(?:net|com)", "website": "http://appnexus.com" }, + "Appcues": { + "cats": [ + 58 + ], + "icon": "Appcues.svg", + "script": "fast\\.appcues.com*\\.js", + "website": "https://appcues.com" + }, "Arastta": { "cats": [ 6 @@ -794,24 +816,24 @@ "cats": [ 35 ], + "icon": "arcgis_icon.png", "script": [ "js\\.arcgis\\.com", "basemaps\\.arcgis\\.com" ], - "icon": "arcgis_icon.png", "website": "https://developers.arcgis.com/javascript/" }, "Artifactory": { "cats": [ 47 ], - "js": { - "ArtifactoryUpdates": "" - }, "html": [ "<span class=\"version\">Artifactory(?: Pro)?(?: Power Pack)?(?: ([\\d.]+))?\\;version:\\1" ], "icon": "Artifactory.svg", + "js": { + "ArtifactoryUpdates": "" + }, "script": [ "wicket/resource/org\\.artifactory\\." ], @@ -834,13 +856,13 @@ "cats": [ 31 ], - "js": { - "ArvanCloud": "" - }, "headers": { "AR-PoweredBy": "Arvan Cloud \\(arvancloud\\.com\\)" }, "icon": "ArvanCloud.png", + "js": { + "ArvanCloud": "" + }, "website": "http://www.ArvanCloud.com" }, "AsciiDoc": { @@ -849,10 +871,10 @@ 20, 27 ], + "icon": "AsciiDoc.png", "js": { "asciidoc": "" }, - "icon": "AsciiDoc.png", "meta": { "generator": "^AsciiDoc ([\\d.]+)\\;version:\\1" }, @@ -862,24 +884,24 @@ "cats": [ 14 ], + "html": "<asciinema-player", + "icon": "asciinema.png", "js": { "asciinema": "" }, "script": "asciinema\\.org/", - "icon": "asciinema.png", - "html": "<asciinema-player", "website": "https://asciinema.org/" }, "Atlassian Bitbucket": { "cats": [ 47 ], + "html": "<li>Atlassian Bitbucket <span title=\"[a-z0-9]+\" id=\"product-version\" data-commitid=\"[a-z0-9]+\" data-system-build-number=\"[a-z0-9]+\"> v([\\d.]+)<\\;version:\\1", + "icon": "Atlassian Bitbucket.svg", + "implies": "Python", "js": { "bitbucket": "" }, - "icon": "Atlassian Bitbucket.svg", - "implies": "Python", - "html": "<li>Atlassian Bitbucket <span title=\"[a-z0-9]+\" id=\"product-version\" data-commitid=\"[a-z0-9]+\" data-system-build-number=\"[a-z0-9]+\"> v([\\d.]+)<\\;version:\\1", "meta": { "application-name": "Bitbucket" }, @@ -915,12 +937,12 @@ "cats": [ 13 ], - "js": { - "jira": "" - }, "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(?:software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA(?:[^v]*v(?:ersion: )?(\\d+\\.\\d+(?:\\.\\d+)?))?\\;version:\\1", "icon": "Atlassian Jira.svg", "implies": "Java", + "js": { + "jira": "" + }, "meta": { "ajs-version-number": "^(.+)$\\;version:\\1", "application-name": "JIRA" @@ -958,12 +980,12 @@ "cats": [ 6 ], - "js": { - "avng8_": "", - "__avng8_": "" - }, "html": "<link[^>]* href=\"^https?://edge\\.avangate\\.net/", "icon": "Avangate.svg", + "js": { + "__avng8_": "", + "avng8_": "" + }, "script": "^https?://edge\\.avangate\\.net/", "website": "http://avangate.com" }, @@ -971,10 +993,10 @@ "cats": [ 29 ], + "html": "<link[^>]+href=\"[^>]*awesomplete(?:\\.min)?\\.css", "js": { "awesomplete": "" }, - "html": "<link[^>]+href=\"[^>]*awesomplete(?:\\.min)?\\.css", "script": "/awesomplete\\.js(?:$|\\?)", "website": "https://leaverou.github.io/awesomplete/" }, @@ -1003,22 +1025,22 @@ 3, 9 ], - "website": "https://www.bablic.com/", + "icon": "bablic.png", "js": { "bablic": "" }, - "icon": "bablic.png" + "website": "https://www.bablic.com/" }, "Backbone.js": { "cats": [ 12 ], + "icon": "Backbone.js.png", + "implies": "Underscore.js", "js": { "Backbone": "", "Backbone.VERSION": "(.*)\\;version:\\1" }, - "icon": "Backbone.js.png", - "implies": "Underscore.js", "script": "backbone.*\\.js", "website": "http://backbonejs.org" }, @@ -1026,12 +1048,12 @@ "cats": [ 1 ], - "js": { - "Backdrop": "" - }, "excludes": "Drupal", "icon": "Backdrop.png", "implies": "PHP", + "js": { + "Backdrop": "" + }, "meta": { "generator": "Backdrop CMS(?: (\\d))?\\;version:\\1" }, @@ -1082,33 +1104,6 @@ ], "website": "http://www.ozerov.de/bigdump.php" }, - "Ant Design": { - "cats": [ - 12 - ], - "implies": [ - "React" - ], - "icon": "Ant Design.svg", - "js": { - "antd": "" - }, - "html": [ - "<(?:div|button) class=\"ant-(?:btn|col|row|layout|breadcrumb|menu|pagination|steps|select|cascader|checkbox|calendar|form|input-number|input|mention|rate|radio|slider|switch|tree-select|time-picker|transfer|upload|avatar|badge|card|carousel|collapse|list|popover|tooltip|table|tabs|tag|timeline|tree|alert|modal|message|notification|progress|popconfirm|spin|anchor|back-top|divider)", - "<i class=\"anticon anticon-" - ], - "website": "https://ant.design" - }, - "Sqreen": { - "cats": [ - 19 - ], - "headers": { - "X-Protected-By": "^Sqreen$" - }, - "icon": "Sqreen.png", - "website": "https://sqreen.io" - }, "Bigcommerce": { "cats": [ 6 @@ -1124,8 +1119,8 @@ 6 ], "cookies": { - "bigwareCsid": "", - "bigWAdminID": "" + "bigWAdminID": "", + "bigwareCsid": "" }, "html": "(?:Diese <a href=[^>]+bigware\\.de|<a href=[^>]+/main_bigware_\\d+\\.php)", "icon": "Bigware.png", @@ -1137,10 +1132,10 @@ "cats": [ 36 ], + "icon": "BittAds.png", "js": { "bitt": "" }, - "icon": "BittAds.png", "script": "bittads\\.com/js/bitt\\.js$", "website": "http://bittads.com" }, @@ -1148,10 +1143,10 @@ "cats": [ 6 ], + "icon": "bizweb.png", "js": { "Bizweb": "" }, - "icon": "bizweb.png", "website": "https://www.bizweb.vn" }, "Blade": { @@ -1189,6 +1184,7 @@ 11 ], "icon": "Blogger.png", + "implies": "Python", "meta": { "generator": "^Blogger$" }, @@ -1216,7 +1212,7 @@ }, "Boba.js": { "cats": [ - 12 + 59 ], "implies": "Google Analytics", "script": "boba(?:\\.min)?\\.js", @@ -1266,9 +1262,31 @@ "implies": "CodeIgniter", "website": "http://cibonfire.com" }, + "Bootstrap": { + "cats": [ + 18 + ], + "html": [ + "<style>/\\*!\\* Bootstrap v(\\d\\.\\d\\.\\d)\\;version:\\1", + "<link[^>]+?href=[^\"]/css/([\\d.]+)/bootstrap\\.(?:min\\.)?css\\;version:\\1", + "<link[^>]+?href=\"[^\"]*bootstrap(?:\\.min)?\\.css", + "<div[^>]+class=\"[^\"]*glyphicon glyphicon-" + ], + "icon": "Bootstrap.png", + "js": { + "bootstrap.Alert.VERSION": "(.*)\\;version:\\1", + "jQuery.fn.tooltip.Constructor.VERSION": "(.*)\\;version:\\1" + }, + "script": [ + "twitter\\.github\\.com/bootstrap", + "bootstrap(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", + "(?:/([\\d.]+))?(?:/js)?/bootstrap(?:\\.min)?\\.js\\;version:\\1" + ], + "website": "https://getbootstrap.com" + }, "Bootstrap Table": { "cats": [ - 12 + 59 ], "html": "<link[^>]+href=\"[^>]*bootstrap-table(?:\\.min)?\\.css", "icon": "Bootstrap Table.svg", @@ -1283,21 +1301,32 @@ "cats": [ 32 ], + "html": "<script[^>]*>[^>]+\\.src\\s*=\\s*['\"](?:https?:)?//tag\\.bounceexchange\\.com/", + "icon": "Bounce Exchange.svg", "js": { "bouncex": "" }, - "html": "<script[^>]*>[^>]+\\.src\\s*=\\s*['\"](?:https?:)?//tag\\.bounceexchange\\.com/", - "icon": "Bounce Exchange.svg", "script": "^https?://tag\\.bounceexchange\\.com/", "website": "http://www.bounceexchange.com" }, + "Braintree": { + "cats": [ + 41 + ], + "icon": "Braintree.svg", + "js": { + "Braintree": "", + "Braintree.version": "(.*)\\;version:\\1" + }, + "website": "https://www.braintreepayments.com" + }, "Brother": { "cats": [ 40 ], "html": [ "(?:<!--|<BR>)Copyright\\(C\\) [\\d-]+ Brother Industries", - "<TITLE>\n\\s*BROTHER " + "<TITLE>\\n\\s*BROTHER " ], "icon": "Brother.png", "website": "http://www.brother.com" @@ -1320,21 +1349,21 @@ 18, 22 ], + "icon": "bubble.png", + "implies": "Node.js", "js": { "appquery": "" }, - "icon": "bubble.png", - "implies": "Node.js", "website": "http://bubble.is" }, "BugSense": { "cats": [ 10 ], + "icon": "BugSense.png", "js": { "Bugsense": "" }, - "icon": "BugSense.png", "script": "bugsense\\.js", "website": "http://bugsense.com" }, @@ -1342,10 +1371,10 @@ "cats": [ 10 ], + "icon": "BugSnag.png", "js": { "Bugsnag": "" }, - "icon": "BugSnag.png", "script": "bugsnag.*\\.js", "website": "http://bugsnag.com" }, @@ -1358,14 +1387,14 @@ "<main id=\"bugzilla-body\"", "<span id=\"information\" class=\"header_addl_info\">version ([\\d.]+)<\\;version:\\1" ], - "meta": { - "generator": "Bugzilla ?([\\d.]+)?\\;version:\\1" - }, + "icon": "Bugzilla.png", + "implies": "Perl", "js": { "BUGZILLA": "" }, - "icon": "Bugzilla.png", - "implies": "Perl", + "meta": { + "generator": "Bugzilla ?([\\d.]+)?\\;version:\\1" + }, "website": "http://www.bugzilla.org" }, "Bulma": { @@ -1401,14 +1430,14 @@ "cats": [ 36 ], + "html": "<script[^>]*>[^<]+?bsa\\.src\\s*=\\s*['\"](?:https?:)?\\/{2}\\w\\d\\.buysellads\\.com\\/[\\w\\d\\/]+?bsa\\.js['\"]", + "icon": "BuySellAds.png", "js": { "_bsa": "", - "_bsap": "", "_bsaPRO": "", + "_bsap": "", "_bsap_serving_callback": "" }, - "html": "<script[^>]*>[^<]+?bsa\\.src\\s*=\\s*['\"](?:https?:)?\\/{2}\\w\\d\\.buysellads\\.com\\/[\\w\\d\\/]+?bsa\\.js['\"]", - "icon": "BuySellAds.png", "script": "^https?://s\\d\\.buysellads\\.com/", "website": "http://buysellads.com" }, @@ -1419,6 +1448,16 @@ "icon": "C++.png", "website": "http://isocpp.org" }, + "CDN77": { + "cats": [ + 31 + ], + "headers": { + "Server": "^CDN77-Turbo$" + }, + "icon": "CDN77.png", + "website": "https://www.cdn77.com" + }, "CFML": { "cats": [ 27 @@ -1430,11 +1469,12 @@ "cats": [ 24 ], + "icon": "CKEditor.png", "js": { "CKEDITOR": "", - "CKEDITOR.version": "(.*)\\;version:\\1" + "CKEDITOR.version": "(.*)\\;version:\\1", + "CKEDITOR_BASEPATH": "" }, - "icon": "CKEditor.png", "website": "http://ckeditor.com" }, "CMS Made Simple": { @@ -1487,15 +1527,15 @@ "cats": [ 6 ], - "js": { - "fn_compare_strings": "" - }, "html": [ " Powered by (?:<a href=[^>]+cs-cart\\.com|CS-Cart)", "\\.cm-noscript[^>]+</style>" ], "icon": "CS Cart.png", "implies": "PHP", + "js": { + "fn_compare_strings": "" + }, "website": "http://www.cs-cart.com" }, "CacheFly": { @@ -1540,10 +1580,10 @@ 16, 36 ], + "icon": "Captch Me.svg", "js": { "Captchme": "" }, - "icon": "Captch Me.svg", "script": "^https?://api\\.captchme\\.net/", "website": "http://captchme.com" }, @@ -1551,11 +1591,11 @@ "cats": [ 36 ], + "html": "<[a-z]+ [^>]*id=\"carbonads-container\"", + "icon": "Carbon Ads.png", "js": { "_carbonads": "" }, - "html": "<[a-z]+ [^>]*id=\"carbonads-container\"", - "icon": "Carbon Ads.png", "script": "//(?:engine|srv)\\.carbonads\\.com\\/", "website": "http://carbonads.net" }, @@ -1577,37 +1617,16 @@ 12, 18 ], - "js": { - "catberry": "", - "catberry.version": "(.*)\\;version:\\1" - }, "headers": { "X-Powered-By": "Catberry" }, "icon": "Catberry.js.png", "implies": "Node.js", - "website": "http://catberry.org" - }, - "Catwalk": { - "cats": [ - 22 - ], - "headers": { - "Server": "Catwalk\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "Catwalk.png", - "implies": "Canon", - "website": "http://www.canon.com" - }, - "CDN77": { - "cats": [ - 31 - ], - "headers": { - "Server": "^CDN77-Turbo$" + "js": { + "catberry": "", + "catberry.version": "(.*)\\;version:\\1" }, - "icon": "CDN77.png", - "website": "https://www.cdn77.com" + "website": "http://catberry.org" }, "CentOS": { "cats": [ @@ -1620,16 +1639,6 @@ "icon": "CentOS.png", "website": "http://centos.org" }, - "CenteHTTPd": { - "cats": [ - 22 - ], - "headers": { - "Server": "CenteHTTPd(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "CenteHTTPd.png", - "website": "http://cente.jp/cente/app/HTTPdc.html" - }, "Chameleon": { "cats": [ 1 @@ -1663,11 +1672,11 @@ "cats": [ 25 ], + "icon": "Chart.js.svg", "js": { "Chart": "\\;confidence:50", "chart.ctx.bezierCurveTo": "" }, - "icon": "Chart.js.svg", "script": [ "Chart(?:\\.bundle)?(?:\\.min)?\\.js\\;confidence:50", "chartjs\\.org/dist/([\\d.]+(?:-[^/]+)?|master|latest)/Chart.*\\.js\\;version:\\1", @@ -1681,11 +1690,11 @@ "cats": [ 10 ], + "icon": "Chartbeat.png", "js": { - "_sf_endpt": "", - "_sf_async_config": "" + "_sf_async_config": "", + "_sf_endpt": "" }, - "icon": "Chartbeat.png", "script": "chartbeat\\.js", "website": "http://chartbeat.com" }, @@ -1715,11 +1724,11 @@ "cats": [ 36 ], + "icon": "Chitika.png", "js": { "ch_client": "", "ch_color_site_link": "" }, - "icon": "Chitika.png", "script": "scripts\\.chitika\\.net/", "website": "http://chitika.com" }, @@ -1747,11 +1756,11 @@ "cats": [ 10 ], + "icon": "ClickHeat.png", + "implies": "PHP", "js": { "clickHeatServer": "" }, - "icon": "ClickHeat.png", - "implies": "PHP", "script": "clickheat.*\\.js", "website": "http://www.labsmedia.com/clickheat/index.html" }, @@ -1759,20 +1768,20 @@ "cats": [ 10 ], + "icon": "ClickTale.png", "js": { "clickTaleStartEventSignal": "" }, - "icon": "ClickTale.png", "website": "http://www.clicktale.com" }, "Clicky": { "cats": [ 10 ], + "icon": "Clicky.png", "js": { "clicky": "" }, - "icon": "Clicky.png", "script": "static\\.getclicky\\.com", "website": "http://getclicky.com" }, @@ -1803,6 +1812,21 @@ "script": "/cloudcart-(?:assets|storage)/", "website": "http://cloudcart.com" }, + "CloudFlare": { + "cats": [ + 31 + ], + "headers": { + "Server": "^cloudflare$", + "cf-cache-status": "", + "cf-ray": "" + }, + "icon": "CloudFlare.svg", + "js": { + "CloudFlare": "" + }, + "website": "http://www.cloudflare.com" + }, "Cloudcoins": { "cats": [ 56 @@ -1813,22 +1837,9 @@ "script": "https?://cdn\\.cloudcoins\\.co/javascript/cloudcoins\\.min\\.js", "website": "https://cloudcoins.co" }, - "CloudFlare": { + "Cloudera": { "cats": [ - 31 - ], - "js": { - "CloudFlare": "" - }, - "headers": { - "Server": "^cloudflare$" - }, - "icon": "CloudFlare.svg", - "website": "http://www.cloudflare.com" - }, - "Cloudera": { - "cats": [ - 34 + 34 ], "headers": { "Server": "cloudera" @@ -1836,26 +1847,15 @@ "icon": "Cloudera.png", "website": "http://www.cloudera.com" }, - "CNV Platform": { - "cats": [ - 1 - ], - "cookies": { - "cnv_session": "" - }, - "icon": "CNV.png", - "implies": "Laravel", - "website": "https://cnv.vn" - }, "CodeIgniter": { "cats": [ 18 ], "cookies": { - "exp_last_activity": "", - "exp_tracker": "", + "ci_csrf_token": "(.*)\\;version:\\1?2+:", "ci_session": "", - "ci_csrf_token": "(.*)\\;version:\\1?2+:" + "exp_last_activity": "", + "exp_tracker": "" }, "html": "<input[^>]+name=\"ci_csrf_token\"\\;version:2+", "icon": "CodeIgniter.png", @@ -1866,23 +1866,26 @@ "cats": [ 19 ], + "icon": "CodeMirror.png", "js": { "CodeMirror": "", "CodeMirror.version": "(.*)\\;version:\\1" }, - "icon": "CodeMirror.png", "website": "http://codemirror.net" }, "CoinHive": { "cats": [ 56 ], + "icon": "CoinHive.svg", "js": { "CoinHive": "" }, - "script": "\\/(?:coinhive|(authedmine))(?:\\.min)?\\.js\\;version:\\1?opt-in:", + "script": [ + "\\/(?:coinhive|(authedmine))(?:\\.min)?\\.js\\;version:\\1?opt-in:", + "coinhive\\.com/lib" + ], "url": "https?://cnhv\\.co/", - "icon": "CoinHive.svg", "website": "https://coinhive.com" }, "CoinHive Captcha": { @@ -1891,41 +1894,59 @@ 56 ], "html": "(?:<div[^>]+class=\"coinhive-captcha[^>]+data-key|<div[^>]+data-key[^>]+class=\"coinhive-captcha)", - "script": "https?://authedmine\\.com/(?:lib/captcha|captcha)", "icon": "CoinHive.svg", + "script": "https?://authedmine\\.com/(?:lib/captcha|captcha)", "website": "https://coinhive.com" }, + "Coinhave": { + "cats": [ + 56 + ], + "icon": "coinhave.png", + "script": "https?://coin-have\\.com/c/[0-9a-zA-Z]{4}\\.js", + "website": "https://coin-have.com/" + }, "Coinimp": { "cats": [ 56 ], + "icon": "coinimp.png", "js": { "Client.Anonymous": "\\;confidence:50" }, "script": "https?://www\\.hashing\\.win/scripts/min\\.js", - "icon": "coinimp.png", "website": "https://www.coinimp.com" }, "Coinlab": { "cats": [ 56 ], + "icon": "coinlab.png", "js": { "Coinlab": "" }, "script": "https?://coinlab\\.biz/lib/coinlab\\.js\\?id=", - "icon": "coinlab.png", "website": "https://coinlab.biz/en" }, - "Comandia": { + "ColorMeShop": { "cats": [ 6 ], + "icon": "colormeshop.png", "js": { - "Comandia": "" + "Colorme": "" }, + "website": "https://shop-pro.jp" + }, + "Comandia": { + "cats": [ + 6 + ], "html": "<link[^>]+=['\"]//cdn\\.mycomandia\\.com", "icon": "Comandia.svg", + "js": { + "Comandia": "" + }, "website": "http://comandia.com" }, "Commerce Server": { @@ -1953,11 +1974,11 @@ "cats": [ 1 ], + "icon": "Concrete5.png", + "implies": "PHP", "js": { "CCM_IMAGE_PATH": "" }, - "icon": "Concrete5.png", - "implies": "PHP", "meta": { "generator": "^concrete5 - ([\\d.]+)$\\;version:\\1" }, @@ -2112,7 +2133,7 @@ "CraftSessionId": "" }, "headers": { - "X-Powered-By": "\bCraft CMS\b" + "X-Powered-By": "\\bCraft CMS\\b" }, "icon": "Craft CMS.svg", "implies": "Yii", @@ -2123,7 +2144,7 @@ 6 ], "headers": { - "X-Powered-By": "\bCraft Commerce\b" + "X-Powered-By": "\\bCraft Commerce\\b" }, "icon": "Craft CMS.svg", "implies": "Craft CMS", @@ -2133,10 +2154,10 @@ "cats": [ 10 ], + "icon": "Crazy Egg.png", "js": { "CE2": "" }, - "icon": "Crazy Egg.png", "script": "script\\.crazyegg\\.com/pages/scripts/\\d+/\\d+\\.js", "website": "http://crazyegg.com" }, @@ -2144,12 +2165,12 @@ "cats": [ 36 ], + "icon": "Criteo.svg", "js": { "Criteo": "", "criteo_pubtag": "", "criteo_q": "" }, - "icon": "Criteo.svg", "script": "//(?:cas\\.criteo\\.com|(?:[^/]\\.)?criteo\\.net)/", "website": "http://criteo.com" }, @@ -2157,10 +2178,10 @@ "cats": [ 10 ], + "icon": "Cross Pixel.png", "js": { "cp_C4w1ldN2d9PmVrkN": "" }, - "icon": "Cross Pixel.png", "script": "tag\\.crsspxl\\.com/s1\\.js", "website": "http://datadesk.crsspxl.com" }, @@ -2168,9 +2189,10 @@ "cats": [ 56 ], + "icon": "Crypto-Loot.png", "js": { - "CryptoLoot": "", - "CRLT.CONFIG.ASMJS_NAME": "" + "CRLT.CONFIG.ASMJS_NAME": "", + "CryptoLoot": "" }, "script": [ "^/crypto-loot\\.com/lib/", @@ -2178,7 +2200,6 @@ "^/cryptoloot\\.pro/", "/crlt\\.js\\;confidence:75" ], - "icon": "Crypto-Loot.png", "website": "https://crypto-loot.com/" }, "CubeCart": { @@ -2197,10 +2218,10 @@ "cats": [ 17 ], + "icon": "Cufon.png", "js": { "Cufon": "" }, - "icon": "Cufon.png", "script": "cufon-yui\\.js", "website": "http://cufon.shoqolate.com" }, @@ -2208,16 +2229,16 @@ "cats": [ 25 ], + "icon": "D3.png", "js": { "d3.version": "(.*)\\;version:\\1" }, - "icon": "D3.png", "script": "/d3(?:\\. v\\d+)?(?:\\.min)?\\.js", "website": "http://d3js.org" }, "DHTMLX": { "cats": [ - 12 + 59 ], "icon": "DHTMLX.png", "script": "dhtmlxcommon\\.js", @@ -2236,10 +2257,6 @@ "cats": [ 1 ], - "js": { - "DotNetNuke": "", - "dnn.apiversion": "(.*)\\;version:\\1" - }, "cookies": { "DotNetNukeAnonymous": "" }, @@ -2254,6 +2271,10 @@ ], "icon": "DNN.png", "implies": "Microsoft ASP.NET", + "js": { + "DotNetNuke": "", + "dnn.apiversion": "(.*)\\;version:\\1" + }, "meta": { "generator": "DotNetNuke" }, @@ -2263,20 +2284,6 @@ ], "website": "http://dnnsoftware.com" }, - "Docusaurus": { - "cats": [ - 4 - ], - "meta": { - "generator": "^Docusaurus$" - }, - "icon": "docusaurus.svg", - "implies": [ - "React", - "webpack" - ], - "website": "https://docusaurus.io/" - }, "DTG": { "cats": [ 1 @@ -2286,7 +2293,7 @@ ], "icon": "DTG.png", "implies": "Mono.net", - "website": "http://www.dtg.nl" + "website": "https://www.dtg.nl" }, "Dancer": { "cats": [ @@ -2321,22 +2328,22 @@ "cats": [ 27 ], - "icon": "Dart.svg", - "implies": "AngularDart", "excludes": [ "Angular", "AngularJS" ], - "website": "https://www.dartlang.org", - "script": [ - "/(?:\\.)?(?:dart)(?:\\.js)?/", - "packages/browser/dart\\.js" - ], "html": "/(?:<script)[^>]+(?:type=\"application/dart\")/", + "icon": "Dart.svg", + "implies": "AngularDart", "js": { "___dart__$dart_dartObject_ZxYxX_0_": "", "___dart_dispatch_record_ZxYxX_0_": "" - } + }, + "script": [ + "/(?:\\.)?(?:dart)(?:\\.js)?/", + "packages/browser/dart\\.js" + ], + "website": "https://www.dartlang.org" }, "Darwin": { "cats": [ @@ -2347,28 +2354,28 @@ "X-Powered-By": "Darwin" }, "icon": "Apple.svg", - "website": "http://opensource.apple.com" + "website": "https://opensource.apple.com" }, "DataLife Engine": { "cats": [ 1 ], - "js": { - "dle_root": "" - }, "icon": "DataLife Engine.png", "implies": [ "PHP", "Apache" ], + "js": { + "dle_root": "" + }, "meta": { "generator": "DataLife Engine" }, - "website": "http://dle-news.ru" + "website": "https://dle-news.ru" }, "DataTables": { "cats": [ - 12 + 59 ], "icon": "DataTables.png", "implies": "jQuery", @@ -2384,31 +2391,20 @@ "X-Powered-By": "(?:Debian|dotdeb|(potato|woody|sarge|etch|lenny|squeeze|wheezy|jessie|stretch|buster|sid))\\;version:\\1" }, "icon": "Debian.png", - "website": "http://debian.org" + "website": "https://debian.org" }, "DedeCMS": { "cats": [ 1 ], + "icon": "DedeCMS.png", + "implies": "PHP", "js": { "DedeContainer": "" }, - "icon": "DedeCMS.png", - "implies": "PHP", "script": "dedeajax", "website": "http://dedecms.com" }, - "deepMiner": { - "cats": [ - 56 - ], - "js": { - "deepMiner": "" - }, - "script": "deepMiner\\.js", - "icon": "deepminer.png", - "website": "https://github.com/deepwn/deepMiner" - }, "Dell": { "cats": [ 40 @@ -2416,17 +2412,6 @@ "icon": "Dell.svg", "website": "http://dell.com" }, - "Deployd": { - "cats": [ - 12 - ], - "js": { - "dpd": "" - }, - "icon": "Deployd.png", - "script": "dpd\\.js", - "website": "http://deployd.com" - }, "DirectAdmin": { "cats": [ 9 @@ -2440,33 +2425,33 @@ "PHP", "Apache" ], - "website": "http://www.directadmin.com" + "website": "https://www.directadmin.com" }, "Discourse": { "cats": [ 2 ], + "icon": "Discourse.png", + "implies": "Ruby on Rails", "js": { "Discourse": "" }, - "icon": "Discourse.png", - "implies": "Ruby on Rails", "meta": { "generator": "Discourse(?: ?/?([\\d.]+\\d))?\\;version:\\1" }, - "website": "http://discourse.org" + "website": "https://discourse.org" }, "Discuz! X": { "cats": [ 2 ], + "icon": "Discuz X.png", + "implies": "PHP", "js": { - "discuz_uid": "", + "DISCUZCODE": "", "discuzVersion": "(.*)\\;version:\\1", - "DISCUZCODE": "" + "discuz_uid": "" }, - "icon": "Discuz X.png", - "implies": "PHP", "meta": { "generator": "Discuz! X([\\d\\.]+)?\\;version:\\1" }, @@ -2476,28 +2461,28 @@ "cats": [ 15 ], + "html": "<div[^>]+id=\"disqus_thread\"", + "icon": "Disqus.svg", "js": { "DISQUS": "", "disqus_shortname": "", "disqus_url": "" }, - "html": "<div[^>]+id=\"disqus_thread\"", - "icon": "Disqus.svg", "script": "disqus_url", - "website": "http://disqus.com" + "website": "https://disqus.com" }, "Django": { "cats": [ 18 ], - "js": { - "django": "", - "__admin_media_prefix__": "" - }, "html": "(?:powered by <a[^>]+>Django ?([\\d.]+)?|<input[^>]*name=[\"']csrfmiddlewaretoken[\"'][^>]*>)\\;version:\\1", "icon": "Django.png", "implies": "Python", - "website": "http://djangoproject.com" + "js": { + "__admin_media_prefix__": "", + "django": "" + }, + "website": "https://djangoproject.com" }, "Django CMS": { "cats": [ @@ -2505,19 +2490,33 @@ ], "icon": "Django CMS.png", "implies": "Django", - "website": "http://django-cms.org" + "website": "https://django-cms.org" + }, + "Docusaurus": { + "cats": [ + 4 + ], + "icon": "docusaurus.svg", + "implies": [ + "React", + "webpack" + ], + "meta": { + "generator": "^Docusaurus$" + }, + "website": "https://docusaurus.io/" }, "Dojo": { "cats": [ - 12 + 59 ], + "icon": "Dojo.png", "js": { "dojo": "", "dojo.version.major": "(.*)\\;version:\\1" }, - "icon": "Dojo.png", "script": "([\\d.]+)/dojo/dojo(?:\\.xd)?\\.js\\;version:\\1", - "website": "http://dojotoolkit.org" + "website": "https://dojotoolkit.org" }, "Dokeos": { "cats": [ @@ -2537,7 +2536,7 @@ "meta": { "generator": "Dokeos" }, - "website": "http://dokeos.com" + "website": "https://dokeos.com" }, "DokuWiki": { "cats": [ @@ -2551,7 +2550,7 @@ "meta": { "generator": "^DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, - "website": "http://www.dokuwiki.org" + "website": "https://www.dokuwiki.org" }, "Dotclear": { "cats": [ @@ -2633,9 +2632,6 @@ "cats": [ 1 ], - "js": { - "Drupal": "" - }, "headers": { "Expires": "19 Nov 1978", "X-Drupal-Cache": "", @@ -2644,6 +2640,9 @@ "html": "<(?:link|style)[^>]+sites/(?:default|all)/(?:themes|modules)/", "icon": "Drupal.svg", "implies": "PHP", + "js": { + "Drupal": "" + }, "meta": { "generator": "Drupal(?:\\s([\\d.]+))?\\;version:\\1" }, @@ -2683,22 +2682,6 @@ "script": "dtagent.*\\.js", "website": "http://dynatrace.com" }, - "E-Commerce Paraguay": { - "cats": [ - 6 - ], - "icon": "eCommercePy.png", - "script": "cdn\\.e-commerceparaguay\\.com", - "website": "http://e-commerceparaguay.com" - }, - "E-Merchant": { - "cats": [ - 6 - ], - "icon": "E-Merchant.png", - "script": "cdn\\.e-merchant\\.com", - "website": "http://e-merchant.com" - }, "EC-CUBE": { "cats": [ 6 @@ -2711,18 +2694,6 @@ ], "website": "http://www.ec-cube.net" }, - "ef.js": { - "cats": [ - 12 - ], - "icon": "ef.js.svg", - "js": { - "ef.version": "(.*)\\;version:\\1", - "efCore": "" - }, - "script": "/ef(?:-core)?(?:\\.min|\\.dev)?\\.js", - "website": "http://ef.js.org" - }, "ELOG": { "cats": [ 19 @@ -2758,8 +2729,8 @@ 1 ], "cookies": { - "EPiTrace": "", - "EPiServer": "" + "EPiServer": "", + "EPiTrace": "" }, "icon": "EPiServer.png", "implies": "Microsoft ASP.NET", @@ -2772,12 +2743,12 @@ "cats": [ 19 ], - "js": { - "EPrints": "", - "EPJS_menu_template": "" - }, "icon": "EPrints.png", "implies": "Perl", + "js": { + "EPJS_menu_template": "", + "EPrints": "" + }, "meta": { "generator": "EPrints ([\\d.]+)\\;version:\\1" }, @@ -2823,13 +2794,13 @@ "cats": [ 32 ], + "icon": "Oracle.png", "js": { - "elqSiteID": "", - "elqLoad": "", "elqCurESite": "", + "elqLoad": "", + "elqSiteID": "", "elq_global": "" }, - "icon": "Oracle.png", "script": "elqCfg\\.js", "website": "http://eloqua.com" }, @@ -2843,26 +2814,16 @@ "icon": "Embedthis.png", "website": "http://embedthis.com/appweb" }, - "Embedthis-http": { - "cats": [ - 22 - ], - "headers": { - "Server": "Embedthis-http(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "Embedthis.png", - "website": "http://github.com/embedthis/http" - }, "Ember.js": { "cats": [ 12 ], + "icon": "Ember.js.png", + "implies": "Handlebars", "js": { "Ember": "", "Ember.VERSION": "(.*)\\;version:\\1" }, - "icon": "Ember.js.png", - "implies": "Handlebars", "website": "http://emberjs.com" }, "Enyo": { @@ -2870,10 +2831,10 @@ 12, 26 ], + "icon": "Enyo.png", "js": { "enyo": "" }, - "icon": "Enyo.png", "script": "enyo\\.js", "website": "http://enyojs.com" }, @@ -2890,10 +2851,10 @@ "cats": [ 36 ], + "icon": "Epom.png", "js": { "epomCustomParams": "" }, - "icon": "Epom.png", "url": "^https?://(?:[^/]+\\.)?ad(?:op)?shost1\\.com/", "website": "http://epom.com" }, @@ -2911,15 +2872,15 @@ "cats": [ 24 ], - "js": { - "padeditbar": "", - "padimpexp": "" - }, "headers": { "Server": "^Etherpad" }, "icon": "etherpad.png", "implies": "Node.js", + "js": { + "padeditbar": "", + "padimpexp": "" + }, "script": [ "/ep_etherpad-lite/" ], @@ -2929,11 +2890,11 @@ "cats": [ 25 ], + "icon": "Exhibit.png", "js": { "Exhibit": "", "Exhibit.version": "(.*)\\;version:\\1" }, - "icon": "Exhibit.png", "script": "exhibit.*\\.js", "website": "http://simile-widgets.org/exhibit/" }, @@ -2954,9 +2915,9 @@ 1 ], "cookies": { + "exp_csrf_token": "", "exp_last_activity": "", - "exp_tracker": "", - "exp_csrf_token": "" + "exp_tracker": "" }, "icon": "ExpressionEngine.png", "implies": "PHP", @@ -2966,11 +2927,11 @@ "cats": [ 12 ], + "icon": "ExtJS.png", "js": { "Ext": "", "Ext.versions.extjs.version": "(.*)\\;version:\\1" }, - "icon": "ExtJS.png", "script": "ext-base\\.js", "website": "http://www.extjs.com" }, @@ -3026,16 +2987,26 @@ }, "FancyBox": { "cats": [ - 12 + 59 ], "icon": "FancyBox.png", + "implies": "jQuery", "js": { "$.fancybox.version": "(.*)\\;version:\\1" }, - "implies": "jQuery", "script": "jquery\\.fancybox(?:\\.pack|\\.min)?\\.js(?:\\?v=([\\d.]+))?$\\;version:\\1", "website": "http://fancyapps.com/fancybox" }, + "Fastcommerce": { + "cats": [ + 6 + ], + "icon": "Fastcommerce.png", + "meta": { + "generator": "^Fastcommerce" + }, + "website": "https://www.fastcommerce.com.br" + }, "Fastly": { "cats": [ 31 @@ -3059,6 +3030,16 @@ "implies": "PHP", "website": "http://fatfreeframework.com" }, + "Fbits": { + "cats": [ + 6 + ], + "icon": "Fbits.png", + "js": { + "fbits": "" + }, + "website": "https://www.traycorp.com.br" + }, "Fedora": { "cats": [ 28 @@ -3071,7 +3052,7 @@ }, "Fingerprintjs": { "cats": [ - 12 + 59 ], "js": { "Fingerprint": "(\\d)?$\\;version:\\1", @@ -3085,10 +3066,10 @@ "cats": [ 34 ], + "icon": "Firebase.png", "js": { "firebase.SDK_VERSION": "([\\d.]+)$\\;version:\\1" }, - "icon": "Firebase.png", "script": "/(?:([\\d.]+)/)?firebase(?:\\.min)?\\.js\\;version:\\1", "website": "https://firebase.com" }, @@ -3102,6 +3083,22 @@ "icon": "Fireblade.png", "website": "http://fireblade.com" }, + "Flarum": { + "cats": [ + 2 + ], + "html": "<div id=\"flarum-loading\"", + "icon": "flarum.png", + "implies": [ + "PHP", + "MySQL" + ], + "js": { + "app.cache.discussionList": "", + "app.forum.freshness": "" + }, + "website": "http://flarum.org/" + }, "Flask": { "cats": [ 18, @@ -3118,9 +3115,9 @@ "cats": [ 18 ], + "html": "<link[^>]* href=[^>]+flat-ui(?:\\.min)?\\.css", "icon": "Flat UI.png", "implies": "Bootstrap", - "html": "<link[^>]* href=[^>]+flat-ui(?:\\.min)?\\.css", "website": "https://designmodo.github.io/Flat-UI/" }, "FlexCMP": { @@ -3151,7 +3148,7 @@ }, "Flickity": { "cats": [ - 12 + 59 ], "js": { "Flickity": "" @@ -3215,9 +3212,6 @@ "cats": [ 8 ], - "js": { - "foswiki": "" - }, "cookies": { "FOSWIKISTRIKEONE": "", "SFOSWIKISID": "" @@ -3231,6 +3225,9 @@ ], "icon": "foswiki.png", "implies": "Perl", + "js": { + "foswiki": "" + }, "meta": { "foswiki.SERVERTIME": "", "foswiki.WIKINAME": "" @@ -3247,27 +3244,35 @@ "icon": "FreeBSD.png", "website": "http://freebsd.org" }, - "Freespee": { - "cats": [ - 10 - ], - "script": "analytics\\.freespee\\.com/js/external/fs\\.(?:min\\.)?js", - "icon": "Freespee.svg", - "website": "https://www.freespee.com" - }, "FreeTextBox": { "cats": [ 24 ], + "html": "/<!--\\s*\\*\\s*FreeTextBox v\\d+ \\(([.\\d]+)(?:(?:.|\\n)+?<!--\\s*\\*\\s*License Type: (Distribution|Professional)License)?/i\\;version:\\1 \\2", + "icon": "FreeTextBox.png", + "implies": "Microsoft ASP.NET", "js": { "FTB_API": "", "FTB_AddEvent": "" }, - "html": "/<!--\\s*\\*\\s*FreeTextBox v\\d+ \\(([.\\d]+)(?:(?:.|\n)+?<!--\\s*\\*\\s*License Type: (Distribution|Professional)License)?/i\\;version:\\1 \\2", - "icon": "FreeTextBox.png", - "implies": "Microsoft ASP.NET", "website": "http://freetextbox.com" }, + "Freespee": { + "cats": [ + 10 + ], + "icon": "Freespee.svg", + "script": "analytics\\.freespee\\.com/js/external/fs\\.(?:min\\.)?js", + "website": "https://www.freespee.com" + }, + "Freshmarketer": { + "cats": [ + 10 + ], + "icon": "freshmarketer.png", + "script": "cdn\\.freshmarketer\\.com", + "website": "https://www.freshworks.com/marketing-automation/conversion-rate-optimization/" + }, "Froala Editor": { "cats": [ 24 @@ -3286,8 +3291,8 @@ ], "icon": "FrontPage.png", "meta": { - "generator": "Microsoft FrontPage(?:\\s((?:Express )?[\\d.]+))?\\;version:\\1", - "ProgId": "^FrontPage\\." + "ProgId": "^FrontPage\\.", + "generator": "Microsoft FrontPage(?:\\s((?:Express )?[\\d.]+))?\\;version:\\1" }, "website": "http://office.microsoft.com/frontpage" }, @@ -3295,13 +3300,21 @@ "cats": [ 36 ], + "icon": "Fusion Ads.png", "js": { "_fusion": "" }, - "icon": "Fusion Ads.png", "script": "^[^\\/]*//[ac]dn\\.fusionads\\.net/(?:api/([\\d.]+)/)?\\;version:\\1", "website": "http://fusionads.net" }, + "Future Shop": { + "cats": [ + 6 + ], + "icon": "futureshop.png", + "script": "future-shop.*\\.js", + "website": "https://www.future-shop.jp" + }, "G-WAN": { "cats": [ 22 @@ -3327,27 +3340,27 @@ "cats": [ 7 ], - "js": { - "galleryAuthToken": "", - "$.fn.gallery_valign": "" - }, "html": [ "<div id=\"gsNavBar\" class=\"gcBorder1\">", "<a href=\"http://gallery\\.sourceforge\\.net\"><img[^>]+Powered by Gallery\\s*(?:(?:v|Version)\\s*([0-9.]+))?\\;version:\\1" ], "icon": "Gallery.png", + "js": { + "$.fn.gallery_valign": "", + "galleryAuthToken": "" + }, "website": "http://galleryproject.org/" }, "Gambio": { "cats": [ 6 ], - "js": { - "gambio": "" - }, "html": "(?:<link[^>]* href=\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->|<!--[\\s=]+Shopsoftware by Gambio GmbH \\(c\\))", "icon": "Gambio.png", "implies": "PHP", + "js": { + "gambio": "" + }, "script": "gm_javascript\\.js\\.php", "website": "http://gambio.de" }, @@ -3371,13 +3384,13 @@ "cats": [ 10 ], - "js": { - "_gauges": "" - }, "cookies": { "_gauges_": "" }, "icon": "Gauges.png", + "js": { + "_gauges": "" + }, "website": "https://get.gaug.es" }, "Gazelle": { @@ -3393,19 +3406,6 @@ }, "website": "https://whatcd.github.io/Gazelle/" }, - "Genexus": { - "cats": [ - 18, - 19 - ], - "icon": "genexus.png", - "website": "https://www.genexus.com", - "js": { - "gx.evt": "" - }, - "html": "<[^>]+class=\"gxp-page\"", - "script": "/gxp\\.js" - }, "Gentoo": { "cats": [ 28 @@ -3420,10 +3420,6 @@ "cats": [ 47 ], - "js": { - "gerrit_ui": "", - "Gerrit": "" - }, "html": [ ">Gerrit Code Review</a>\\s*\"\\s*\\(([0-9.]+)\\)\\;version:\\1", "<(?:div|style) id=\"gerrit_" @@ -3433,6 +3429,10 @@ "Java", "git" ], + "js": { + "Gerrit": "", + "gerrit_ui": "" + }, "meta": { "title": "^Gerrit Code Review$" }, @@ -3443,10 +3443,10 @@ "cats": [ 13 ], + "icon": "Get Satisfaction.png", "js": { "GSFN": "" }, - "icon": "Get Satisfaction.png", "website": "https://getsatisfaction.com/corp/" }, "GetSimple CMS": { @@ -3482,19 +3482,20 @@ "meta": { "generator": "GitBook(?:.([\\d.]+))?\\;version:\\1" }, - "website": "http://gitbook.io" + "url": "^https?://[^/]+\\.gitbook\\.com/", + "website": "https://www.gitbook.com" }, "GitHub Pages": { "cats": [ 31 ], - "url": "^https?://[^/]+\\.github\\.io/", "headers": { "Server": "^GitHub\\.com$", "X-GitHub-Request-Id": "" }, "icon": "GitHub.svg", "implies": "Ruby on Rails", + "url": "^https?://[^/]+\\.github\\.io/", "website": "https://pages.github.com/" }, "GitLab": { @@ -3502,10 +3503,6 @@ 13, 47 ], - "js": { - "GitLab": "", - "gl.dashboardOptions": "" - }, "cookies": { "_gitlab_session": "" }, @@ -3515,6 +3512,10 @@ ], "icon": "GitLab.svg", "implies": "Ruby on Rails", + "js": { + "GitLab": "", + "gl.dashboardOptions": "" + }, "meta": { "og:site_name": "^GitLab$" }, @@ -3532,6 +3533,22 @@ }, "website": "http://about.gitlab.com/gitlab-ci" }, + "Gitea": { + "cats": [ + 47 + ], + "cookies": { + "i_like_gitea": "" + }, + "html": [ + "<div class=\"ui left\">\\n\\s+© Gitea Version: ([\\d.]+)\\;version:\\1" + ], + "icon": "gitea.svg", + "meta": { + "keywords": "^go,git,self-hosted,gitea$" + }, + "website": "https://gitea.io" + }, "Gitiles": { "cats": [ 47 @@ -3581,16 +3598,28 @@ "icon": "GoAhead.png", "website": "http://embedthis.com/products/goahead/index.html" }, + "GoSquared": { + "cats": [ + 10, + 52, + 53 + ], + "icon": "gosquared.png", + "js": { + "_gs": "\\;confidence:30" + }, + "website": "https://www.gosquared.com/" + }, "GoStats": { "cats": [ 10 ], + "icon": "GoStats.png", "js": { "_goStatsRun": "", "_go_track_src": "", "go_msie": "" }, - "icon": "GoStats.png", "website": "http://gostats.com/" }, "Gogs": { @@ -3601,7 +3630,7 @@ "i_like_gogits": "" }, "html": [ - "<div class=\"ui left\">\n\\s+© \\d{4} Gogs Version: ([\\d.]+) Page:\\;version:\\1", + "<div class=\"ui left\">\\n\\s+© \\d{4} Gogs Version: ([\\d.]+) Page:\\;version:\\1", "<button class=\"ui basic clone button\" id=\"repo-clone-ssh\" data-link=\"gogs@" ], "icon": "gogs.png", @@ -3611,32 +3640,16 @@ "script": "js/gogs\\.js", "website": "http://gogs.io" }, - "Gitea": { - "cats": [ - 47 - ], - "cookies": { - "i_like_gitea": "" - }, - "html": [ - "<div class=\"ui left\">\n\\s+© Gitea Version: ([\\d.]+)\\;version:\\1" - ], - "icon": "gitea.svg", - "meta": { - "keywords": "^go,git,self-hosted,gitea$" - }, - "website": "https://gitea.io" - }, "Google AdSense": { "cats": [ 36 ], + "icon": "Google AdSense.svg", "js": { - "google_ad_": "", + "Goog_AdSense_": "", "__google_ad_urls": "", - "Goog_AdSense_": "" + "google_ad_": "" }, - "icon": "Google AdSense.svg", "script": [ "googlesyndication\\.com/", "ad\\.ca\\.doubleclick\\.net", @@ -3649,29 +3662,29 @@ "cats": [ 10 ], - "js": { - "gaGlobal": "", - "GoogleAnalyticsObject": "" - }, "cookies": { + "__utma": "", "_ga": "", - "_gat": "", - "__utma": "" + "_gat": "" }, "icon": "Google Analytics.svg", - "script": "google-analytics\\.com\\/(?:ga|urchin|(analytics))\\.js\\;version:\\1?UA:", + "js": { + "GoogleAnalyticsObject": "", + "gaGlobal": "" + }, + "script": "google-analytics\\.com\\/(?:ga|urchin|(analytics))\\.js\\;version:\\1?Universal Analytics:", "website": "http://google.com/analytics" }, "Google Analytics Enhanced eCommerce": { "cats": [ 10 ], + "icon": "Google Analytics.svg", + "implies": "Google Analytics", "js": { "gaplugins.EC": "" }, - "icon": "Google Analytics.svg", "script": "google-analytics\\.com\\/plugins\\/ua\\/(?:ec|ecommerce)\\.js", - "implies": "Google Analytics", "website": "https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce" }, "Google App Engine": { @@ -3688,32 +3701,42 @@ "cats": [ 25 ], + "icon": "Google Charts.png", "js": { "__googleVisualizationAbstractRendererElementsCount__": "", "__gvizguard__": "" }, - "icon": "Google Charts.png", "website": "http://developers.google.com/chart/" }, + "Google Cloud": { + "cats": [ + 31 + ], + "headers": { + "Via": "^1\\.1 google$" + }, + "icon": "google_cloud.svg", + "website": "https://cloud.google.com" + }, "Google Code Prettify": { "cats": [ 19 ], + "icon": "Google.svg", "js": { "prettyPrint": "" }, - "icon": "Google.svg", "website": "http://code.google.com/p/google-code-prettify" }, "Google Font API": { "cats": [ 17 ], + "html": "<link[^>]* href=[^>]+fonts\\.(?:googleapis|google)\\.com", + "icon": "Google Font API.png", "js": { "WebFonts": "" }, - "html": "<link[^>]* href=[^>]+fonts\\.(?:googleapis|google)\\.com", - "icon": "Google Font API.png", "script": "googleapis\\.com/.+webfont", "website": "http://google.com/fonts" }, @@ -3771,15 +3794,15 @@ "cats": [ 42 ], - "js": { - "googletag": "", - "google_tag_manager": "" - }, "html": [ "googletagmanager\\.com/ns\\.html[^>]+></iframe>", "<!-- (?:End )?Google Tag Manager -->" ], "icon": "Google Tag Manager.png", + "js": { + "google_tag_manager": "", + "googletag": "" + }, "website": "http://www.google.com/tagmanager" }, "Google Wallet": { @@ -3807,11 +3830,11 @@ "cats": [ 18 ], + "icon": "Google Web Toolkit.png", + "implies": "Java", "js": { "__gwt_": "" }, - "icon": "Google Web Toolkit.png", - "implies": "Java", "meta": { "gwt:property": "" }, @@ -3847,11 +3870,11 @@ "cats": [ 19 ], + "html": "<[^>]+gravatar\\.com/avatar/", + "icon": "Gravatar.png", "js": { "Gravatar": "" }, - "html": "<[^>]+gravatar\\.com/avatar/", - "icon": "Gravatar.png", "website": "http://gravatar.com" }, "Gravity Forms": { @@ -3864,19 +3887,19 @@ "<ul [^>]*class=(?:\"|')[^>]*gform_fields", "<link [^>]*href=(?:\"|')[^>]*wp-content/plugins/gravityforms/css/" ], - "script": "/wp-content/plugins/gravityforms/js/[^/]+\\.js\\?ver=([\\d.]+)$\\;version:\\1", "icon": "gravityforms.svg", "implies": "WordPress", + "script": "/wp-content/plugins/gravityforms/js/[^/]+\\.js\\?ver=([\\d.]+)$\\;version:\\1", "website": "http://gravityforms.com" }, "Gravity Insights": { "cats": [ 10 ], + "icon": "Gravity Insights.png", "js": { "gravityInsightsParams": "" }, - "icon": "Gravity Insights.png", "website": "http://insights.gravity.com" }, "Green Valley CMS": { @@ -3987,14 +4010,14 @@ }, "Hammer.js": { "cats": [ - 12 + 59 ], + "icon": "Hammer.js.png", "js": { + "Ha.VERSION": "(.*)\\;version:\\1", "Hammer": "", - "Hammer.VERSION": "(.*)\\;version:\\1", - "Ha.VERSION": "(.*)\\;version:\\1" + "Hammer.VERSION": "(.*)\\;version:\\1" }, - "icon": "Hammer.js.png", "script": "hammer(?:\\.min)?\\.js", "website": "https://hammerjs.github.io" }, @@ -4002,12 +4025,12 @@ "cats": [ 12 ], + "html": "<[^>]*type=[^>]text\\/x-handlebars-template", + "icon": "Handlebars.png", "js": { "Handlebars": "", "Handlebars.VERSION": "(.*)\\;version:\\1" }, - "html": "<[^>]*type=[^>]text\\/x-handlebars-template", - "icon": "Handlebars.png", "script": "handlebars(?:\\.runtime)?(?:-v([\\d.]+?))?(?:\\.min)?\\.js\\;version:\\1", "website": "http://handlebarsjs.com" }, @@ -4015,10 +4038,10 @@ "cats": [ 6 ], + "icon": "Haravan.png", "js": { "Haravan": "" }, - "icon": "Haravan.png", "script": "haravan.*\\.js", "website": "https://www.haravan.com" }, @@ -4031,13 +4054,13 @@ }, "HeadJS": { "cats": [ - 12 + 59 ], + "html": "<[^>]*data-headjs-load", + "icon": "HeadJS.png", "js": { "head.browser.name": "" }, - "html": "<[^>]*data-headjs-load", - "icon": "HeadJS.png", "script": "head\\.(?:core|load)(?:\\.min)?\\.js", "website": "http://headjs.com" }, @@ -4045,10 +4068,10 @@ "cats": [ 10 ], + "icon": "Heap.png", "js": { "heap": "" }, - "icon": "Heap.png", "script": "heap-\\d+\\.js", "website": "http://heapanalytics.com" }, @@ -4056,10 +4079,10 @@ "cats": [ 5 ], + "icon": "Hello Bar.png", "js": { "HelloBar": "" }, - "icon": "Hello Bar.png", "script": "hellobar\\.js", "website": "http://hellobar.com" }, @@ -4067,10 +4090,10 @@ "cats": [ 57 ], - "icon": "Hexo.png", "html": [ "Powered by <a href=\"https?://hexo\\.io/?\"[^>]*>Hexo</" ], + "icon": "Hexo.png", "meta": { "generator": "Hexo(?: v?([\\d.]+))?\\;version:\\1" }, @@ -4090,12 +4113,12 @@ "cats": [ 25 ], + "html": "<svg[^>]*><desc>Created with Highcharts ([\\d.]*)\\;version:\\1", + "icon": "Highcharts.png", "js": { "Highcharts": "", "Highcharts.version": "(.*)\\;version:\\1" }, - "html": "<svg[^>]*><desc>Created with Highcharts ([\\d.]*)\\;version:\\1", - "icon": "Highcharts.png", "script": "highcharts.*\\.js", "website": "https://www.highcharts.com" }, @@ -4103,10 +4126,11 @@ "cats": [ 19 ], + "icon": "Highlight.js.png", "js": { + "hljs.highlightBlock": "", "hljs.listLanguages": "" }, - "icon": "Highlight.js.png", "script": "/(?:([\\d.])+/)?highlight(?:\\.min)?\\.js\\;version:\\1", "website": "https://highlightjs.org/" }, @@ -4119,6 +4143,18 @@ "script": "highstock(?:\\-|\\.)?([\\d\\.]*\\d).*\\.js\\;version:\\1", "website": "http://highcharts.com/products/highstock" }, + "Hinza Advanced CMS": { + "cats": [ + 1, + 6 + ], + "icon": "hinza_advanced_cms.svg", + "implies": "Laravel", + "meta": { + "generator": "hinzacms" + }, + "website": "http://hinzaco.com" + }, "Hippo": { "cats": [ 1 @@ -4131,10 +4167,10 @@ "cats": [ 12 ], + "icon": "Hogan.js.png", "js": { "Hogan": "" }, - "icon": "Hogan.js.png", "script": [ "hogan-(?:-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", "([\\d.]+)/hogan(?:\\.min)?\\.js\\;version:\\1" @@ -4171,12 +4207,12 @@ "cats": [ 10 ], + "icon": "Hotjar.png", "js": { "HotLeadfactory": "", "HotleadController": "", "hj.apiUrlBase": "" }, - "icon": "Hotjar.png", "script": "^//static\\.hotjar\\.com/c/hotjar-", "website": "https://www.hotjar.com" }, @@ -4184,23 +4220,23 @@ "cats": [ 32 ], + "html": "<!-- Start of Async HubSpot", + "icon": "HubSpot.png", "js": { "_hsq": "", "hubspot": "" }, - "html": "<!-- Start of Async HubSpot", - "icon": "HubSpot.png", "website": "https://www.hubspot.com" }, "Hugo": { "cats": [ 57 ], + "html": "powered by <a [^>]*href=\"http://hugo.spf13.com", "icon": "Hugo.png", "meta": { "generator": "Hugo ([\\d.]+)?\\;version:\\1" }, - "html": "powered by <a [^>]*href=\"http://hugo.spf13.com", "website": "http://gohugo.io" }, "Hybris": { @@ -4266,16 +4302,6 @@ "url": "/wps/", "website": "http://ibm.com/software/websphere/portal" }, - "Ideasoft": { - "cats": [ - 6 - ], - "icon": "Ideasoft.png", - "script": [ - "\\.myideasoft\\.com/" - ], - "website": "https://www.ideasoft.com" - }, "IIS": { "cats": [ 22 @@ -4287,40 +4313,34 @@ "implies": "Windows Server", "website": "http://www.iis.net" }, - "Includable": { - "cats": [ - 18 - ], - "headers": { - "X-Includable-Version": "" - }, - "icon": "Includable.svg", - "website": "http://includable.com" - }, "INFOnline": { "cats": [ 10 ], + "icon": "INFOnline.png", "js": { - "szmvars": "", - "iam_data": "" + "iam_data": "", + "szmvars": "" }, - "icon": "INFOnline.png", "script": "^https?://(?:[^/]+\\.)?i(?:oam|v)wbox\\.de/", "website": "https://www.infonline.de" }, + "INTI": { + "cats": [ + 6, + 53 + ], + "icon": "byINTI.svg", + "url": "^https?//.+\\.byinti\\.com", + "website": "http://byinti.com" + }, "IPB": { "cats": [ 2 ], "cookies": { - "ipbWWLsession_id": "", - "ipbWWLmodpids": "" - }, - "js": { - "IPBoard": "", - "ipb_var": "", - "ipsSettings": "" + "ipbWWLmodpids": "", + "ipbWWLsession_id": "" }, "html": "<link[^>]+ipb_[^>]+\\.css", "icon": "IPB.png", @@ -4328,34 +4348,45 @@ "PHP", "MySQL" ], + "js": { + "IPBoard": "", + "ipb_var": "", + "ipsSettings": "" + }, "script": "jscripts/ips_", "website": "https://invisioncommunity.com/" }, - "Immutable.js": { + "Ideasoft": { "cats": [ - 12 + 6 + ], + "icon": "Ideasoft.png", + "script": [ + "\\.myideasoft\\.com/" + ], + "website": "https://www.ideasoft.com" + }, + "IdoSell Shop": { + "cats": [ + 6 ], + "icon": "idosellshop.png", "js": { - "Immutable": "", - "Immutable.version": "(.*)\\;version:\\1" + "IAI_Ajax": "" }, - "icon": "Immutable.js.png", - "script": "^immutable\\.(?:min\\.)?js$", - "website": "https://facebook.github.io/immutable-js/" + "website": "https://www.idosell.com" }, - "imperia CMS": { + "Immutable.js": { "cats": [ - 1 + 59 ], - "meta": { - "X-Imperia-Live-Info": "", - "GENERATOR": "^IMPERIA ([0-9.]{2,})+$\\;version:\\1" + "icon": "Immutable.js.png", + "js": { + "Immutable": "", + "Immutable.version": "(.*)\\;version:\\1" }, - "html": "<imp:live-info sysid=\"[0-9a-f-]+\"(?: node_id=\"[0-9/]*\")? *\\/>", - "icon": "imperiaCMS.svg", - "implies": "Perl", - "url": "imperia/md/", - "website": "https://www.pirobase-imperia.com/de/produkte/produktuebersicht/imperia-cms" + "script": "^immutable\\.(?:min\\.)?js$", + "website": "https://facebook.github.io/immutable-js/" }, "ImpressCMS": { "cats": [ @@ -4403,6 +4434,16 @@ "icon": "Incapsula.png", "website": "http://www.incapsula.com" }, + "Includable": { + "cats": [ + 18 + ], + "headers": { + "X-Includable-Version": "" + }, + "icon": "Includable.svg", + "website": "http://includable.com" + }, "Indexhibit": { "cats": [ 1 @@ -4442,11 +4483,11 @@ "cats": [ 12 ], + "icon": "InfernoJS.png", "js": { "Inferno": "", "Inferno.version": "(.*)\\;version:\\1" }, - "icon": "InfernoJS.png", "website": "https://infernojs.org" }, "Infusionsoft": { @@ -4460,6 +4501,23 @@ "icon": "infusionsoft.svg", "website": "http://infusionsoft.com" }, + "Inspectlet": { + "cats": [ + 10 + ], + "html": [ + "<!-- (?:Begin|End) Inspectlet Embed Code -->" + ], + "icon": "inspectlet.png", + "js": { + "__insp": "", + "__inspld": "" + }, + "script": [ + "cdn\\.inspectlet\\.com" + ], + "website": "https://www.inspectlet.com/" + }, "InstantCMS": { "cats": [ 1 @@ -4497,10 +4555,10 @@ "cats": [ 10 ], + "icon": "Intercom.png", "js": { "Intercom": "" }, - "icon": "Intercom.png", "script": "(?:api\\.intercom\\.io/api|static\\.intercomcdn\\.com/intercom\\.v1)", "website": "https://www.intercom.com" }, @@ -4512,15 +4570,6 @@ "script": "(?:is-bin|INTERSHOP)", "website": "http://intershop.com" }, - "INTI": { - "cats": [ - 6, - 53 - ], - "icon": "byINTI.svg", - "url": "^https?//.+\\.byinti\\.com", - "website": "http://byinti.com" - }, "Invenio": { "cats": [ 50 @@ -4536,11 +4585,11 @@ "cats": [ 56 ], + "icon": "inwemo.png", "js": { "Inwemo": "" }, "script": "https?://cdn\\.inwemo\\.com/inwemo\\.min\\.js", - "icon": "inwemo.png", "website": "https://inwemo.com/" }, "Ionicons": { @@ -4551,17 +4600,6 @@ "icon": "Ionicons.png", "website": "http://ionicons.com" }, - "ip-label": { - "cats": [ - 10 - ], - "script": "clobs\\.js", - "js": { - "clobs": "" - }, - "icon": "iplabel.svg", - "website": "http://www.ip-label.com" - }, "JAlbum": { "cats": [ 7 @@ -4609,13 +4647,24 @@ "cats": [ 25 ], + "icon": "JS Charts.png", "js": { "JSChart": "" }, - "icon": "JS Charts.png", "script": "jscharts.*\\.js", "website": "http://www.jscharts.com" }, + "JSEcoin": { + "cats": [ + 56 + ], + "icon": "JSEcoin.png", + "js": { + "jseMine": "" + }, + "script": "^(?:https):?//load\\.jsecoin\\.com/server/load/", + "website": "https://jsecoin.com/" + }, "JTL Shop": { "cats": [ 6 @@ -4627,6 +4676,15 @@ "icon": "JTL Shop.png", "website": "http://www.jtl-software.de/produkte/jtl-shop3" }, + "Jahia DX": { + "cats": [ + 1, + 47 + ], + "html": "<script id=\"staticAssetAggregatedJavascrip", + "icon": "JahiaDX.svg", + "website": "http://www.jahia.com/dx" + }, "Jalios": { "cats": [ 1 @@ -4637,15 +4695,6 @@ }, "website": "http://www.jalios.com" }, - "Jahia DX": { - "cats": [ - 1, - 47 - ], - "html": "<script id=\"staticAssetAggregatedJavascrip", - "icon": "JahiaDX.svg", - "website": "http://www.jahia.com/dx" - }, "Java": { "cats": [ 27 @@ -4671,11 +4720,11 @@ "cats": [ 25 ], + "icon": "JavaScript Infovis Toolkit.png", "js": { "$jit": "", "$jit.version": "(.*)\\;version:\\1" }, - "icon": "JavaScript Infovis Toolkit.png", "script": "jit(?:-yc)?\\.js", "website": "https://philogb.github.io/jit/" }, @@ -4705,12 +4754,12 @@ "cats": [ 57 ], - "icon": "Jekyll.png", "html": [ "Powered by <a href=\"https?://jekyllrb\\.com\"[^>]*>Jekyll</", "<!-- Created with Jekyll Now -", "<!-- Begin Jekyll SEO tag" ], + "icon": "Jekyll.png", "meta": { "generator": "Jekyll (v[\\d.]+)?\\;version:\\1" }, @@ -4720,18 +4769,29 @@ "cats": [ 44 ], - "js": { - "jenkinsCIGlobal": "", - "jenkinsRules": "" - }, - "html": "<span class=\"jenkins_ver\"><a href=\"https://jenkins\\.io/\">Jenkins ver\\. ([\\d.]+)\\;version:\\1", "headers": { "X-Jenkins": "([\\d.]+)\\;version:\\1" }, + "html": "<span class=\"jenkins_ver\"><a href=\"https://jenkins\\.io/\">Jenkins ver\\. ([\\d.]+)\\;version:\\1", "icon": "Jenkins.png", "implies": "Java", + "js": { + "jenkinsCIGlobal": "", + "jenkinsRules": "" + }, "website": "https://jenkins.io/" }, + "Jetshop": { + "cats": [ + 6 + ], + "html": "<(?:div|aside) id=\"jetshop-branding\">", + "icon": "Jetshop.png", + "js": { + "JetshopData": "" + }, + "website": "http://jetshop.se" + }, "Jetty": { "cats": [ 22 @@ -4747,15 +4807,15 @@ "cats": [ 1 ], - "js": { - "jimdo_Data": "", - "jimdoData": "" - }, "headers": { "X-Jimdo-Instance": "", "X-Jimdo-Wid": "" }, "icon": "jimdo.png", + "js": { + "jimdoData": "", + "jimdo_Data": "" + }, "website": "https://www.jimdo.com" }, "Jirafe": { @@ -4763,10 +4823,10 @@ 10, 32 ], + "icon": "Jirafe.png", "js": { "jirafe": "" }, - "icon": "Jirafe.png", "script": "/jirafe\\.js", "website": "https://docs.jirafe.com" }, @@ -4788,11 +4848,11 @@ "cats": [ 19 ], + "icon": "JobberBase.png", + "implies": "PHP", "js": { "Jobber": "" }, - "icon": "JobberBase.png", - "implies": "PHP", "meta": { "generator": "Jobberbase" }, @@ -4802,66 +4862,55 @@ "cats": [ 1 ], - "js": { - "jcomments": "", - "Joomla": "" - }, "headers": { "X-Content-Encoded-By": "Joomla! ([\\d.]+)\\;version:\\1" }, "html": "(?:<div[^>]+id=\"wrapper_r\"|<(?:link|script)[^>]+(?:feed|components)/com_|<table[^>]+class=\"pill)\\;confidence:50", "icon": "Joomla.svg", "implies": "PHP", + "js": { + "Joomla": "", + "jcomments": "" + }, "meta": { "generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1" }, "url": "option=com_", "website": "https://www.joomla.org" }, - "JSEcoin": { - "cats": [ - 56 - ], - "js": { - "jseMine": "" - }, - "script": "^(?:https):?//load\\.jsecoin\\.com/server/load/", - "icon": "JSEcoin.png", - "website": "https://jsecoin.com/" - }, "K2": { "cats": [ 19 ], - "js": { - "K2RatingURL": "" - }, "html": "<!--(?: JoomlaWorks \"K2\"| Start K2)", "icon": "K2.png", "implies": "Joomla", + "js": { + "K2RatingURL": "" + }, "website": "https://getk2.org" }, "KISSmetrics": { "cats": [ 10 ], + "icon": "KISSmetrics.png", "js": { "KM_COOKIE_DOMAIN": "" }, - "icon": "KISSmetrics.png", "website": "https://www.kissmetrics.com" }, "Kajabi": { "cats": [ 6 ], - "js": { - "Kajabi": "" - }, "cookies": { "_kjb_session": "" }, "icon": "Kajabi.svg", + "js": { + "Kajabi": "" + }, "website": "https://newkajabi.com" }, "Kampyle": { @@ -4869,15 +4918,15 @@ 10, 13 ], - "js": { - "kampyle": "", - "k_track": "", - "KAMPYLE_COMMON": "" - }, "cookies": { "k_visit": "" }, "icon": "Kampyle.png", + "js": { + "KAMPYLE_COMMON": "", + "k_track": "", + "kampyle": "" + }, "script": "cf\\.kampyle\\.com/k_button\\.js", "website": "http://www.kampyle.com" }, @@ -4885,39 +4934,38 @@ "cats": [ 6 ], + "icon": "Kamva.svg", "js": { "Kamva": "" }, - "icon": "Kamva.svg", "meta": { "generator": "[CK]amva" }, "script": "cdn\\.mykamva\\.ir", "website": "https://kamva.ir" }, - "Hinza Advanced CMS": { + "Kemal": { "cats": [ - 1, - 6 + 18, + 22 ], - "icon": "hinza_advanced_cms.svg", - "meta": { - "generator": "hinzacms" + "headers": { + "X-Powered-By": "Kemal" }, - "implies": "Laravel", - "website": "http://hinzaco.com" + "icon": "kemalcr.png", + "website": "http://kemalcr.com" }, "Kendo UI": { "cats": [ 18 ], + "html": "<link[^>]*\\s+href=[^>]*styles/kendo\\.common(?:\\.min)?\\.css[^>]*/>", + "icon": "Kendo UI.png", + "implies": "jQuery", "js": { "kendo": "", "kendo.version": "(.*)\\;version:\\1" }, - "html": "<link[^>]*\\s+href=[^>]*styles/kendo\\.common(?:\\.min)?\\.css[^>]*/>", - "icon": "Kendo UI.png", - "implies": "jQuery", "website": "https://www.telerik.com/kendo-ui" }, "Kentico CMS": { @@ -4943,17 +4991,6 @@ "icon": "KeyCDN.png", "website": "http://www.keycdn.com" }, - "Kemal": { - "cats": [ - 18, - 22 - ], - "headers": { - "X-Powered-By": "Kemal" - }, - "icon": "kemalcr.png", - "website": "http://kemalcr.com" - }, "Kibana": { "cats": [ 29, @@ -4973,11 +5010,11 @@ "cats": [ 25 ], + "icon": "KineticJS.png", "js": { "Kinetic": "", "Kinetic.version": "(.*)\\;version:\\1" }, - "icon": "KineticJS.png", "script": "kinetic(?:-v?([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1", "website": "https://github.com/ericdrowell/KineticJS/" }, @@ -4987,20 +5024,20 @@ 6, 5 ], + "icon": "Klarna.svg", "js": { "_klarnaCheckout": "" }, - "icon": "Klarna.svg", "website": "https://www.klarna.com/international/" }, "Knockout.js": { "cats": [ 12 ], + "icon": "Knockout.js.png", "js": { "ko.version": "(.*)\\;version:\\1" }, - "icon": "Knockout.js.png", "website": "http://knockoutjs.com" }, "Koa": { @@ -5035,8 +5072,8 @@ "icon": "Kobimaster.png", "implies": "Microsoft ASP.NET", "js": { - "kmPageInfo": "", - "kmGetSession": "" + "kmGetSession": "", + "kmPageInfo": "" }, "website": "https://www.kobimaster.com.tr" }, @@ -5044,18 +5081,18 @@ "cats": [ 21 ], - "meta": { - "generator": "^Koha ([\\d.]+)$\\;version:\\1" - }, - "js": { - "KOHA": "" - }, "html": [ "<input name=\"koha_login_context\" value=\"intranet\" type=\"hidden\">", "<a href=\"/cgi-bin/koha/" ], "icon": "koha.png", "implies": "Perl", + "js": { + "KOHA": "" + }, + "meta": { + "generator": "^Koha ([\\d.]+)$\\;version:\\1" + }, "website": "https://koha-community.org/" }, "Kohana": { @@ -5156,6 +5193,14 @@ "script": "kotisivukone(?:\\.min)?\\.js", "website": "http://www.kotisivukone.fi" }, + "Kubernetes Dashboard": { + "cats": [ + 47 + ], + "html": "<html ng-app=\"kubernetesDashboard\">", + "icon": "Kubernetes.svg", + "website": "https://kubernetes.io/" + }, "LEPTON": { "cats": [ 1 @@ -5186,34 +5231,25 @@ }, "icon": "Laravel.png", "implies": "PHP", + "js": { + "Laravel": "" + }, "website": "http://laravel.com" }, "Laterpay": { "cats": [ 41 ], + "icon": "laterpay.png", "meta": { "laterpay:connector:callbacks:on_user_has_access": "deobfuscateText" }, "script": "https?://connectormwi\\.laterpay\\.net/([0-9.]+)[a-zA-z\\-]*/live/[\\w-]+\\.js\\;version:\\1", - "icon": "laterpay.png", "website": "https://www.laterpay.net/" }, - "MYPAGE Platform": { - "cats": [ - 1, - 6 - ], - "cookies": { - "botble_session": "" - }, - "icon": "mypage-platform.png", - "implies": "Laravel", - "website": "https://www.mypage.vn" - }, "Lazy.js": { "cats": [ - 12 + 59 ], "script": "lazy(?:\\.browser)?(?:\\.min)?\\.js", "website": "http://danieltao.com/lazy.js" @@ -5222,12 +5258,12 @@ "cats": [ 35 ], + "icon": "Leaflet.png", "js": { - "L.version": "(.*)\\;version:\\1\\;confidence:0", + "L.DistanceGrid": "", "L.PosAnimation": "", - "L.DistanceGrid": "" + "L.version": "(.*)\\;version:\\1\\;confidence:0" }, - "icon": "Leaflet.png", "script": "leaflet.*\\.js", "website": "http://leafletjs.com" }, @@ -5243,13 +5279,13 @@ "cats": [ 1 ], - "js": { - "Liferay": "" - }, "headers": { "Liferay-Portal": "[a-z\\s]+([\\d.]+)\\;version:\\1" }, "icon": "Liferay.png", + "js": { + "Liferay": "" + }, "website": "https://www.liferay.com" }, "Lift": { @@ -5280,7 +5316,7 @@ }, "Lightbox": { "cats": [ - 12 + 59 ], "html": "<link [^>]*href=\"[^\"]+lightbox(?:\\.min)?\\.css", "icon": "Lightbox.png", @@ -5322,12 +5358,12 @@ "cats": [ 36 ], + "icon": "LinkSmart.png", "js": { - "_mb_site_guid": "", "LS_JSON": "", - "LinkSmart": "" + "LinkSmart": "", + "_mb_site_guid": "" }, - "icon": "LinkSmart.png", "script": "^https?://cdn\\.linksmart\\.com/linksmart_([\\d.]+?)(?:\\.min)?\\.js\\;version:\\1", "website": "http://linksmart.com" }, @@ -5341,12 +5377,12 @@ }, "List.js": { "cats": [ - 12 + 59 ], + "icon": "List.js.png", "js": { "List": "" }, - "icon": "List.js.png", "script": "^list\\.(?:min\\.)?js$", "website": "http://listjs.com" }, @@ -5364,25 +5400,25 @@ "cats": [ 1 ], - "js": { - "LITHIUM": "" - }, "cookies": { "LithiumVisitor": "" }, "html": " <a [^>]+Powered by Lithium", "icon": "Lithium.png", "implies": "PHP", + "js": { + "LITHIUM": "" + }, "website": "https://www.lithium.com" }, "LiveAgent": { "cats": [ 52 ], + "icon": "LiveAgent.png", "js": { "LiveAgent": "" }, - "icon": "LiveAgent.png", "website": "https://www.ladesk.com" }, "LiveChat": { @@ -5393,6 +5429,15 @@ "script": "cdn\\.livechatinc\\.com/.*tracking\\.js", "website": "http://livechatinc.com" }, + "LiveHelp": { + "cats": [ + 52, + 53 + ], + "icon": "LiveHelp.png", + "script": "^https?://server\\.livehelp\\.it/widgetjs/[0-9]{5}/[0-9]{1,3}\\.js", + "website": "http://www.livehelp.it" + }, "LiveJournal": { "cats": [ 11 @@ -5413,28 +5458,28 @@ "cats": [ 1 ], - "js": { - "LIVESTREET_SECURITY_KEY": "" - }, "headers": { "X-Powered-By": "LiveStreet CMS" }, "icon": "LiveStreet CMS.png", "implies": "PHP", + "js": { + "LIVESTREET_SECURITY_KEY": "" + }, "website": "http://livestreetcms.com" }, "Livefyre": { "cats": [ 15 ], + "html": "<[^>]+(?:id|class)=\"livefyre", + "icon": "Livefyre.png", "js": { - "fyre": "", "FyreLoader": "", + "L.version": "(.*)\\;confidence:0\\;version:\\1", "LF.CommentCount": "", - "L.version": "(.*)\\;confidence:0\\;version:\\1" + "fyre": "" }, - "html": "<[^>]+(?:id|class)=\"livefyre", - "icon": "Livefyre.png", "script": "livefyre_init\\.js", "website": "http://livefyre.com" }, @@ -5452,17 +5497,6 @@ "script": "/js/al/common\\.js\\?[0-9_]+", "website": "http://liveinternet.ru/rating/" }, - "Lo-dash": { - "cats": [ - 12 - ], - "icon": "Lo-dash.png", - "js": { - "_.VERSION": "(.*)\\;version:\\1" - }, - "script": "lodash.*\\.js", - "website": "http://www.lodash.com" - }, "Locomotive": { "cats": [ 1 @@ -5475,6 +5509,19 @@ ], "website": "http://www.locomotivecms.com" }, + "Lodash": { + "cats": [ + 59 + ], + "excludes": "Underscore.js", + "icon": "Lo-dash.png", + "js": { + "_.VERSION": "(.*)\\;confidence:0\\;version:\\1", + "_.differenceBy": "" + }, + "script": "lodash.*\\.js", + "website": "http://www.lodash.com" + }, "Logitech Media Server": { "cats": [ 22, @@ -5502,7 +5549,7 @@ 27 ], "headers": { - "X-Powered-By": "\bLua(?: ([\\d.]+))?\\;version:\\1" + "X-Powered-By": "\\bLua(?: ([\\d.]+))?\\;version:\\1" }, "icon": "Lua.png", "website": "http://www.lua.org" @@ -5520,10 +5567,10 @@ 10, 29 ], + "icon": "Luigisbox.svg", "js": { "Luigis": "" }, - "icon": "Luigisbox.svg", "website": "https://www.luigisbox.com" }, "M.R. Inc BoxyOS": { @@ -5564,24 +5611,10 @@ "icon": "mhonarc.png", "website": "http://www.mhonarc.at" }, - "MkDocs": { - "cats": [ - 4 - ], - "meta": { - "generator": "^mkdocs-([\\d.]+)\\;version:\\1" - }, - "icon": "mkdocs.png", - "website": "http://www.mkdocs.org/" - }, "MODX": { "cats": [ 1 ], - "js": { - "MODX": "", - "MODX_MEDIA_PATH": "" - }, "headers": { "X-Powered-By": "^MODX" }, @@ -5593,20 +5626,36 @@ ], "icon": "MODX.png", "implies": "PHP", + "js": { + "MODX": "", + "MODX_MEDIA_PATH": "" + }, "meta": { "generator": "MODX[^\\d.]*([\\d.]+)?\\;version:\\1" }, "website": "http://modx.com" }, + "MYPAGE Platform": { + "cats": [ + 1, + 6 + ], + "cookies": { + "botble_session": "" + }, + "icon": "mypage-platform.png", + "implies": "Laravel", + "website": "https://www.mypage.vn" + }, "MadAdsMedia": { "cats": [ 36 ], + "icon": "MadAdsMedia.png", "js": { "setMIframe": "", "setMRefURL": "" }, - "icon": "MadAdsMedia.png", "script": "^https?://(?:ads-by|pixel)\\.madadsmedia\\.com/", "website": "http://madadsmedia.com" }, @@ -5614,10 +5663,6 @@ "cats": [ 6 ], - "js": { - "Mage": "", - "VarienForm": "" - }, "cookies": { "frontend": "\\;confidence:50" }, @@ -5628,6 +5673,10 @@ ], "icon": "Magento.png", "implies": "PHP", + "js": { + "Mage": "", + "VarienForm": "" + }, "script": [ "js/mage", "skin/frontend/(?:default|(enterprise))\\;version:\\1?Enterprise:Community", @@ -5653,6 +5702,17 @@ ], "website": "http://mailchimp.com" }, + "MakeShopKorea": { + "cats": [ + 6 + ], + "icon": "MakeShopKorea.png", + "js": { + "Makeshop": "", + "MakeshopLogUniqueId": "" + }, + "website": "https://www.makeshop.co.kr" + }, "Mambo": { "cats": [ 1 @@ -5681,41 +5741,41 @@ "script": "\\/assets\\/js\\/manycontacts\\.min\\.js", "website": "http://www.manycontacts.com" }, - "Marked": { - "cats": [ - 12 - ], - "js": { - "marked": "" - }, - "icon": "marked.svg", - "script": "/marked(?:\\.min)?\\.js", - "website": "https://marked.js.org" - }, "Marionette.js": { "cats": [ 12 ], - "js": { - "Marionette": "", - "Marionette.VERSION": "(.*)\\;version:\\1" - }, "icon": "Marionette.js.svg", "implies": [ "Underscore.js", "Backbone.js" ], + "js": { + "Marionette": "", + "Marionette.VERSION": "(.*)\\;version:\\1" + }, "script": "backbone\\.marionette.*\\.js", "website": "https://marionettejs.com" }, + "Marked": { + "cats": [ + 59 + ], + "icon": "marked.svg", + "js": { + "marked": "" + }, + "script": "/marked(?:\\.min)?\\.js", + "website": "https://marked.js.org" + }, "Marketo": { "cats": [ 32 ], + "icon": "Marketo.png", "js": { "Munchkin": "" }, - "icon": "Marketo.png", "script": "munchkin\\.marketo\\.net/munchkin\\.js", "website": "https://www.marketo.com" }, @@ -5725,10 +5785,10 @@ ], "html": "<link[^>]* href=\"[^\"]*material(?:\\.[\\w]+-[\\w]+)?(?:\\.min)?\\.css", "icon": "Material Design Lite.png", - "script": "(?:/([\\d.]+))?/material(?:\\.min)?\\.js\\;version:\\1", "js": { "MaterialIconToggle": "" }, + "script": "(?:/([\\d.]+))?/material(?:\\.min)?\\.js\\;version:\\1", "website": "https://getmdl.io" }, "Materialize CSS": { @@ -5745,32 +5805,64 @@ "cats": [ 25 ], + "icon": "MathJax.png", "js": { "MathJax": "", "MathJax.version": "(.*)\\;version:\\1" }, - "icon": "MathJax.png", "script": "([\\d.]+)?/mathjax\\.js\\;version:\\1", "website": "https://www.mathjax.org" }, - "Mattermost": { + "Matomo": { "cats": [ - 2 + 10 ], + "cookies": { + "PIWIK_SESSID": "" + }, + "icon": "Piwik.png", "js": { - "mm_config": "", - "mm_license": "", - "mm_user": "", - "mm_current_user_id": "" + "Matomo": "", + "Piwik": "", + "_paq": "" }, + "meta": { + "apple-itunes-app": "app-id=737216887", + "generator": "(?:Matomo|Piwik) - Open Source Web Analytics", + "google-play-app": "app-id=org\\.piwik\\.mobile2" + }, + "script": "piwik\\.js|piwik\\.php", + "website": "http://piwik.org" + }, + "Mattermost": { + "cats": [ + 2 + ], "html": "<noscript> To use Mattermost, please enable JavaScript\\. </noscript>", "icon": "mattermost.png", "implies": [ "Go", "React" ], + "js": { + "mm_config": "", + "mm_current_user_id": "", + "mm_license": "", + "mm_user": "" + }, "website": "https://about.mattermost.com" }, + "Mautic": { + "cats": [ + 32 + ], + "icon": "mautic.svg", + "js": { + "MauticTrackingObject": "" + }, + "script": "[^a-z]mtc.*\\.js", + "website": "https://www.mautic.org/" + }, "MaxCDN": { "cats": [ 31 @@ -5812,11 +5904,11 @@ "cats": [ 14 ], + "icon": "MediaElement.js.png", "js": { "mejs": "", "mejs.version": "(.*)\\;version:\\1" }, - "icon": "MediaElement.js.png", "website": "http://www.mediaelementjs.com" }, "MediaTomb": { @@ -5848,8 +5940,8 @@ "headers": { "X-Powered-By": "^Medium$" }, - "implies": "Node.js", "icon": "Medium.svg", + "implies": "Node.js", "script": "medium\\.com", "url": "^https?://(?:www\\.)?medium\\.com", "website": "https://medium.com" @@ -5878,27 +5970,27 @@ "cats": [ 25 ], + "html": "<div [^>]*class=[\"']mermaid[\"']>\\;confidence:90", "js": { "mermaid": "" }, "script": "/mermaid(?:\\.min)?\\.js", - "html": "<div [^>]*class=[\"']mermaid[\"']>\\;confidence:90", "website": "https://mermaidjs.github.io/" }, "Meteor": { "cats": [ 12 ], - "js": { - "Meteor": "", - "Meteor.release": "^METEOR@([\\d.]+)\\;version:\\1" - }, "html": "<link[^>]+__meteor-css__", "icon": "Meteor.png", "implies": [ "MongoDB", "Node.js" ], + "js": { + "Meteor": "", + "Meteor.release": "^METEOR@([\\d.]+)\\;version:\\1" + }, "website": "https://www.meteor.com" }, "Methode": { @@ -5921,8 +6013,8 @@ 18 ], "cookies": { - "ASPSESSION": "", - "ASP.NET_SessionId": "" + "ASP.NET_SessionId": "", + "ASPSESSION": "" }, "headers": { "X-AspNet-Version": "(.+)\\;version:\\1", @@ -5934,6 +6026,18 @@ "url": "\\.aspx(?:$|\\?)", "website": "http://www.asp.net" }, + "Microsoft Excel": { + "cats": [ + 20 + ], + "html": "(?:<html [^>]*xmlns:w=\"urn:schemas-microsoft-com:office:excel\"|<!--\\s*(?:START|END) OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD\\s*-->|<div [^>]*x:publishsource=\"?Excel\"?)", + "icon": "Microsoft Excel.svg", + "meta": { + "ProgId": "^Excel\\.", + "generator": "Microsoft Excel( [\\d.]+)?\\;version:\\1" + }, + "website": "https://office.microsoft.com/excel" + }, "Microsoft HTTPAPI": { "cats": [ 22 @@ -5944,27 +6048,15 @@ "icon": "Microsoft.svg", "website": "http://microsoft.com" }, - "Microsoft Excel": { - "cats": [ - 20 - ], - "icon": "Microsoft Excel.svg", - "html": "(?:<html [^>]*xmlns:w=\"urn:schemas-microsoft-com:office:excel\"|<!--\\s*(?:START|END) OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD\\s*-->|<div [^>]*x:publishsource=\"?Excel\"?)", - "meta": { - "generator": "Microsoft Excel( [\\d.]+)?\\;version:\\1", - "ProgId": "^Excel\\." - }, - "website": "https://office.microsoft.com/excel" - }, "Microsoft PowerPoint": { "cats": [ 20 ], - "icon": "Microsoft PowerPoint.svg", "html": "(?:<html [^>]*xmlns:w=\"urn:schemas-microsoft-com:office:powerpoint\"|<link rel=\"?Presentation-XML\"? href=\"?[^\"]+\\.xml\"?>|<o:PresentationFormat>[^<]+</o:PresentationFormat>[^!]+<o:Slides>\\d+</o:Slides>(?:[^!]+<o:Version>([\\d.]+)</o:Version>)?)\\;version:\\1", + "icon": "Microsoft PowerPoint.svg", "meta": { - "generator": "Microsoft PowerPoint ( [\\d.]+)?\\;version:\\1", - "ProgId": "^PowerPoint\\." + "ProgId": "^PowerPoint\\.", + "generator": "Microsoft PowerPoint ( [\\d.]+)?\\;version:\\1" }, "website": "https://office.microsoft.com/powerpoint" }, @@ -5972,11 +6064,11 @@ "cats": [ 20 ], - "icon": "Microsoft Publisher.svg", "html": "(?:<html [^>]*xmlns:w=\"urn:schemas-microsoft-com:office:publisher\"|<!--[if pub]><xml>)", + "icon": "Microsoft Publisher.svg", "meta": { - "generator": "Microsoft Publisher( [\\d.]+)?\\;version:\\1", - "ProgId": "^Publisher\\." + "ProgId": "^Publisher\\.", + "generator": "Microsoft Publisher( [\\d.]+)?\\;version:\\1" }, "website": "https://office.microsoft.com/publisher" }, @@ -5984,10 +6076,6 @@ "cats": [ 1 ], - "js": { - "_spBodyOnLoadCalled": "", - "SPDesignerProgID": "" - }, "headers": { "MicrosoftSharePointTeamServices": "(.*)\\;version:\\1", "SPRequestGuid": "", @@ -5995,6 +6083,10 @@ "X-SharePointHealthScore": "" }, "icon": "Microsoft SharePoint.png", + "js": { + "SPDesignerProgID": "", + "_spBodyOnLoadCalled": "" + }, "meta": { "generator": "Microsoft SharePoint" }, @@ -6004,11 +6096,11 @@ "cats": [ 20 ], - "icon": "Microsoft Word.svg", "html": "(?:<html [^>]*xmlns:w=\"urn:schemas-microsoft-com:office:word\"|<w:WordDocument>|<div [^>]*class=\"?WordSection1[\" >]|<style[^>]*>[^>]*@page WordSection1)", + "icon": "Microsoft Word.svg", "meta": { - "generator": "Microsoft Word( [\\d.]+)?\\;version:\\1", - "ProgId": "^Word\\." + "ProgId": "^Word\\.", + "generator": "Microsoft Word( [\\d.]+)?\\;version:\\1" }, "website": "https://office.microsoft.com/word" }, @@ -6033,11 +6125,20 @@ "icon": "Milligram.png", "website": "http://milligram.github.io" }, + "Minero.cc": { + "cats": [ + 56 + ], + "script": [ + "//minero\\.cc/lib/minero(?:-miner|-hidden)?\\.min\\.js" + ], + "website": "http://minero.cc/" + }, "MiniBB": { "cats": [ 2 ], - "html": "<a href=\"[^\"]+minibb[^<]+</a>[^<]+\n<!--End of copyright link", + "html": "<a href=\"[^\"]+minibb[^<]+</a>[^<]+\\n<!--End of copyright link", "icon": "MiniBB.png", "website": "http://www.minibb.com" }, @@ -6054,10 +6155,10 @@ "cats": [ 10 ], + "icon": "Mint.png", "js": { "Mint": "" }, - "icon": "Mint.png", "script": "mint/\\?js", "website": "https://haveamint.com" }, @@ -6065,21 +6166,31 @@ "cats": [ 10 ], + "icon": "Mixpanel.png", "js": { "mixpanel": "" }, - "icon": "Mixpanel.png", "script": "api\\.mixpanel\\.com/track", "website": "https://mixpanel.com" }, + "MkDocs": { + "cats": [ + 4 + ], + "icon": "mkdocs.png", + "meta": { + "generator": "^mkdocs-([\\d.]+)\\;version:\\1" + }, + "website": "http://www.mkdocs.org/" + }, "Mobify": { "cats": [ 26 ], + "icon": "Mobify.png", "js": { "Mobify": "" }, - "icon": "Mobify.png", "script": "//cdn\\.mobify\\.com/", "website": "https://www.mobify.com" }, @@ -6087,24 +6198,24 @@ "cats": [ 51 ], - "meta": { - "generator": "^Mobirise v([\\d.]+)\\;version:\\1" - }, "html": [ "<!-- Site made with Mobirise Website Builder v([\\d.]+)\\;version:\\1" ], "icon": "mobirise.png", + "meta": { + "generator": "^Mobirise v([\\d.]+)\\;version:\\1" + }, "website": "https://mobirise.com" }, "MochiKit": { "cats": [ - 12 + 59 ], + "icon": "MochiKit.png", "js": { "MochiKit": "", "MochiKit.MochiKit.VERSION": "(.*)\\;version:\\1" }, - "icon": "MochiKit.png", "script": "MochiKit(?:\\.min)?\\.js", "website": "https://mochi.github.io/mochikit/" }, @@ -6119,12 +6230,12 @@ }, "Modernizr": { "cats": [ - 12 + 59 ], + "icon": "Modernizr.svg", "js": { "Modernizr._version": "(.*)\\;version:\\1" }, - "icon": "Modernizr.svg", "script": [ "modernizr(?:-([\\d.]*[\\d]))?.*\\.js\\;version:\\1", "/([\\d.]+)/modernizr(?:\\.min)?\\.js\\;version:\\1" @@ -6155,11 +6266,14 @@ "cats": [ 8 ], - "js": { - "show_switch2gui": "" + "cookies": { + "MOIN_SESSION": "" }, "icon": "MoinMoin.png", "implies": "Python", + "js": { + "show_switch2gui": "" + }, "script": "moin(?:_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\1.\\2.\\3", "website": "https://moinmo.in" }, @@ -6168,8 +6282,8 @@ 18 ], "headers": { - "x-powered-by": "mojolicious", - "server": "^mojolicious" + "server": "^mojolicious", + "x-powered-by": "mojolicious" }, "icon": "Mojolicious.png", "implies": "Perl", @@ -6186,7 +6300,7 @@ }, "Moment Timezone": { "cats": [ - 12 + 59 ], "icon": "Moment.js.svg", "implies": "Moment.js", @@ -6195,13 +6309,13 @@ }, "Moment.js": { "cats": [ - 12 + 59 ], + "icon": "Moment.js.svg", "js": { "moment": "", "moment.version": "(.*)\\;version:\\1" }, - "icon": "Moment.js.svg", "script": "moment(?:\\.min)?\\.js", "website": "https://momentjs.com" }, @@ -6215,6 +6329,14 @@ }, "website": "http://mondo-media.de" }, + "Monerominer": { + "cats": [ + 56 + ], + "html": "<iframe[^>]+src=[\\'\"]https?://monerominer\\.rocks/miner\\.php\\?siteid=", + "icon": "monerominer.png", + "website": "https://monerominer.rocks/" + }, "MongoDB": { "cats": [ 34 @@ -6243,14 +6365,6 @@ "icon": "Monkey HTTP Server.png", "website": "http://monkey-project.com" }, - "Monerominer": { - "cats": [ - 56 - ], - "html": "<iframe[^>]+src=[\\'\"]https?://monerominer\\.rocks/miner\\.php\\?siteid=", - "icon": "monerominer.png", - "website": "https://monerominer.rocks/" - }, "Mono": { "cats": [ 18 @@ -6265,11 +6379,11 @@ "cats": [ 1 ], + "icon": "Mono.net.png", + "implies": "Matomo", "js": { "_monoTracker": "" }, - "icon": "Mono.net.png", - "implies": "Piwik", "script": "monotracker(?:\\.min)?\\.js", "website": "https://www.mono.net/en" }, @@ -6277,11 +6391,11 @@ "cats": [ 12 ], + "icon": "MooTools.png", "js": { "MooTools": "", "MooTools.version": "(.*)\\;version:\\1" }, - "icon": "MooTools.png", "script": "mootools.*\\.js", "website": "https://mootools.net" }, @@ -6289,17 +6403,17 @@ "cats": [ 21 ], - "js": { - "Y.Moodle": "", - "M.core": "" - }, "cookies": { - "MoodleSession": "", - "MOODLEID_": "" + "MOODLEID_": "", + "MoodleSession": "" }, "html": "<img[^>]+moodlelogo", "icon": "Moodle.png", "implies": "PHP", + "js": { + "M.core": "", + "Y.Moodle": "" + }, "meta": { "keywords": "^moodle" }, @@ -6311,7 +6425,7 @@ ], "icon": "moon.svg", "script": "/moon(?:\\.min)?\\.js$", - "website": "http://moonjs.ga/" + "website": "https://kbrsh.github.io/moon/" }, "MotoCMS": { "cats": [ @@ -6327,6 +6441,19 @@ "script": "/mt-includes/js/website(?:assets)?\\.(?:min)?\\.js", "website": "http://motocms.com" }, + "Mouse Flow": { + "cats": [ + 10 + ], + "icon": "mouseflow.png", + "js": { + "_mfq": "" + }, + "script": [ + "cdn\\.mouseflow\\.com" + ], + "website": "https://mouseflow.com/" + }, "Movable Type": { "cats": [ 1 @@ -6374,10 +6501,10 @@ "cats": [ 12 ], + "icon": "Mustache.png", "js": { "Mustache.version": "(.*)\\;version:\\1" }, - "icon": "Mustache.png", "script": "mustache(?:\\.min)?\\.js", "website": "https://mustache.github.io" }, @@ -6385,15 +6512,15 @@ "cats": [ 2 ], - "js": { - "MyBB": "" - }, "html": "(?:<script [^>]+\\s+<!--\\s+lang\\.no_new_posts|<a[^>]* title=\"Powered By MyBB)", "icon": "MyBB.png", "implies": [ "PHP", "MySQL" ], + "js": { + "MyBB": "" + }, "website": "https://mybb.com" }, "MyBlogLog": { @@ -6421,6 +6548,16 @@ }, "website": "http://www.netcap-creation.fr" }, + "NEO - Omnichannel Commerce Platform": { + "cats": [ + 6 + ], + "headers": { + "powered": "jet-neo" + }, + "icon": "Plataforma NEO.svg", + "website": "http://www.jetecommerce.com.br/" + }, "NOIX": { "cats": [ 19 @@ -6433,13 +6570,13 @@ "cats": [ 25 ], + "html": "<link[^>]* href=[^>]+nv\\.d3(?:\\.min)?\\.css", + "icon": "NVD3.png", + "implies": "D3", "js": { "nv.addGraph": "", "nv.version": "(.*)\\;confidence:0\\;version:\\1" }, - "html": "<link[^>]* href=[^>]+nv\\.d3(?:\\.min)?\\.css", - "icon": "NVD3.png", - "implies": "D3", "script": "nv\\.d3(?:\\.min)?\\.js", "website": "http://nvd3.org" }, @@ -6451,16 +6588,6 @@ "script": "tag\\.navdmp\\.com", "website": "https://www.navegg.com/" }, - "NEO - Omnichannel Commerce Platform": { - "cats": [ - 6 - ], - "headers": { - "powered": "jet-neo" - }, - "icon": "Plataforma NEO.svg", - "website": "http://www.jetecommerce.com.br/" - }, "Neos CMS": { "cats": [ 1 @@ -6511,10 +6638,10 @@ "cats": [ 10 ], + "icon": "Netmonitor.png", "js": { "netmonitor": "" }, - "icon": "Netmonitor.png", "script": "netmonitor\\.fi/nmtracker\\.js", "website": "http://netmonitor.fi/en" }, @@ -6522,10 +6649,10 @@ "cats": [ 6 ], + "icon": "Neto.svg", "js": { "NETO": "" }, - "icon": "Neto.svg", "script": "jquery\\.neto.*\\.js", "website": "https://www.neto.com.au" }, @@ -6543,10 +6670,6 @@ "cats": [ 18 ], - "js": { - "Nette": "", - "Nette.version": "(.*)\\;version:\\1" - }, "cookies": { "nette-browser": "" }, @@ -6560,33 +6683,23 @@ ], "icon": "Nette Framework.png", "implies": "PHP", + "js": { + "Nette": "", + "Nette.version": "(.*)\\;version:\\1" + }, "website": "https://nette.org" }, "New Relic": { "cats": [ 10 ], + "icon": "New Relic.png", "js": { "NREUM": "", "newrelic": "" }, - "icon": "New Relic.png", "website": "https://newrelic.com" }, - "NextGEN Gallery": { - "cats": [ - 7 - ], - "icon": "NextGEN Gallery.png", - "html": [ - "<!-- <meta name=\"NextGEN\" version=\"([\\d.]+)\" /> -->\\;version:\\1" - ], - "script": "/nextgen-gallery/js/", - "implies": [ - "WordPress" - ], - "website": "https://www.imagely.com/wordpress-gallery-plugin" - }, "Next.js": { "cats": [ 18, @@ -6595,17 +6708,31 @@ "headers": { "x-powered-by": "^Next\\.js ?([0-9.]+)?\\;version:\\1" }, - "js": { - "__NEXT_DATA__": "" - }, "icon": "zeit.svg", "implies": [ "React", "webpack", "Node.js" ], + "js": { + "__NEXT_DATA__": "" + }, "website": "https://github.com/zeit/next.js" }, + "NextGEN Gallery": { + "cats": [ + 7 + ], + "html": [ + "<!-- <meta name=\"NextGEN\" version=\"([\\d.]+)\" /> -->\\;version:\\1" + ], + "icon": "NextGEN Gallery.png", + "implies": [ + "WordPress" + ], + "script": "/nextgen-gallery/js/", + "website": "https://www.imagely.com/wordpress-gallery-plugin" + }, "Nginx": { "cats": [ 22 @@ -6659,15 +6786,15 @@ "cats": [ 6 ], + "html": "<!--[^-]*OXID eShop", + "icon": "OXID eShop.png", "js": { - "oxTopMenu": "", - "oxModalPopup": "", - "oxLoginBox": "", + "oxCookieNote": "", "oxInputValidator": "", - "oxCookieNote": "" + "oxLoginBox": "", + "oxModalPopup": "", + "oxTopMenu": "" }, - "html": "<!--[^-]*OXID eShop", - "icon": "OXID eShop.png", "website": "https://en.oxid-esales.com/en/home.html" }, "October CMS": { @@ -6683,16 +6810,15 @@ }, "Octopress": { "cats": [ - 1, - 11 + 57 ], "html": "Powered by <a href=\"http://octopress\\.org\">", "icon": "octopress.png", "implies": "Jekyll", - "script": "/octopress\\.js", "meta": { "generator": "Octopress" }, + "script": "/octopress\\.js", "website": "http://octopress.org" }, "Odoo": { @@ -6722,41 +6848,34 @@ "script": "^https?:\\/\\/static\\.olark\\.com\\/jsclient\\/loader1\\.js", "website": "https://www.olark.com/" }, - "OmniTouch 8660 My Teamwork": { - "cats": [ - 19 - ], - "icon": "OmniTouch 8660 My Teamwork.png", - "website": "http://enterprise.alcatel-lucent.com" - }, "OneAPM": { "cats": [ 10 ], + "icon": "OneAPM.png", "js": { "BWEUM": "" }, - "icon": "OneAPM.png", "website": "http://www.oneapm.com" }, "OneStat": { "cats": [ 10 ], + "icon": "OneStat.png", "js": { "OneStat_Pageview": "" }, - "icon": "OneStat.png", "website": "http://www.onestat.com" }, "Open AdStream": { "cats": [ 36 ], + "icon": "Open AdStream.png", "js": { "OAS_AD": "" }, - "icon": "Open AdStream.png", "website": "https://www.xaxis.com" }, "Open Classifieds": { @@ -6788,13 +6907,13 @@ "cats": [ 10 ], + "html": "<!-- (?:Start|End) Open Web Analytics Tracker -->", + "icon": "Open Web Analytics.png", "js": { + "OWA.config.baseUrl": "", "owa_baseUrl": "", - "owa_cmds": "", - "OWA.config.baseUrl": "" + "owa_cmds": "" }, - "html": "<!-- (?:Start|End) Open Web Analytics Tracker -->", - "icon": "Open Web Analytics.png", "website": "http://www.openwebanalytics.com" }, "Open eShop": { @@ -6860,11 +6979,11 @@ "cats": [ 35 ], + "icon": "OpenLayers.png", "js": { - "ol.CanvasMap": "", - "OpenLayers.VERSION_NUMBER": "([\\d.]+)\\;version:\\1" + "OpenLayers.VERSION_NUMBER": "([\\d.]+)\\;version:\\1", + "ol.CanvasMap": "" }, - "icon": "OpenLayers.png", "script": "openlayers", "website": "https://openlayers.org" }, @@ -6925,35 +7044,6 @@ "script": "sap-ui-core\\.js", "website": "http://openui5.org/" }, - "Minero.cc": { - "cats": [ - 56 - ], - "script": [ - "//minero\\.cc/lib/minero(?:-miner|-hidden)?\\.min\\.js" - ], - "website": "http://minero.cc/" - }, - "Coinhave": { - "cats": [ - 56 - ], - "script": "https?://coin-have\\.com/c/[0-9a-zA-Z]{4}\\.js", - "icon": "coinhave.png", - "website": "https://coin-have.com/" - }, - "Revslider": { - "cats": [ - 19 - ], - "icon": "revslider.png", - "html": [ - "<link[^>]* href=[\\'\"][^']+revslider[/\\w-]+\\.css\\?ver=([0-9.]+)[\\'\"]\\;version:\\1" - ], - "script": "/revslider/[/\\w-]+/js", - "implies": "WordPress", - "website": "https://revolution.themepunch.com/" - }, "OpenX": { "cats": [ 36 @@ -6986,10 +7076,10 @@ "cats": [ 10 ], + "icon": "Optimizely.png", "js": { "optimizely": "" }, - "icon": "Optimizely.png", "script": "optimizely\\.com.*\\.js", "website": "https://www.optimizely.com" }, @@ -7078,11 +7168,11 @@ "cats": [ 5 ], + "icon": "Outbrain.png", "js": { - "OutbrainPermaLink": "", - "OB_releaseVer": "(.*)\\;version:\\1" + "OB_releaseVer": "(.*)\\;version:\\1", + "OutbrainPermaLink": "" }, - "icon": "Outbrain.png", "script": "widgets\\.outbrain\\.com/outbrain\\.js", "website": "https://www.outbrain.com" }, @@ -7090,12 +7180,12 @@ "cats": [ 30 ], - "js": { - "IsOwaPremiumBrowser": "" - }, "html": "<link\\s[^>]*href=\"[^\"]*?([\\d.]+)/themes/resources/owafont\\.css\\;version:\\1", "icon": "Outlook.svg", "implies": "Microsoft ASP.NET", + "js": { + "IsOwaPremiumBrowser": "" + }, "url": "/owa/auth/log(?:on|off)\\.aspx", "website": "http://help.outlook.com" }, @@ -7109,35 +7199,16 @@ }, "website": "http://panvision.de/Produkte/Content_Management/index.asp" }, - "Paper.js": { - "cats": [ - 25 - ], - "icon": "paperjs.png", - "js": { - "paper.version": "(.*)\\;version:\\1" - }, - "website": "http://paperjs.org/" - }, - "Pelican": { - "cats": [ - 1 - ], - "implies": "Python", - "icon": "pelican.png", - "html": "powered by <a href=\"[^>]+getpelican\\.com", - "website": "https://blog.getpelican.com/" - }, "PDF.js": { "cats": [ 19 ], + "html": "<\\/div>\\s*<!-- outerContainer -->\\s*<div\\s*id=\"printContainer\"><\\/div>", + "icon": "PDF.js.svg", "js": { "PDFJS": "", "PDFJS.version": "(.*)\\;version:\\1" }, - "html": "<\\/div>\\s*<!-- outerContainer -->\\s*<div\\s*id=\"printContainer\"><\\/div>", - "icon": "PDF.js.svg", "url": "/web/viewer\\.html?file=[^&]\\.pdf", "website": "https://mozilla.github.io/pdf.js/" }, @@ -7177,6 +7248,30 @@ }, "website": "http://phpnuke.org" }, + "PHPDebugBar": { + "cats": [ + 47 + ], + "icon": "phpdebugbar.png", + "js": { + "PhpDebugBar": "", + "phpdebugbar": "" + }, + "script": [ + "debugbar.*\\.js" + ], + "website": "http://phpdebugbar.com/" + }, + "PHPoole": { + "cats": [ + 57 + ], + "icon": "PHPoole.png", + "meta": { + "generator": "^PHPoole$" + }, + "website": "https://phpoole.org" + }, "Pagekit": { "cats": [ 1 @@ -7187,33 +7282,74 @@ }, "website": "http://pagekit.com" }, - "Pardot": { + "Pagevamp": { "cats": [ - 32 + 1 ], - "js": { - "piTracker": "", - "piHostname": "", - "piProtocol": "", - "piCId": "", - "piAId": "" - }, "headers": { - "X-Pardot-LB": "", - "X-Pardot-Route": "", + "X-ServedBy": "pagevamp" + }, + "icon": "Pagevamp.png", + "js": { + "Pagevamp": "" + }, + "website": "https://www.pagevamp.com" + }, + "Paper.js": { + "cats": [ + 25 + ], + "icon": "paperjs.png", + "js": { + "paper.version": "(.*)\\;version:\\1" + }, + "website": "http://paperjs.org/" + }, + "Pardot": { + "cats": [ + 32 + ], + "headers": { + "X-Pardot-LB": "", + "X-Pardot-Route": "", "X-Pardot-Rsp": "" }, "icon": "Pardot.png", + "js": { + "piAId": "", + "piCId": "", + "piHostname": "", + "piProtocol": "", + "piTracker": "" + }, "website": "https://www.pardot.com" }, + "Pars Elecom Portal": { + "cats": [ + 1 + ], + "headers": { + "X-Powered-By": "Pars Elecom Portal" + }, + "icon": "parselecom.png", + "implies": [ + "Microsoft ASP.NET", + "IIS", + "Windows Server" + ], + "meta": { + "copyright": "Pars Elecom Portal" + }, + "website": "http://parselecom.net" + }, "Parse.ly": { "cats": [ 10 ], + "icon": "Parse.ly.png", "js": { "PARSELY": "" }, - "icon": "Parse.ly.png", "website": "https://www.parse.ly" }, "Paths.js": { @@ -7223,39 +7359,27 @@ "script": "paths(?:\\.min)?\\.js", "website": "https://github.com/andreaferretti/paths-js" }, - "Braintree": { - "cats": [ - 41 - ], - "js": { - "Braintree": "", - "Braintree.version": "(.*)\\;version:\\1" - }, - "icon": "Braintree.svg", - "website": "https://www.braintreepayments.com" - }, - "Adyen": { - "cats": [ - 41 - ], - "js": { - "adyen.encrypt.version": "(.*)\\;version:\\1" - }, - "icon": "Adyen.svg", - "website": "https://www.adyen.com" - }, "PayPal": { "cats": [ 41 ], + "html": "<input[^>]+_s-xclick", + "icon": "PayPal.svg", "js": { "PAYPAL": "" }, - "html": "<input[^>]+_s-xclick", - "icon": "PayPal.svg", "script": "paypalobjects\\.com/js", "website": "https://paypal.com" }, + "Pelican": { + "cats": [ + 57 + ], + "html": "powered by <a href=\"[^>]+getpelican\\.com", + "icon": "pelican.png", + "implies": "Python", + "website": "https://blog.getpelican.com/" + }, "PencilBlue": { "cats": [ 1, @@ -7268,6 +7392,14 @@ "implies": "Node.js", "website": "http://pencilblue.org" }, + "Pendo": { + "cats": [ + 58 + ], + "icon": "Pendo.svg", + "script": "cdn\\.pendo\\.io*\\.js", + "website": "https://pendo.io" + }, "Percussion": { "cats": [ 1 @@ -7279,22 +7411,12 @@ }, "website": "http://percussion.com" }, - "PerfSONAR-PS": { - "cats": [ - 19 - ], - "headers": { - "User-agent": "perfSONAR-PS/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "PerfSONAR-PS.png", - "website": "http://psps.perfsonar.net" - }, "Perl": { "cats": [ 27 ], "headers": { - "Server": "\bPerl\b(?: ?/?v?([\\d.]+))?\\;version:\\1" + "Server": "\\bPerl\\b(?: ?/?v?([\\d.]+))?\\;version:\\1" }, "icon": "Perl.png", "website": "http://perl.org" @@ -7319,11 +7441,11 @@ "cats": [ 12 ], + "icon": "Phaser.png", "js": { "Phaser": "", "Phaser.VERSION": "(.*)\\;version:\\1" }, - "icon": "Phaser.png", "website": "https://phaser.io" }, "Phenomic": { @@ -7340,37 +7462,13 @@ "script": "/phenomic\\.browser\\.[a-f0-9]+\\.js", "website": "https://phenomic.io/" }, - "PHPDebugBar": { - "cats": [ - 47 - ], - "js": { - "phpdebugbar": "", - "PhpDebugBar": "" - }, - "script": [ - "debugbar.*\\.js" - ], - "icon": "phpdebugbar.png", - "website": "http://phpdebugbar.com/" - }, - "PHPoole": { - "cats": [ - 57 - ], - "icon": "PHPoole.png", - "meta": { - "generator": "^PHPoole$" - }, - "website": "https://phpoole.org" - }, "Phusion Passenger": { "cats": [ 22 ], "headers": { - "X-Powered-By": "^Phusion Passenger ?([\\d.]+)?\\;version:\\1", - "Server": "Phusion Passenger ([\\d.]+)\\;version:\\1" + "Server": "Phusion Passenger ([\\d.]+)\\;version:\\1", + "X-Powered-By": "Phusion Passenger ?([\\d.]+)?\\;version:\\1" }, "icon": "Phusion Passenger.png", "website": "http://phusionpassenger.com" @@ -7396,38 +7494,6 @@ "script": "//assets\\.pinterest\\.com/js/pinit\\.js", "website": "http://pinterest.com" }, - "pirobase CMS": { - "cats": [ - 1 - ], - "html": [ - "<(?:script|link)[^>]/site/[a-z0-9/._-]+/resourceCached/[a-z0-9/._-]+", - "<input[^>]+cbi:///cms/" - ], - "icon": "pirobaseCMS.svg", - "implies": "Java", - "website": "https://www.pirobase-imperia.com/de/produkte/produktuebersicht/pirobase-cms" - }, - "Piwik": { - "cats": [ - 10 - ], - "js": { - "Piwik": "", - "_paq": "" - }, - "cookies": { - "PIWIK_SESSID": "" - }, - "icon": "Piwik.png", - "meta": { - "apple-itunes-app": "app-id=737216887", - "generator": "Piwik - Open Source Web Analytics", - "google-play-app": "app-id=org\\.piwik\\.mobile2" - }, - "script": "piwik\\.js|piwik\\.php", - "website": "http://piwik.org" - }, "Planet": { "cats": [ 49 @@ -7475,11 +7541,11 @@ "cats": [ 1 ], + "html": "<span[^>]+id=\"xvotes-0", + "icon": "Pligg.png", "js": { "pligg_": "" }, - "html": "<span[^>]+id=\"xvotes-0", - "icon": "Pligg.png", "meta": { "generator": "Pligg" }, @@ -7500,41 +7566,44 @@ "cats": [ 25 ], + "icon": "Plotly.png", + "implies": "D3", "js": { "Plotly.version": "([\\d.])\\;version:\\1" }, - "icon": "Plotly.png", - "implies": "D3", "script": "https?://cdn\\.plot\\.ly/plotly", "website": "https://plot.ly/javascript/" }, - "Plura": { - "cats": [ - 19 - ], - "html": "<iframe src=\"[^>]+pluraserver\\.com", - "icon": "Plura.png", - "website": "http://www.pluraprocessing.com" - }, "Po.st": { "cats": [ 5 ], + "icon": "Po.st.png", "js": { "pwidget_config": "" }, - "icon": "Po.st.png", "website": "http://www.po.st/" }, + "Polyfill": { + "cats": [ + 59 + ], + "icon": "polyfill.svg", + "script": [ + "^https?://cdn\\.polyfill\\.io/", + "/polyfill\\.min\\.js" + ], + "website": "https://polyfill.io" + }, "Polymer": { "cats": [ 12 ], + "html": "(?:<polymer-[^>]+|<link[^>]+rel=\"import\"[^>]+/polymer\\.html\")", + "icon": "Polymer.png", "js": { "Polymer.version": "(.*)\\;version:\\1" }, - "html": "(?:<polymer-[^>]+|<link[^>]+rel=\"import\"[^>]+/polymer\\.html\")", - "icon": "Polymer.png", "script": "polymer\\.js", "website": "http://polymer-project.org" }, @@ -7543,11 +7612,11 @@ 1, 11 ], + "html": "<div class=\"posterous", + "icon": "Posterous.png", "js": { "Posterous": "" }, - "html": "<div class=\"posterous", - "icon": "Posterous.png", "website": "http://posterous.com" }, "PostgreSQL": { @@ -7574,8 +7643,8 @@ ], "icon": "Prebid.png", "js": { - "pbjs": "", - "PREBID_TIMEOUT": "" + "PREBID_TIMEOUT": "", + "pbjs": "" }, "script": [ "/prebid\\.js", @@ -7587,10 +7656,10 @@ "cats": [ 19 ], + "icon": "Prefix-Free.png", "js": { "PrefixFree": "" }, - "icon": "Prefix-Free.png", "script": "prefixfree\\.js", "website": "http://leaverou.github.io/prefixfree/" }, @@ -7598,11 +7667,6 @@ "cats": [ 6 ], - "js": { - "freeProductTranslation": "\\;confidence:25", - "priceDisplayMethod": "\\;confidence:25", - "priceDisplayPrecision": "\\;confidence:25" - }, "cookies": { "PrestaShop": "" }, @@ -7615,7 +7679,15 @@ "<!-- /Module Block [a-z ]+ -->" ], "icon": "PrestaShop.svg", - "implies": "PHP", + "implies": [ + "PHP", + "MySQL" + ], + "js": { + "freeProductTranslation": "\\;confidence:25", + "priceDisplayMethod": "\\;confidence:25", + "priceDisplayPrecision": "\\;confidence:25" + }, "meta": { "generator": "PrestaShop" }, @@ -7625,10 +7697,10 @@ "cats": [ 19 ], + "icon": "Prism.svg", "js": { "Prism": "" }, - "icon": "Prism.svg", "script": "prism\\.js", "website": "http://prismjs.com" }, @@ -7636,11 +7708,11 @@ "cats": [ 36 ], + "html": "<div[^>]+id=\"pw_adbox_", + "icon": "Project Wonderful.png", "js": { "pw_adloader": "" }, - "html": "<div[^>]+id=\"pw_adbox_", - "icon": "Project Wonderful.png", "script": "^https?://(?:www\\.)?projectwonderful\\.com/(?:pwa\\.js|gen\\.php)", "website": "http://projectwonderful.com" }, @@ -7648,30 +7720,31 @@ "cats": [ 56 ], + "icon": "ProjectPoi.png", "js": { "ProjectPoi": "" }, "script": "^(?:https):?//ppoi\\.org/lib/", - "icon": "ProjectPoi.png", "website": "https://ppoi.org/" }, - "Prospector": { + "Projesoft": { "cats": [ - 36 + 6 + ], + "icon": "projesoft.png", + "script": [ + "projesoft\\.js" ], - "html": "<[^>]+data-name=['\"]prospectscript", - "icon": "Prospector.png", - "script": "processprospector\\.js", - "website": "http://prospector.io" + "website": "https://www.projesoft.com.tr" }, "Prototype": { "cats": [ 12 ], + "icon": "Prototype.png", "js": { "Prototype.Version": "(.*)\\;version:\\1" }, - "icon": "Prototype.png", "script": "(?:prototype|protoaculous)(?:-([\\d.]*[\\d]))?.*\\.js\\;version:\\1", "website": "http://www.prototypejs.org" }, @@ -7690,15 +7763,15 @@ 6, 1 ], - "js": { - "__change": "" - }, "html": "<html[^>]+data-ng-app=\"RbsChangeApp\"", "icon": "Proximis Omnichannel.png", "implies": [ "PHP", "AngularJS" ], + "js": { + "__change": "" + }, "meta": { "generator": "Proximis Omnichannel" }, @@ -7782,10 +7855,10 @@ "cats": [ 10 ], + "icon": "Quantcast.png", "js": { "quantserve": "" }, - "icon": "Quantcast.png", "script": "\\.quantserve\\.com/quant\\.js", "website": "http://www.quantcast.com" }, @@ -7825,10 +7898,10 @@ "cats": [ 24 ], + "icon": "Quill.png", "js": { "Quill": "" }, - "icon": "Quill.png", "website": "http://quilljs.com" }, "RBS Change": { @@ -7858,10 +7931,10 @@ "cats": [ 32 ], + "icon": "RD Station.png", "js": { "RDStation": "" }, - "icon": "RD Station.png", "script": "d335luupugsy2\\.cloudfront\\.net/js/loader-scripts/.*-loader\\.js", "website": "http://rdstation.com.br" }, @@ -7892,9 +7965,6 @@ "cats": [ 30 ], - "js": { - "rainloop": "" - }, "headers": { "Server": "RainLoop" }, @@ -7904,6 +7974,9 @@ ], "icon": "RainLoop.png", "implies": "PHP", + "js": { + "rainloop": "" + }, "script": "rainloop/v/([^/]+)\\;version:\\1", "website": "http://rainloop.net" }, @@ -7918,9 +7991,19 @@ }, "website": "http://ecservice.rakuten.com.br" }, + "Rakuten Digital Commerce": { + "cats": [ + 6 + ], + "icon": "RakutenDigitalCommerce.png", + "js": { + "RakutenApplication": "" + }, + "website": "https://digitalcommerce.rakuten.com.br" + }, "Ramda": { "cats": [ - 12 + 59 ], "icon": "Ramda.png", "script": "ramda.*\\.js", @@ -7930,10 +8013,10 @@ "cats": [ 25 ], + "icon": "Raphael.png", "js": { "Raphael.version": "(.*)\\;version:\\1" }, - "icon": "Raphael.png", "script": "raphael(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1", "website": "http://dmitrybaranovskiy.github.io/raphael/" }, @@ -7948,18 +8031,29 @@ "icon": "Raspbian.svg", "website": "https://www.raspbian.org/" }, - "Rayo": { + "Raychat": { "cats": [ - 1 + 52 ], + "icon": "raychat.png", "js": { - "Rayo": "" + "Raychat": "" }, + "script": "app\\.raychat\\.io/scripts/js", + "website": "https://raychat.io" + }, + "Rayo": { + "cats": [ + 1 + ], "icon": "Rayo.png", "implies": [ "AngularJS", "Microsoft ASP.NET" ], + "js": { + "Rayo": "" + }, "meta": { "generator": "^Rayo" }, @@ -7971,16 +8065,29 @@ ], "website": "https://www.w3.org/RDF/" }, - "React": { + "ReDoc": { "cats": [ - 12 + 4 ], + "html": "<redoc ", + "icon": "redoc.png", + "implies": "React", "js": { - "react.version": "(.*)\\;version:\\1", - "React.version": "(.*)\\;version:\\1" + "Redoc.version": "(.*)\\;version:\\1" }, + "script": "/redoc\\.(?:min\\.)?js", + "website": "https://github.com/Rebilly/ReDoc" + }, + "React": { + "cats": [ + 12 + ], "html": "<[^>]+data-react", "icon": "React.png", + "js": { + "React.version": "(.*)\\;version:\\1", + "react.version": "(.*)\\;version:\\1" + }, "script": [ "react(?:\\-with\\-addons)?(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", "/([\\d.]+)/react(?:\\.min)?\\.js\\;version:\\1", @@ -8003,12 +8110,12 @@ "cats": [ 2 ], - "js": { - "reddit": "" - }, "html": "(?:<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "icon": "Reddit.png", "implies": "Python", + "js": { + "reddit": "" + }, "url": "^https?://(?:www\\.)?reddit\\.com", "website": "http://code.reddit.com" }, @@ -8027,37 +8134,24 @@ }, "website": "http://www.redmine.org" }, - "ReDoc": { - "cats": [ - 4 - ], - "html": "<redoc ", - "script": "/redoc\\.(?:min\\.)?js", - "js": { - "Redoc.version": "(.*)\\;version:\\1" - }, - "icon": "redoc.png", - "implies": "React", - "website": "https://github.com/Rebilly/ReDoc" - }, "Reinvigorate": { "cats": [ 10 ], + "icon": "Reinvigorate.png", "js": { "reinvigorate": "" }, - "icon": "Reinvigorate.png", "website": "http://www.reinvigorate.net" }, "RequireJS": { "cats": [ 12 ], + "icon": "RequireJS.png", "js": { "requirejs.version": "(.*)\\;version:\\1" }, - "icon": "RequireJS.png", "script": "require.*\\.js", "website": "http://requirejs.org" }, @@ -8076,11 +8170,11 @@ "cats": [ 12 ], + "icon": "Reveal.js.png", + "implies": "Highlight.js", "js": { "Reveal.VERSION": "(.*)\\;version:\\1" }, - "icon": "Reveal.js.png", - "implies": "Highlight.js", "script": "(?:^|/)reveal(?:\\.min)?\\.js", "website": "http://lab.hakim.se/reveal-js" }, @@ -8096,14 +8190,26 @@ "implies": "Go", "website": "http://revel.github.io" }, + "Revslider": { + "cats": [ + 19 + ], + "html": [ + "<link[^>]* href=[\\'\"][^']+revslider[/\\w-]+\\.css\\?ver=([0-9.]+)[\\'\"]\\;version:\\1" + ], + "icon": "revslider.png", + "implies": "WordPress", + "script": "/revslider/[/\\w-]+/js", + "website": "https://revolution.themepunch.com/" + }, "Rickshaw": { "cats": [ 25 ], + "implies": "D3", "js": { "Rickshaw": "" }, - "implies": "D3", "script": "rickshaw(?:\\.min)?\\.js", "website": "http://code.shutterstock.com/rickshaw/" }, @@ -8111,10 +8217,10 @@ "cats": [ 12 ], + "icon": "RightJS.png", "js": { "RightJS": "" }, - "icon": "RightJS.png", "script": "right\\.js", "website": "http://rightjs.org" }, @@ -8122,12 +8228,12 @@ "cats": [ 12 ], + "icon": "Riot.png", "js": { "riot": "" }, - "icon": "Riot.png", "script": "riot(?:\\+compiler)?(?:\\.min)?\\.js", - "website": "http://muut.com/riotjs" + "website": "https://riot.js.org/" }, "RiteCMS": { "cats": [ @@ -8165,12 +8271,12 @@ "cats": [ 6 ], + "icon": "Robin.png", "js": { "_robin_getRobinJs": "", "robin_settings": "", "robin_storage_settings": "" }, - "icon": "Robin.png", "website": "http://www.robinhq.com" }, "RockRMS": { @@ -8194,13 +8300,13 @@ "cats": [ 30 ], + "html": "<title>RoundCube", + "icon": "RoundCube.png", + "implies": "PHP", "js": { "rcmail": "", "roundcube": "" }, - "html": "<title>RoundCube", - "icon": "RoundCube.png", - "implies": "PHP", "website": "http://roundcube.net" }, "Rubicon Project": { @@ -8249,11 +8355,11 @@ "cats": [ 12 ], + "icon": "RxJS.png", "js": { "Rx.CompositeDisposable": "", "Rx.Symbol": "" }, - "icon": "RxJS.png", "script": "rx(?:\\.\\w+)?(?:\\.compat|\\.global)?(?:\\.min)?\\.js", "website": "http://reactivex.io" }, @@ -8300,12 +8406,12 @@ "cats": [ 2 ], + "html": "credits/?\" title=\"Simple Machines Forum\" target=\"_blank\" class=\"new_win\">SMF ([0-9.]+)</a>\\;version:\\1", + "icon": "SMF.png", + "implies": "PHP", "js": { "smf_": "" }, - "icon": "SMF.png", - "implies": "PHP", - "html": "credits/?\" title=\"Simple Machines Forum\" target=\"_blank\" class=\"new_win\">SMF ([0-9.]+)</a>\\;version:\\1", "website": "http://www.simplemachines.org" }, "SOBI 2": { @@ -8333,8 +8439,8 @@ 1 ], "headers": { - "X-Spip-Cache": "", - "Composed-By": "SPIP ([\\d.]+) @\\;version:\\1" + "Composed-By": "SPIP ([\\d.]+) @\\;version:\\1", + "X-Spip-Cache": "" }, "icon": "SPIP.png", "implies": "PHP", @@ -8374,10 +8480,10 @@ "cats": [ 19 ], + "icon": "SWFObject.png", "js": { "SWFObject": "" }, - "icon": "SWFObject.png", "script": "swfobject.*\\.js", "website": "http://github.com/swfobject/swfobject" }, @@ -8409,32 +8515,32 @@ "cats": [ 53 ], + "cookies": { + "com.salesforce": "" + }, + "html": "<[^>]+=\"brandQuaternaryFgrs\"", + "icon": "Salesforce.svg", "js": { "SFDCApp": "", "SFDCCmp": "", "SFDCPage": "", "SFDCSessionVars": "" }, - "cookies": { - "com.salesforce": "" - }, - "html": "<[^>]+=\"brandQuaternaryFgrs\"", - "icon": "Salesforce.svg", "website": "https://www.salesforce.com" }, "Salesforce Commerce Cloud": { "cats": [ 6 ], - "js": { - "dwAnalytics": "" - }, "headers": { "Server": "Demandware eCommerce Server" }, "html": "<[^>]+demandware\\.edgesuite", - "script": "/demandware\\.static/", "icon": "Salesforce.svg", + "js": { + "dwAnalytics": "" + }, + "script": "/demandware\\.static/", "website": "http://demandware.com" }, "Sarka-SPIP": { @@ -8452,10 +8558,10 @@ "cats": [ 6 ], + "icon": "Sazito.svg", "js": { "Sazito": "" }, - "icon": "Sazito.svg", "meta": { "generator": "^Sazito" }, @@ -8503,17 +8609,17 @@ "cats": [ 10 ], + "html": "<script[\\s\\S]*cdn\\.segment\\.com/analytics\\.js[\\s\\S]*script>", + "icon": "Segment.png", "js": { "analytics": "" }, - "html": "<script[\\s\\S]*cdn\\.segment\\.com/analytics\\.js[\\s\\S]*script>", - "icon": "Segment.png", "script": "cdn\\.segment\\.com/analytics\\.js", "website": "http://segment.com" }, "Select2": { "cats": [ - 12 + 59 ], "icon": "Select2.png", "implies": "jQuery", @@ -8543,34 +8649,6 @@ "script": "sencha-touch.*\\.js", "website": "http://sencha.com/products/touch" }, - "Sentinel Keys Server": { - "cats": [ - 22 - ], - "headers": { - "Server": "SentinelKeysServer\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "Sentinel.png", - "website": "http://www.safenet-inc.com/software-monetization/sentinel-rms" - }, - "Sentinel License Monitor": { - "cats": [ - 19 - ], - "html": "<title>Sentinel (?:Keys )?License Monitor", - "icon": "Sentinel.png", - "website": "http://www.safenet-inc.com/software-monetization/sentinel-rms/" - }, - "Sentinel Protection Server": { - "cats": [ - 22 - ], - "headers": { - "Server": "SentinelProtectionServer\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "Sentinel.png", - "website": "http://www.safenet-inc.com/software-monetization/sentinel-rms/" - }, "Serendipity": { "cats": [ 1, @@ -8599,11 +8677,11 @@ "cats": [ 18 ], + "html": "]* href=\"[^\"]*shapecss(?:\\.min)?\\.css", + "icon": "Shapecss.svg", "js": { "Shapecss": "" }, - "html": "]* href=\"[^\"]*shapecss(?:\\.min)?\\.css", - "icon": "Shapecss.svg", "script": [ "shapecss[-.]([\\d.]*\\d)[^/]*\\.js\\;version:\\1", "/([\\d.]+)/shapecss(?:\\.min)?\\.js\\;version:\\1", @@ -8615,10 +8693,10 @@ "cats": [ 5 ], + "icon": "ShareThis.png", "js": { "SHARETHIS": "" }, - "icon": "ShareThis.png", "script": "w\\.sharethis\\.com/", "website": "http://sharethis.com" }, @@ -8626,25 +8704,25 @@ "cats": [ 46 ], - "js": { - "ShellInABox": "" - }, "html": [ "Shell In A Box", "must be enabled for ShellInABox" ], "icon": "ShellInABox.png", + "js": { + "ShellInABox": "" + }, "website": "http://shellinabox.com" }, "ShinyStat": { "cats": [ 10 ], + "html": "]*\\s+src=['\"]?https?://www\\.shinystat\\.com/cgi-bin/shinystat\\.cgi\\?[^'\"\\s>]*['\"\\s/>]", + "icon": "ShinyStat.png", "js": { "SSsdk": "" }, - "html": "]*\\s+src=['\"]?https?://www\\.shinystat\\.com/cgi-bin/shinystat\\.cgi\\?[^'\"\\s>]*['\"\\s/>]", - "icon": "ShinyStat.png", "script": "^https?://codice(?:business|ssl|pro|isp)?\\.shinystat\\.com/cgi-bin/getcod\\.cgi", "website": "http://shinystat.com" }, @@ -8653,24 +8731,24 @@ 5, 10 ], + "icon": "Shopalize.png", "js": { "Shopalize": "" }, - "icon": "Shopalize.png", "website": "http://shopalize.com" }, "Shopatron": { "cats": [ 6 ], - "js": { - "shptUrl": "" - }, "html": [ "]+mediacdn\\.shopatron\\.com\\;confidence:50" ], "icon": "Shopatron.png", + "js": { + "shptUrl": "" + }, "meta": { "keywords": "Shopatron" }, @@ -8681,20 +8759,20 @@ "cats": [ 6 ], + "icon": "Shopcada.png", "js": { "Shopcada": "" }, - "icon": "Shopcada.png", "website": "http://shopcada.com" }, "Shoper": { "cats": [ 6 ], + "icon": "Shoper.svg", "js": { "shoper": "" }, - "icon": "Shoper.svg", "website": "https://www.shoper.pl" }, "Shopery": { @@ -8716,36 +8794,36 @@ "cats": [ 6 ], + "icon": "Shopfa.svg", "js": { "shopfa": "" }, "meta": { "generator": "^ShopFA ([\\d.]+)$\\;version:\\1" }, - "icon": "Shopfa.svg", "website": "https://shopfa.com" }, "Shopify": { "cats": [ 6 ], + "html": "]+=['\"]//cdn\\.shopify\\.com", + "icon": "Shopify.svg", "js": { "Shopify": "" }, - "html": "]+=['\"]//cdn\\.shopify\\.com", - "icon": "Shopify.svg", "website": "http://shopify.com" }, "Shoptet": { "cats": [ 6 ], - "js": { - "shoptet": "" - }, "html": "]*href=\"https?://cdn\\.myshoptet\\.com/", "icon": "Shoptet.svg", "implies": "PHP", + "js": { + "shoptet": "" + }, "meta": { "web_author": "^Shoptet" }, @@ -8796,24 +8874,24 @@ }, "website": "http://www.silverstripe.org" }, - "Simplébo": { + "SimpleHTTP": { "cats": [ - 1 + 22 ], "headers": { - "X-ServedBy": "simplebo" + "Server": "SimpleHTTP(?:/([\\d.]+))?\\;version:\\1" }, - "icon": "Simplebo.png", - "website": "https://www.simplebo.fr" + "website": "http://example.com" }, - "SimpleHTTP": { + "Simplébo": { "cats": [ - 22 + 1 ], "headers": { - "Server": "SimpleHTTP(?:/([\\d.]+))?\\;version:\\1" + "X-ServedBy": "simplebo" }, - "website": "http://example.com" + "icon": "Simplebo.png", + "website": "https://www.simplebo.fr" }, "Site Meter": { "cats": [ @@ -8827,13 +8905,13 @@ "cats": [ 10 ], + "icon": "SiteCatalyst.png", "js": { + "s_INST": "", "s_account": "", - "s_objectID": "", "s_code": "", - "s_INST": "" + "s_objectID": "" }, - "icon": "SiteCatalyst.png", "script": "/s[_-]code.*\\.js", "website": "http://www.adobe.com/solutions/digital-marketing.html" }, @@ -8890,7 +8968,7 @@ }, "Slick": { "cats": [ - 12 + 59 ], "html": "]+(?:/([\\d.]+)/)?slick-theme\\.css\\;version:\\1", "implies": "jQuery", @@ -8899,7 +8977,7 @@ }, "Slimbox": { "cats": [ - 12 + 59 ], "html": "]*href=\"[^/]*slimbox(?:-rtl)?\\.css", "icon": "Slimbox.png", @@ -8909,7 +8987,7 @@ }, "Slimbox 2": { "cats": [ - 12 + 59 ], "html": "]*href=\"[^/]*slimbox2(?:-rtl)?\\.css", "icon": "Slimbox 2.png", @@ -8921,11 +8999,11 @@ "cats": [ 36 ], + "html": "]+smartadserver\\.com\\/call", + "icon": "Smart Ad Server.png", "js": { "SmartAdServer": "" }, - "html": "]+smartadserver\\.com\\/call", - "icon": "Smart Ad Server.png", "website": "http://smartadserver.com" }, "SmartSite": { @@ -8961,12 +9039,12 @@ }, "Snap.svg": { "cats": [ - 12 + 59 ], + "icon": "Snap.svg.png", "js": { "Snap.version": "(.*)\\;version:\\1" }, - "icon": "Snap.svg.png", "script": "snap\\.svg(?:-min)?\\.js", "website": "http://snapsvg.io" }, @@ -8974,10 +9052,10 @@ "cats": [ 10 ], + "icon": "Snoobi.png", "js": { "snoobi": "" }, - "icon": "Snoobi.png", "script": "snoobi\\.com/snoop\\.php", "website": "http://www.snoobi.com" }, @@ -8985,26 +9063,36 @@ "cats": [ 19 ], + "icon": "SobiPro.png", + "implies": "Joomla", "js": { "SobiProUrl": "" }, - "icon": "SobiPro.png", - "implies": "Joomla", "website": "http://sigsiu.net/sobipro.html" }, "Socket.io": { "cats": [ 12 ], + "icon": "Socket.io.png", + "implies": "Node.js", "js": { "io.Socket": "", "io.version": "(.*)\\;version:\\1" }, - "icon": "Socket.io.png", - "implies": "Node.js", "script": "socket\\.io.*\\.js", "website": "https://socket.io" }, + "SoftTr": { + "cats": [ + 6 + ], + "icon": "softtr.png", + "meta": { + "author": "SoftTr E-Ticaret Sitesi Yazılımı" + }, + "website": "http://www.softtr.com" + }, "Solodev": { "cats": [ 1 @@ -9032,11 +9120,11 @@ "cookies": { "_solusquare": "" }, + "icon": "Solusquare.png", + "implies": "Adobe ColdFusion", "meta": { "generator": "^Solusquare$" }, - "icon": "Solusquare.png", - "implies": "Adobe ColdFusion", "website": "https://www.solusquare.com" }, "Solve Media": { @@ -9044,13 +9132,13 @@ 16, 36 ], + "icon": "Solve Media.png", "js": { - "_ACPuzzle": "", "ACPuzzle": "", + "_ACPuzzle": "", "_adcopy-puzzle-image-image": "", "adcopy-puzzle-image-image": "" }, - "icon": "Solve Media.png", "script": "^https?://api\\.solvemedia\\.com/", "website": "http://solvemedia.com" }, @@ -9058,16 +9146,16 @@ "cats": [ 47 ], - "js": { - "SonarMeasures": "", - "SonarRequest": "" - }, "html": [ "SonarQube" ], "icon": "sonar.png", "implies": "Java", + "js": { + "SonarMeasures": "", + "SonarRequest": "" + }, "meta": { "application-name": "^SonarQubes$" }, @@ -9076,14 +9164,14 @@ }, "SoundManager": { "cats": [ - 12 + 59 ], + "icon": "SoundManager.png", "js": { + "BaconPlayer": "", "SoundManager": "", - "soundManager.version": "V(.+) \\;version:\\1", - "BaconPlayer": "" + "soundManager.version": "V(.+) \\;version:\\1" }, - "icon": "SoundManager.png", "website": "http://www.schillmania.com/projects/soundmanager2" }, "Sparql": { @@ -9096,12 +9184,12 @@ "cats": [ 4 ], - "js": { - "DOCUMENTATION_OPTIONS": "" - }, "html": "Created using Sphinx ([.\\d+])+\\.\\;version:\\1", "icon": "Sphinx.png", "implies": "Python", + "js": { + "DOCUMENTATION_OPTIONS": "" + }, "website": "http://sphinx.pocoo.org" }, "SpiderControl iniNet": { @@ -9155,43 +9243,40 @@ "implies": "Ruby on Rails", "website": "http://spreecommerce.com" }, - "Squarespace": { + "Sqreen": { "cats": [ - 1 + 19 ], - "js": { - "Squarespace": "" - }, - "html": "", "headers": { - "X-ServedBy": "squarespace" + "X-Protected-By": "^Sqreen$" }, - "icon": "Squarespace.png", - "website": "http://www.squarespace.com" + "icon": "Sqreen.png", + "website": "https://sqreen.io" }, - "Pagevamp": { + "Squarespace": { "cats": [ 1 ], - "js": { - "Pagevamp": "" - }, "headers": { - "X-ServedBy": "pagevamp" + "X-ServedBy": "squarespace" }, - "icon": "Pagevamp.png", - "website": "https://www.pagevamp.com" + "html": "", + "icon": "Squarespace.png", + "js": { + "Squarespace": "" + }, + "website": "http://www.squarespace.com" }, "SquirrelMail": { "cats": [ 30 ], - "js": { - "squirrelmail_loginpage_onload": "" - }, "html": "SquirrelMail version ([.\\d]+)[^<]*
]+store-systems\\.de\"|\\.mws_boxTop", + "icon": "Store Systems.png", + "website": "http://store-systems.de" + }, "Storeden": { "cats": [ 6 @@ -9265,14 +9348,6 @@ "icon": "storeden.svg", "website": "https://www.storeden.com" }, - "Store Systems": { - "cats": [ - 6 - ], - "html": "Shopsystem von ]+store-systems\\.de\"|\\.mws_boxTop", - "icon": "Store Systems.png", - "website": "http://store-systems.de" - }, "Storyblok": { "cats": [ 1 @@ -9307,37 +9382,22 @@ "cats": [ 41 ], + "html": "]+data-stripe", + "icon": "Stripe.png", "js": { "Stripe.version": "(.*)\\;version:\\1" }, - "html": "]+data-stripe", - "icon": "Stripe.png", "script": "js\\.stripe\\.com", "website": "http://stripe.com" }, - "styled-components": { - "cats": [ - 12, - 47 - ], - "implies": [ - "React" - ], - "icon": "styled-components.png", - "website": "https://styled-components.com", - "html": "]*data-styled-components", - "js": { - "styled": "" - } - }, "SublimeVideo": { "cats": [ 14 ], + "icon": "SublimeVideo.png", "js": { "sublimevideo": "" }, - "icon": "SublimeVideo.png", "script": "cdn\\.sublimevideo\\.net/js/[a-z\\d]+\\.js", "website": "http://sublimevideo.net" }, @@ -9355,6 +9415,17 @@ }, "website": "http://subrion.com" }, + "Sucuri": { + "cats": [ + 31 + ], + "headers": { + "x-sucuri-cache:": "", + "x-sucuri-id": "" + }, + "icon": "sucuri.png", + "website": "https://sucuri.net/" + }, "Sulu": { "cats": [ 1 @@ -9407,19 +9478,19 @@ }, "SweetAlert": { "cats": [ - 12 + 59 ], + "html": "]+?href=\"[^\"]+sweet-alert(?:\\.min)?\\.css", + "icon": "SweetAlert.png", "js": { "swal": "" }, - "html": "]+?href=\"[^\"]+sweet-alert(?:\\.min)?\\.css", - "icon": "SweetAlert.png", "script": "sweet-alert(?:\\.min)?\\.js", "website": "http://t4t5.github.io/sweetalert/" }, "SweetAlert2": { "cats": [ - 12 + 59 ], "excludes": "SweetAlert", "html": "]+?href=\"[^\"]+sweetalert2(?:\\.min)?\\.css", @@ -9448,10 +9519,10 @@ "cats": [ 29 ], + "icon": "swiftype.png", "js": { "Swiftype": "" }, - "icon": "swiftype.png", "script": "swiftype\\.com/embed\\.js$", "website": "http://swiftype.com" }, @@ -9480,11 +9551,11 @@ "cats": [ 19 ], + "html": "<(?:script|link)[^>]*sh(?:Core|Brush|ThemeDefault)", + "icon": "SyntaxHighlighter.png", "js": { "SyntaxHighlighter": "" }, - "html": "<(?:script|link)[^>]*sh(?:Core|Brush|ThemeDefault)", - "icon": "SyntaxHighlighter.png", "website": "http://github.com/syntaxhighlighter" }, "TWiki": { @@ -9517,14 +9588,14 @@ "cats": [ 13 ], - "js": { - "taigaConfig": "" - }, "icon": "Taiga.png", "implies": [ "Django", "AngularJS" ], + "js": { + "taigaConfig": "" + }, "website": "http://taiga.io" }, "Tawk.to": { @@ -9539,20 +9610,20 @@ "cats": [ 10 ], + "icon": "Tealeaf.png", "js": { "TeaLeaf": "" }, - "icon": "Tealeaf.png", "website": "http://www.tealeaf.com" }, "Tealium": { "cats": [ 36 ], + "icon": "Tealium.png", "js": { "TEALIUMENABLED": "" }, - "icon": "Tealium.png", "script": [ "^//tags\\.tiqcdn\\.com/", "/tealium/utag\\.js$" @@ -9583,14 +9654,14 @@ "cats": [ 1 ], - "js": { - "Telescope": "" - }, "icon": "Telescope.png", "implies": [ "Meteor", "React" ], + "js": { + "Telescope": "" + }, "website": "http://telescopeapp.org" }, "Tengine": { @@ -9607,10 +9678,10 @@ "cats": [ 6 ], + "icon": "textalk.png", "meta": { "generator": "Textalk Webshop" }, - "icon": "textalk.png", "website": "https://www.textalk.se" }, "Textpattern CMS": { @@ -9676,11 +9747,11 @@ 4, 8 ], + "html": "<[^>]*type=[^>]text\\/vnd\\.tiddlywiki", + "icon": "TiddlyWiki.png", "js": { "tiddler": "" }, - "html": "<[^>]*type=[^>]text\\/vnd\\.tiddlywiki", - "icon": "TiddlyWiki.png", "meta": { "application-name": "^TiddlyWiki$", "copyright": "^TiddlyWiki created by Jeremy Ruston", @@ -9708,8 +9779,8 @@ "cats": [ 1 ], - "icon": "Tilda.svg", "html": "]* href=[^>]+tilda(?:cdn|\\.ws|-blocks)", + "icon": "Tilda.svg", "script": "tilda(?:cdn|\\.ws|-blocks)", "website": "https://tilda.cc" }, @@ -9717,10 +9788,10 @@ "cats": [ 25 ], + "icon": "Timeplot.png", "js": { "Timeplot": "" }, - "icon": "Timeplot.png", "script": "timeplot.*\\.js", "website": "http://www.simile-widgets.org/timeplot/" }, @@ -9728,33 +9799,33 @@ "cats": [ 24 ], - "script": "/tinymce(?:\\.min)?\\.js", + "icon": "TinyMCE.png", "js": { "tinyMCE.majorVersion": "([\\d.]+)\\;version:\\1" }, - "icon": "TinyMCE.png", + "script": "/tinymce(?:\\.min)?\\.js", "website": "http://tinymce.com" }, "Titan": { "cats": [ 36 ], + "html": "]+>var titan", + "icon": "Titan.png", "js": { "titan": "", "titanEnabled": "" }, - "html": "]+>var titan", - "icon": "Titan.png", "website": "http://titan360.com" }, "TomatoCart": { "cats": [ 6 ], + "icon": "TomatoCart.png", "js": { "AjaxShoppingCart": "" }, - "icon": "TomatoCart.png", "meta": { "generator": "TomatoCart" }, @@ -9796,10 +9867,10 @@ "cats": [ 10 ], + "icon": "TrackJs.png", "js": { "TrackJs": "" }, - "icon": "TrackJs.png", "script": "tracker\\.js", "website": "http://trackjs.com" }, @@ -9825,15 +9896,13 @@ "script": "lucide\\.init(?:\\.min)?\\.js", "website": "http://www.translucide.net" }, - "T-Soft": { + "Tray": { "cats": [ 6 ], - "icon": "Tsoft.png", - "meta": { - "copyright": "T-Soft E-Ticaret Sistemleri" - }, - "website": "http://www.tsoft.com.tr/" + "icon": "tray.png", + "script": ".+tcdn\\.com\\.br", + "website": "https://www.tray.com.br" }, "Tumblr": { "cats": [ @@ -9851,10 +9920,10 @@ "cats": [ 12 ], + "icon": "TweenMax.png", "js": { "TweenMax.version": "(.*)\\;version:\\1" }, - "icon": "TweenMax.png", "script": "TweenMax(?:\\.min)?\\.js", "website": "http://greensock.com/tweenmax" }, @@ -9897,28 +9966,6 @@ "script": "//platform\\.twitter\\.com/widgets\\.js", "website": "http://twitter.com" }, - "Bootstrap": { - "cats": [ - 18 - ], - "html": [ - "Cloud_Logo_Nav diff --git a/src/icons/idosellshop.png b/src/icons/idosellshop.png new file mode 100644 index 000000000..f7e921195 Binary files /dev/null and b/src/icons/idosellshop.png differ diff --git a/src/icons/polyfill.svg b/src/icons/polyfill.svg new file mode 100644 index 000000000..cfa655abb --- /dev/null +++ b/src/icons/polyfill.svg @@ -0,0 +1,6 @@ + diff --git a/src/icons/projesoft.png b/src/icons/projesoft.png new file mode 100644 index 000000000..77b9293da Binary files /dev/null and b/src/icons/projesoft.png differ diff --git a/src/icons/softtr.png b/src/icons/softtr.png new file mode 100644 index 000000000..65637e777 Binary files /dev/null and b/src/icons/softtr.png differ diff --git a/src/icons/sucuri.png b/src/icons/sucuri.png new file mode 100644 index 000000000..ec4be30a3 Binary files /dev/null and b/src/icons/sucuri.png differ diff --git a/src/icons/tray.png b/src/icons/tray.png new file mode 100644 index 000000000..66d510765 Binary files /dev/null and b/src/icons/tray.png differ diff --git a/src/icons/webdev.png b/src/icons/webdev.png new file mode 100644 index 000000000..3d4632300 Binary files /dev/null and b/src/icons/webdev.png differ diff --git a/src/wappalyzer.js b/src/wappalyzer.js index 114919c70..e117c6121 100644 --- a/src/wappalyzer.js +++ b/src/wappalyzer.js @@ -92,7 +92,9 @@ class Wappalyzer { if ( data.js ) { Object.keys(data.js).forEach(appName => { - promises.push(this.analyzeJs(apps[appName], data.js[appName])); + if (typeof data.js[appName] != 'function') { + promises.push(this.analyzeJs(apps[appName], data.js[appName])); + } }); } @@ -100,14 +102,14 @@ class Wappalyzer { Promise.all(promises) .then(() => { Object.keys(apps).forEach(appName => { - var app = apps[appName]; + let app = apps[appName]; - if ( !app.detected || !app.getConfidence() ) { + if (!app.detected || !app.getConfidence()) { delete apps[app.name]; } }); - this.resolveExcludes(apps); + this.resolveExcludes(apps, this.detected[url]); this.resolveImplies(apps, url.canonical); this.cacheDetectedApps(apps, url.canonical); @@ -121,7 +123,7 @@ class Wappalyzer { this.driver.displayApps(this.detected[url.canonical], { language }, context); - resolve(); + return resolve(); }); }); } @@ -198,10 +200,15 @@ class Wappalyzer { * */ ping() { - if ( Object.keys(this.hostnameCache).length + this.adCache.length > 50 ) { - this.driver.ping(this.hostnameCache, this.adCache); + if ( Object.keys(this.hostnameCache).length > 100 ) { + this.driver.ping(this.hostnameCache); this.hostnameCache = {}; + } + + if ( this.adCache.length > 50 ) { + this.driver.ping({}, this.adCache); + this.adCache = []; } } @@ -274,32 +281,32 @@ class Wappalyzer { */ parseJsPatterns() { Object.keys(this.apps).forEach(appName => { - if ( this.apps[appName].js ) { + if (this.apps[appName].js) { this.jsPatterns[appName] = this.parsePatterns(this.apps[appName].js); } }); } - resolveExcludes(apps) { - var excludes = []; + resolveExcludes(apps, detected) { + let excludes = []; // Exclude app in detected apps only - Object.keys(apps).forEach(appName => { - var app = apps[appName]; + Object.keys(Object.assign({}, apps, detected)).forEach(appName => { + let app = apps[appName]; - if ( app.props.excludes ) { + if (app.props.excludes) { this.asArray(app.props.excludes).forEach(excluded => { excludes.push(excluded); }); } - }) + }); // Remove excluded applications Object.keys(apps).forEach(appName => { - if ( excludes.indexOf(appName) !== -1 ) { + if (excludes.indexOf(appName) > -1) { delete apps[appName]; } - }) + }); } resolveImplies(apps, url) { @@ -331,7 +338,7 @@ class Wappalyzer { // Apply app confidence to implied app Object.keys(app.confidence).forEach(id => { - apps[implied.string].confidence[id + ' implied by ' + appName] = app.confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 ); + apps[implied.string].confidence[id + ' implied by ' + appName] = app.confidence[id] * ( implied.confidence === undefined ? 1 : implied.confidence / 100 ); }); }); } @@ -344,17 +351,15 @@ class Wappalyzer { */ cacheDetectedApps(apps, url) { Object.keys(apps).forEach(appName => { - var app = apps[appName]; + let app = apps[appName]; // Per URL this.detected[url][appName] = app; - Object.keys(app.confidence).forEach(id => { - this.detected[url][appName].confidence[id] = app.confidence[id]; - }); + Object.keys(app.confidence).forEach(id => this.detected[url][appName].confidence[id] = app.confidence[id]); }) - if ( this.driver.ping instanceof Function ) { + if (this.driver.ping instanceof Function) { this.ping(); } } @@ -448,8 +453,6 @@ class Wappalyzer { } return this.asyncForEach(patterns, pattern => { - var match; - scripts.forEach(uri => { if ( pattern.regex.test(uri) ) { this.addDetected(app, pattern, 'script', uri); @@ -466,10 +469,10 @@ class Wappalyzer { const patterns = this.parsePatterns(app.props.meta); const promises = []; - var matches = []; + let matches; while ( patterns && ( matches = regex.exec(html) ) ) { - for ( var meta in patterns ) { + for ( let meta in patterns ) { const r = new RegExp('(?:name|property)=["\']' + meta + '["\']', 'i'); if ( r.test(matches[0]) ) { @@ -495,17 +498,19 @@ class Wappalyzer { const promises = []; Object.keys(patterns).forEach(headerName => { - promises.push(this.asyncForEach(patterns[headerName], pattern => { - headerName = headerName.toLowerCase(); - - if ( headerName in headers ) { - headers[headerName].forEach(headerValue => { - if ( pattern.regex.test(headerValue) ) { - this.addDetected(app, pattern, 'headers', headerValue, headerName); - } - }); - } - })); + if (typeof patterns[headerName] != 'function') { + promises.push(this.asyncForEach(patterns[headerName], pattern => { + headerName = headerName.toLowerCase(); + + if ( headerName in headers ) { + headers[headerName].forEach(headerValue => { + if ( pattern.regex.test(headerValue) ) { + this.addDetected(app, pattern, 'headers', headerValue, headerName); + } + }); + } + })); + } }); return promises ? Promise.all(promises) : Promise.resolve(); @@ -519,15 +524,17 @@ class Wappalyzer { const promises = []; Object.keys(patterns).forEach(cookieName => { - cookieName = cookieName.toLowerCase(); + if (typeof patterns[cookieName] != 'function') { + cookieName = cookieName.toLowerCase(); - promises.push(this.asyncForEach(patterns[cookieName], pattern => { - const cookie = cookies.find(cookie => cookie.name.toLowerCase() === cookieName); + promises.push(this.asyncForEach(patterns[cookieName], pattern => { + const cookie = cookies.find(cookie => cookie.name.toLowerCase() === cookieName); - if ( cookie && pattern.regex.test(cookie.value) ) { - this.addDetected(app, pattern, 'cookies', cookie.value, cookieName); - } - })); + if ( cookie && pattern.regex.test(cookie.value) ) { + this.addDetected(app, pattern, 'cookies', cookie.value, cookieName); + } + })); + } }); return promises ? Promise.all(promises) : Promise.resolve(); @@ -540,14 +547,16 @@ class Wappalyzer { const promises = []; Object.keys(results).forEach(string => { - promises.push(this.asyncForEach(Object.keys(results[string]), index => { - const pattern = this.jsPatterns[app.name][string][index]; - const value = results[string][index]; + if (typeof results[string] != 'function') { + promises.push(this.asyncForEach(Object.keys(results[string]), index => { + const pattern = this.jsPatterns[app.name][string][index]; + const value = results[string][index]; - if ( pattern && pattern.regex.test(value) ) { - this.addDetected(app, pattern, 'js', value); - } - })); + if ( pattern && pattern.regex.test(value) ) { + this.addDetected(app, pattern, 'js', value); + } + })); + } }); return promises ? Promise.all(promises) : Promise.resolve(); @@ -560,7 +569,7 @@ class Wappalyzer { app.detected = true; // Set confidence level - app.confidence[type + ' ' + ( key ? key + ' ' : '' ) + pattern.regex] = pattern.confidence || 100; + app.confidence[type + ' ' + ( key ? key + ' ' : '' ) + pattern.regex] = pattern.confidence === undefined ? 100 : parseInt(pattern.confidence); // Detect version number if ( pattern.version ) { @@ -614,7 +623,7 @@ class Application { getConfidence() { var total = 0; - for ( var id in this.confidence ) { + for ( let id in this.confidence ) { total += this.confidence[id]; } diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index e261850cd..000000000 --- a/yarn.lock +++ /dev/null @@ -1,199 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -assertion-error@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - -chai@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" - dependencies: - assertion-error "^1.0.1" - check-error "^1.0.1" - deep-eql "^3.0.0" - get-func-name "^2.0.0" - pathval "^1.0.0" - type-detect "^4.0.0" - -check-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - -commander@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -deep-eql@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - dependencies: - type-detect "^4.0.0" - -diff@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" - -escape-string-regexp@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -file-type@7.4.*: - version "7.4.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-7.4.0.tgz#2a7c94f62a0030150bb7d9b6c70cfa1d3e759c86" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -growl@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - -html-comment-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -is-svg@2.1.*: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" - dependencies: - html-comment-regex "^1.1.0" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -mocha@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.0.1.tgz#759b62c836b0732382a62b6b1fb245ec1bc943ac" - dependencies: - browser-stdout "1.3.0" - commander "2.11.0" - debug "3.1.0" - diff "3.3.1" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.3" - he "1.1.1" - mkdirp "0.5.1" - supports-color "4.4.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -pathval@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -read-chunk@2.1.*: - version "2.1.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" - dependencies: - pify "^3.0.0" - safe-buffer "^5.1.1" - -safe-buffer@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -supports-color@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - dependencies: - has-flag "^2.0.0" - -type-detect@^4.0.0: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"