diff --git a/.github/workflows/scripts/technology_validator.py b/.github/workflows/scripts/technology_validator.py index 0011784c..c710b03f 100644 --- a/.github/workflows/scripts/technology_validator.py +++ b/.github/workflows/scripts/technology_validator.py @@ -150,15 +150,11 @@ def get_type(self) -> list[Type]: return [list] -class StringOrArrayValidator(RegexValidator): - def get_type(self) -> list[Type]: - return [str, list] - - class StringOrArrayOrDictValidator(AbstractValidator): def get_type(self) -> list[Type]: return [str, list, dict] + class DictValidator(RegexValidator): def get_type(self) -> list[Type]: return [dict] @@ -249,11 +245,11 @@ def __init__(self, file_name: str): "css": ArrayValidator(contains_regex=True), "probe": DictValidator(), "robots": ArrayValidator(), - "url": StringOrArrayValidator(contains_regex=True), - "xhr": StringOrArrayValidator(contains_regex=True), + "url": ArrayValidator(contains_regex=True), + "xhr": ArrayValidator(contains_regex=True), "meta": DictValidator(contains_regex=True), "scriptSrc": ArrayValidator(contains_regex=True), - "scripts": StringOrArrayValidator(contains_regex=True), + "scripts": ArrayValidator(contains_regex=True), "html": ArrayValidator(contains_regex=True), "certIssuer": StringValidator() } diff --git a/schema.json b/schema.json index f4dd4307..302244a7 100644 --- a/schema.json +++ b/schema.json @@ -184,30 +184,16 @@ } }, "scripts": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/non-empty-non-blank-string" - } - }, - { - "$ref": "#/definitions/non-empty-non-blank-string" - } - ] + "type": "array", + "items": { + "$ref": "#/definitions/non-empty-non-blank-string" + } }, "url": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/non-empty-non-blank-string" - } - }, - { - "$ref": "#/definitions/non-empty-non-blank-string" - } - ] + "type": "array", + "items": { + "$ref": "#/definitions/non-empty-non-blank-string" + } }, "website": { "$ref": "#/definitions/non-empty-non-blank-string" @@ -216,17 +202,10 @@ "$ref": "#/definitions/non-empty-non-blank-string" }, "xhr": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/non-empty-non-blank-string" - } - }, - { - "$ref": "#/definitions/non-empty-non-blank-string" - } - ] + "type": "array", + "items": { + "$ref": "#/definitions/non-empty-non-blank-string" + } } } } diff --git a/src/technologies/_.json b/src/technologies/_.json index ff738a73..9e3609d5 100644 --- a/src/technologies/_.json +++ b/src/technologies/_.json @@ -69,7 +69,9 @@ "\\.tynt\\.com/" ], "website": "https://www.33across.com", - "xhr": "\\.33across\\.com" + "xhr": [ + "\\.33across\\.com" + ] }, "34SP.com": { "cats": [ @@ -196,7 +198,9 @@ ], "saas": true, "website": "https://8base.com", - "xhr": "api\\.8base\\.com" + "xhr": [ + "api\\.8base\\.com" + ] }, "": { "cats": [ diff --git a/src/technologies/a.json b/src/technologies/a.json index dde44288..373768f7 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -189,7 +189,9 @@ "icon": "Accelerated-Mobile-Pages.svg", "oss": true, "website": "https://www.amp.dev", - "xhr": "cdn\\.ampproject\\.org" + "xhr": [ + "cdn\\.ampproject\\.org" + ] }, "AMP for WordPress": { "cats": [ @@ -468,7 +470,9 @@ "Shopify" ], "saas": true, - "scripts": "\\.accentuate\\.io/", + "scripts": [ + "\\.accentuate\\.io/" + ], "website": "https://www.accentuate.io" }, "AccessTrade": { @@ -672,7 +676,9 @@ "scriptSrc": [ "https?:\\/\\/.+\\.web\\.ahdev\\.cloud" ], - "url": "https:?\\/\\/.+\\.web\\.ahdev\\.cloud", + "url": [ + "https:?\\/\\/.+\\.web\\.ahdev\\.cloud" + ], "website": "https://www.acquia.com/products/drupal-cloud/cloud-ide" }, "Acquia Cloud Platform": { @@ -745,7 +751,9 @@ "scriptSrc": [ "content-hub\\.acquia\\.com" ], - "url": "https?:\\/\\/.+\\.content-hub\\.acquia\\.com", + "url": [ + "https?:\\/\\/.+\\.content-hub\\.acquia\\.com" + ], "website": "https://www.acquia.com/products/drupal-cloud/content-hub" }, "Acquia Customer Data Platform": { @@ -791,7 +799,9 @@ "lift\\.acquia\\.com" ], "website": "https://www.acquia.com/products/marketing-cloud/personalization", - "xhr": "lift\\.acquia\\.com" + "xhr": [ + "lift\\.acquia\\.com" + ] }, "Acquia Site Studio": { "cats": [ @@ -1228,7 +1238,9 @@ "track\\.adabra\\.com" ], "website": "https://www.adabra.com", - "xhr": "my\\.adabra\\.com" + "xhr": [ + "my\\.adabra\\.com" + ] }, "Adally": { "cats": [ @@ -1271,7 +1283,9 @@ "scriptSrc": [ "^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/" ], - "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_", + "url": [ + "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_" + ], "website": "https://adcash.com" }, "AddEvent": { @@ -1462,7 +1476,9 @@ "payg" ], "saas": true, - "scripts": "admiral(?:-engaged|:enabled)", + "scripts": [ + "admiral(?:-engaged|:enabled)" + ], "website": "https://www.getadmiral.com" }, "Admitad": { @@ -1610,7 +1626,9 @@ "scriptSrc": [ "/cfajax/" ], - "url": "\\.cfm(?:$|\\?)", + "url": [ + "\\.cfm(?:$|\\?)" + ], "website": "https://adobe.com/products/coldfusion-family.html" }, "Adobe DTM": { @@ -1662,7 +1680,9 @@ "/etc/clientlibs/", "/etc\\.clientlibs/" ], - "scripts": "aem-(?:GridColumn|apps/)", + "scripts": [ + "aem-(?:GridColumn|apps/)" + ], "website": "https://www.adobe.com/marketing/experience-manager.html" }, "Adobe Experience Manager Franklin": { @@ -2084,7 +2104,9 @@ "payg" ], "saas": true, - "url": "https.+\\.returnscenter\\.com", + "url": [ + "https.+\\.returnscenter\\.com" + ], "website": "https://www.aftership.com/returns" }, "Afterpay": { @@ -2905,7 +2927,9 @@ "\\.amazon-adsystem\\.com" ], "website": "https://advertising.amazon.com", - "xhr": "\\.amazon-adsystem\\.com" + "xhr": [ + "\\.amazon-adsystem\\.com" + ] }, "Amazon Associates": { "cats": [ @@ -2992,7 +3016,9 @@ "payg" ], "website": "https://aws.amazon.com/cognito/", - "xhr": "cognito-idp\\..+\\.amazonaws\\.com" + "xhr": [ + "cognito-idp\\..+\\.amazonaws\\.com" + ] }, "Amazon EC2": { "cats": [ @@ -3079,7 +3105,9 @@ "\\.payments-amazon\\.com/" ], "website": "https://pay.amazon.com", - "xhr": "payments\\.amazon\\.com" + "xhr": [ + "payments\\.amazon\\.com" + ] }, "Amazon S3": { "cats": [ @@ -3297,7 +3325,9 @@ "cdn\\.(?:segment.+)?amplitude(?:\\.com|-plugins)" ], "website": "https://amplitude.com", - "xhr": "\\.amplitude\\.com" + "xhr": [ + "\\.amplitude\\.com" + ] }, "Analysys Ark": { "cats": [ @@ -3731,7 +3761,9 @@ "poa" ], "saas": true, - "url": "https.+\\.imodules\\.com/s/", + "url": [ + "https.+\\.imodules\\.com/s/" + ], "website": "https://www.anthology.com/products/lifecycle-engagement/alumni-and-advancement/anthology-encompass" }, "AntiBot.Cloud": { @@ -3842,7 +3874,9 @@ "scriptSrc": [ "jspwiki" ], - "url": "wiki\\.jsp", + "url": [ + "wiki\\.jsp" + ], "website": "https://jspwiki.org" }, "Apache Tomcat": { @@ -4099,7 +4133,9 @@ "adnxs\\.(?:net|com)" ], "website": "https://appnexus.com", - "xhr": "prebid\\.adnxs\\.com" + "xhr": [ + "prebid\\.adnxs\\.com" + ] }, "Appcues": { "cats": [ @@ -4413,7 +4449,9 @@ "arc\\.io/widget\\.js" ], "website": "https://arc.io", - "xhr": "\\.arc\\.io" + "xhr": [ + "\\.arc\\.io" + ] }, "Arc XP": { "cats": [ @@ -5564,7 +5602,9 @@ "implies": [ "Azure" ], - "url": "https.+\\.b2clogin\\.com", + "url": [ + "https.+\\.b2clogin\\.com" + ], "website": "https://azure.microsoft.com/en-us/services/active-directory/external-identities/b2c/" }, "Azure CDN": { diff --git a/src/technologies/b.json b/src/technologies/b.json index 0025a5a6..4415ca00 100644 --- a/src/technologies/b.json +++ b/src/technologies/b.json @@ -802,8 +802,12 @@ "scriptSrc": [ "(?:\\.|plugins/)?bigcommerce(?:\\.com)?/(?:assets)?" ], - "scripts": "bigcommerceProductId", - "url": "mybigcommerce\\.com", + "scripts": [ + "bigcommerceProductId" + ], + "url": [ + "mybigcommerce\\.com" + ], "website": "https://www.bigcommerce.com" }, "BigCommerce B2B Edition": { @@ -848,7 +852,9 @@ "bigdatacloud\\.net" ], "website": "https://www.bigdatacloud.com/packages/ip-geolocation", - "xhr": "api\\.bigdatacloud\\.net" + "xhr": [ + "api\\.bigdatacloud\\.net" + ] }, "BigTree CMS": { "cats": [ @@ -908,7 +914,9 @@ "implies": [ "PHP" ], - "url": "(?:\\?|&)bigWAdminID=", + "url": [ + "(?:\\?|&)bigWAdminID=" + ], "website": "https://bigware.de" }, "Bikayi": { @@ -1004,7 +1012,9 @@ "scriptSrc": [ "cdn\\.bitespeed\\.co/" ], - "scripts": "app\\.bitespeed\\.co/", + "scripts": [ + "app\\.bitespeed\\.co/" + ], "website": "https://www.bitespeed.co" }, "Bitrix24": { @@ -1071,7 +1081,9 @@ "scriptSrc": [ "js/convio/modules\\.js" ], - "url": "/site/Donation2?.*df_id=", + "url": [ + "/site/Donation2?.*df_id=" + ], "website": "https://www.blackbaud.com" }, "Blade": { @@ -1237,7 +1249,9 @@ "meta": { "generator": "^Blogger$" }, - "url": "^https?://[^/]+\\.(?:blogspot|blogger)\\.com", + "url": [ + "^https?://[^/]+\\.(?:blogspot|blogger)\\.com" + ], "website": "https://www.blogger.com" }, "Bloomreach": { @@ -1350,7 +1364,9 @@ "\\.btttag\\.com/btt\\.js" ], "website": "https://bluetriangle.com", - "xhr": "\\.btttag\\.com" + "xhr": [ + "\\.btttag\\.com" + ] }, "BlueConic": { "cats": [ @@ -1830,7 +1846,9 @@ "account\\.bolt\\.com/" ], "website": "https://www.bolt.com/", - "xhr": "connect\\.bolt\\.com" + "xhr": [ + "connect\\.bolt\\.com" + ] }, "Bonfire": { "cats": [ @@ -1959,7 +1977,9 @@ "scriptSrc": [ "cdn\\.bookero\\.pl" ], - "url": "\\.bookero\\.(?:org|pl)", + "url": [ + "\\.bookero\\.(?:org|pl)" + ], "website": "https://www.bookero.org" }, "Booking.com": { @@ -2617,7 +2637,9 @@ "recurring" ], "saas": true, - "scripts": "players\\.brightcove\\.net/", + "scripts": [ + "players\\.brightcove\\.net/" + ], "website": "https://www.brightcove.com" }, "Brightspot": { @@ -2941,7 +2963,9 @@ ], "saas": true, "website": "https://builder.io", - "xhr": "cdn\\.builder\\.io" + "xhr": [ + "cdn\\.builder\\.io" + ] }, "Buildertrend": { "cats": [ @@ -3036,7 +3060,9 @@ 1 ], "icon": "Google.svg", - "url": "https?://[^.]+\\.business\\.page", + "url": [ + "https?://[^.]+\\.business\\.page" + ], "website": "https://businesswebsites.google.com/welcome" }, "ButterCMS": { diff --git a/src/technologies/c.json b/src/technologies/c.json index 6dcf1f2b..5dcbb09f 100644 --- a/src/technologies/c.json +++ b/src/technologies/c.json @@ -761,7 +761,9 @@ "Apache HTTP Server" ], "saas": true, - "scripts": "\\(\\!section\\s\\|\\|\\ssection\\.tagName\\s\\!\\=\\s\\'SECTION\\'\\)", + "scripts": [ + "\\(\\!section\\s\\|\\|\\ssection\\.tagName\\s\\!\\=\\s\\'SECTION\\'\\)" + ], "website": "https://carrd.co" }, "Carro": { @@ -833,7 +835,9 @@ "scriptSrc": [ "googlecommerce\\.com/trustedstores/api/js" ], - "url": "/(?:cart|order|basket|trolley|bag|shoppingbag|checkout)", + "url": [ + "/(?:cart|order|basket|trolley|bag|shoppingbag|checkout)" + ], "website": "https://www.wappalyzer.com/technologies/ecommerce/cart-functionality" }, "Cart.com": { @@ -1105,7 +1109,9 @@ "poa" ], "saas": true, - "scripts": "centraCheckoutScript", + "scripts": [ + "centraCheckoutScript" + ], "website": "https://centra.com" }, "Chabokan": { @@ -1244,7 +1250,9 @@ ], "saas": true, "website": "https://www.channelape.com", - "xhr": "\\.channelape\\.com" + "xhr": [ + "\\.channelape\\.com" + ] }, "Chaport": { "cats": [ @@ -1388,7 +1396,9 @@ "call\\.chatra\\.io/chatra\\.js" ], "website": "https://chatra.com", - "xhr": "chat\\.chatra\\.io/" + "xhr": [ + "chat\\.chatra\\.io/" + ] }, "Chatwoot": { "cats": [ @@ -1445,7 +1455,9 @@ ], "saas": true, "website": "https://www.checklyhq.com", - "xhr": "api\\.checklyhq\\.com/" + "xhr": [ + "api\\.checklyhq\\.com/" + ] }, "Checkout.com": { "cats": [ @@ -1910,7 +1922,9 @@ "Application Request Routing", "Java" ], - "url": "\\.[\\w]+/fmi/webd/", + "url": [ + "\\.[\\w]+/fmi/webd/" + ], "website": "https://www.claris.com/filemaker" }, "Clarity": { @@ -1973,7 +1987,9 @@ "js": { "Classy.clientId": "" }, - "scripts": "classy\\.org", + "scripts": [ + "classy\\.org" + ], "website": "https://www.classy.org/" }, "ClearSale": { @@ -2495,7 +2511,9 @@ ], "saas": true, "website": "https://workers.cloudflare.com", - "xhr": "\\.workers\\.dev" + "xhr": [ + "\\.workers\\.dev" + ] }, "Cloudflare Zaraz": { "cats": [ @@ -2843,7 +2861,9 @@ "\\/(?:coinhive|(authedmine))(?:\\.min)?\\.js\\;version:\\1?opt-in:", "coinhive\\.com/lib" ], - "url": "https?://cnhv\\.co/", + "url": [ + "https?://cnhv\\.co/" + ], "website": "https://coinhive.com" }, "CoinHive Captcha": { @@ -3250,7 +3270,9 @@ "cdn\\.chec\\.io/v(\\d+)/commerce\\.js\\;version:\\1", "chec/commerce\\.js" ], - "url": "\\.spaces.chec\\.io", + "url": [ + "\\.spaces.chec\\.io" + ], "website": "https://www.commercejs.com" }, "Commerce7": { @@ -3269,7 +3291,9 @@ "cdn\\.commerce7\\.com" ], "website": "https://commerce7.com", - "xhr": "api\\.commerce7\\.com" + "xhr": [ + "api\\.commerce7\\.com" + ] }, "Commercelayer": { "cats": [ @@ -3283,7 +3307,9 @@ ], "saas": true, "website": "https://commercelayer.io", - "xhr": "\\.commercelayer\\.io" + "xhr": [ + "\\.commercelayer\\.io" + ] }, "Community Funded": { "cats": [ @@ -3662,7 +3688,9 @@ ], "saas": true, "website": "https://www.contentful.com", - "xhr": "(?:cdn|graphql)\\.contentful\\.com" + "xhr": [ + "(?:cdn|graphql)\\.contentful\\.com" + ] }, "Contently": { "cats": [ @@ -4215,7 +4243,9 @@ "recurring" ], "saas": true, - "scripts": "webpackJsonp@coreui/coreui", + "scripts": [ + "webpackJsonp@coreui/coreui" + ], "website": "https://coreui.io" }, "Corebine": { @@ -4772,7 +4802,9 @@ "scriptSrc": [ "js/crownpeak\\." ], - "scripts": "crownpeak\\.net", + "scripts": [ + "crownpeak\\.net" + ], "website": "https://www.crownpeak.com" }, "Cryout Creations Bravada": { @@ -5254,7 +5286,9 @@ ], "saas": true, "website": "https://commercetools.com", - "xhr": "\\.commercetools\\.com/" + "xhr": [ + "\\.commercetools\\.com/" + ] }, "core-js": { "cats": [ diff --git a/src/technologies/d.json b/src/technologies/d.json index da95bbb0..66f0b7f6 100644 --- a/src/technologies/d.json +++ b/src/technologies/d.json @@ -554,7 +554,9 @@ "cdn\\.dealerspike\\.com" ], "website": "https://www.dealerspike.com", - "xhr": "\\.dealerspike\\.com" + "xhr": [ + "\\.dealerspike\\.com" + ] }, "Debian": { "cats": [ @@ -764,7 +766,9 @@ "Server": "^Deta$" }, "icon": "deta.svg", - "url": "^https?://[^/]+\\.deta\\.(?:app|dev)", + "url": [ + "^https?://[^/]+\\.deta\\.(?:app|dev)" + ], "website": "https://deta.sh" }, "Detectify": { @@ -1112,7 +1116,9 @@ "icon": "District M.svg", "saas": true, "website": "https://districtm.net", - "xhr": "\\.districtm\\.io" + "xhr": [ + "\\.districtm\\.io" + ] }, "Dito": { "cats": [ @@ -1288,7 +1294,9 @@ ], "saas": true, "website": "https://www.docusign.com", - "xhr": "docusign\\.net" + "xhr": [ + "docusign\\.net" + ] }, "Docusaurus": { "cats": [ @@ -1791,7 +1799,9 @@ "implies": [ "Apache HTTP Server" ], - "url": "^.*(?:\\.dgn)$", + "url": [ + "^.*(?:\\.dgn)$" + ], "website": "https://dragon-lang.org" }, "Drapr": { @@ -2068,7 +2078,9 @@ "scriptSrc": [ "drupal\\.js" ], - "scripts": "drupal_internal__nid", + "scripts": [ + "drupal_internal__nid" + ], "website": "https://www.drupal.org/" }, "Drupal Commerce": { @@ -2338,7 +2350,9 @@ ], "saas": true, "website": "https://dyte.io", - "xhr": "cdn\\.dyte\\.in/" + "xhr": [ + "cdn\\.dyte\\.in/" + ] }, "daisyUI": { "cats": [ @@ -2377,7 +2391,9 @@ "cdn\\.db-ip\\.com" ], "website": "https://db-ip.com/", - "xhr": "api\\.db-ip\\.com" + "xhr": [ + "api\\.db-ip\\.com" + ] }, "dc.js": { "cats": [ diff --git a/src/technologies/e.json b/src/technologies/e.json index 1e9b0b0c..b938ab08 100644 --- a/src/technologies/e.json +++ b/src/technologies/e.json @@ -209,7 +209,9 @@ "\\.playbuzz\\.com" ], "website": "https://ex.co", - "xhr": "prd-collector-anon\\.ex\\.co" + "xhr": [ + "prd-collector-anon\\.ex\\.co" + ] }, "EZproxy": { "cats": [ @@ -272,7 +274,9 @@ ], "saas": true, "website": "https://www.easy-orders.net", - "xhr": "api\\.easy-orders\\.net/" + "xhr": [ + "api\\.easy-orders\\.net/" + ] }, "Easy Pie Chart": { "cats": [ @@ -484,7 +488,9 @@ "Server": "^ECD\\s\\(\\S+\\)" }, "icon": "EdgeCast.png", - "url": "https?://(?:[^/]+\\.)?edgecastcdn\\.net/", + "url": [ + "https?://(?:[^/]+\\.)?edgecastcdn\\.net/" + ], "website": "https://www.edgecast.com" }, "Edgio": { @@ -1238,7 +1244,9 @@ "Ember.VERSION": "^(.+)$\\;version:\\1", "EmberENV": "" }, - "scripts": "@overview\\s+Ember -[\\s\\S]+@version\\s+(.+)\\;version:\\1", + "scripts": [ + "@overview\\s+Ember -[\\s\\S]+@version\\s+(.+)\\;version:\\1" + ], "website": "https://emberjs.com" }, "Emotion": { @@ -1594,7 +1602,9 @@ "js": { "epomCustomParams": "" }, - "url": "^https?://(?:[^/]+\\.)?ad(?:op)?shost1\\.com/", + "url": [ + "^https?://(?:[^/]+\\.)?ad(?:op)?shost1\\.com/" + ], "website": "https://epom.com" }, "EqualWeb": { diff --git a/src/technologies/f.json b/src/technologies/f.json index e14fee72..872e62e8 100644 --- a/src/technologies/f.json +++ b/src/technologies/f.json @@ -60,7 +60,9 @@ "Microsoft SharePoint", "Microsoft ASP.NET" ], - "url": "Pages/SearchResults\\.aspx\\?k=", + "url": [ + "Pages/SearchResults\\.aspx\\?k=" + ], "website": "https://sharepoint.microsoft.com/en-us/product/capabilities/search/Pages/Fast-Search.aspx" }, "FUDforum": { @@ -191,7 +193,9 @@ "scriptSrc": [ "Suggest\\.ff" ], - "url": "(?:/ViewParametricSearch|ffsuggest\\.[a-z]htm)", + "url": [ + "(?:/ViewParametricSearch|ffsuggest\\.[a-z]htm)" + ], "website": "https://fact-finder.com" }, "FalguniThemes Nisarg": { @@ -419,7 +423,9 @@ "payg" ], "website": "https://www.fastly.com", - "xhr": "\\.fastly\\.net" + "xhr": [ + "\\.fastly\\.net" + ] }, "Fastspring": { "cats": [ @@ -888,7 +894,9 @@ "\\.firstimpression\\.io" ], "website": "https://www.firstimpression.io", - "xhr": "\\.firstimpression\\.io" + "xhr": [ + "\\.firstimpression\\.io" + ] }, "FirstPromoter": { "cats": [ @@ -2292,9 +2300,13 @@ "poa" ], "saas": true, - "scripts": "x-frc-client\",\"js-(\\d+(\\.\\d+)+)\\;version:\\1", + "scripts": [ + "x-frc-client\",\"js-(\\d+(\\.\\d+)+)\\;version:\\1" + ], "website": "https://friendlycaptcha.com", - "xhr": "api.friendlycaptcha.com" + "xhr": [ + "api.friendlycaptcha.com" + ] }, "Frizbit": { "cats": [ @@ -2520,7 +2532,9 @@ "description": "FunCaptcha is a type of CAPTCHA, which is a security measure used to protect websites and online services from spam, bots, and other forms of automated abuse.", "icon": "fun_captcha.svg", "website": "https://www.arkoselabs.com/arkose-matchkey/", - "xhr": "api\\.funcaptcha\\.com" + "xhr": [ + "api\\.funcaptcha\\.com" + ] }, "Fundiin": { "cats": [ diff --git a/src/technologies/g.json b/src/technologies/g.json index 53fb9cb8..b7c36f33 100644 --- a/src/technologies/g.json +++ b/src/technologies/g.json @@ -753,7 +753,9 @@ ], "saas": true, "website": "https://getintent.com", - "xhr": "\\.adhigh\\.net" + "xhr": [ + "\\.adhigh\\.net" + ] }, "Getsitecontrol": { "cats": [ @@ -801,7 +803,9 @@ "recurring", "freemium" ], - "url": "\\.gigalixirapp\\.com", + "url": [ + "\\.gigalixirapp\\.com" + ], "website": "https://gigalixir.com/" }, "Gist": { @@ -860,7 +864,9 @@ "recurring" ], "saas": true, - "url": "^https?://[^/]+\\.gitbook\\.com/", + "url": [ + "^https?://[^/]+\\.gitbook\\.com/" + ], "website": "https://www.gitbook.com" }, "GitHub Pages": { @@ -873,7 +879,9 @@ "X-GitHub-Request-Id": "" }, "icon": "GitHub.svg", - "url": "^https?://[^/]+\\.github\\.io", + "url": [ + "^https?://[^/]+\\.github\\.io" + ], "website": "https://pages.github.com/" }, "GitLab": { @@ -1127,7 +1135,9 @@ "low", "recurring" ], - "url": "https://[^.]+\\.glitch\\.me", + "url": [ + "https://[^.]+\\.glitch\\.me" + ], "website": "https://glitch.com" }, "Global-e": { @@ -1472,7 +1482,9 @@ ], "description": "GoDaddy is used as a web host and domain registrar.", "icon": "GoDaddy.svg", - "scripts": "wsimg\\.com/parking-lander", + "scripts": [ + "wsimg\\.com/parking-lander" + ], "website": "https://www.godaddy.com" }, "GoDaddy Escapade": { @@ -1781,7 +1793,9 @@ "scriptSrc": [ "\\.googleadservices\\.com/pagead/conversion_async\\.js" ], - "scripts": "gtag\\([^)]+'(AW-)", + "scripts": [ + "gtag\\([^)]+'(AW-)" + ], "website": "https://support.google.com/google-ads/answer/1722022" }, "Google Analytics": { @@ -2009,7 +2023,9 @@ 1 ], "icon": "Google.svg", - "url": "https?://[^.]+\\.business\\.site", + "url": [ + "https?://[^.]+\\.business\\.site" + ], "website": "https://www.google.com/business/website-builder" }, "Google Optimize": { @@ -2087,7 +2103,9 @@ ], "dom": "[data-abuse-proto*='https://sites.google.com/']", "icon": "Google Sites.png", - "url": "^https?://sites\\.google\\.com", + "url": [ + "^https?://sites\\.google\\.com" + ], "website": "https://sites.google.com" }, "Google Tag Manager": { @@ -2281,7 +2299,9 @@ "scriptSrc": [ "grafana\\..+\\.com/public/build/" ], - "scripts": ".+latestVersion\":\"[\\d\\.\\w\\-]+\"\\,\"version\":\"([\\d\\.]+)\\;version:\\1\\;confidence:75", + "scripts": [ + ".+latestVersion\":\"[\\d\\.\\w\\-]+\"\\,\"version\":\"([\\d\\.]+)\\;version:\\1\\;confidence:75" + ], "website": "https://grafana.com" }, "Graffiti CMS": { @@ -2374,7 +2394,9 @@ "freemium" ], "website": "https://graphcms.com", - "xhr": "\\.graphcms\\.com" + "xhr": [ + "\\.graphcms\\.com" + ] }, "GraphQL": { "cats": [ @@ -2388,7 +2410,9 @@ }, "oss": true, "website": "https://graphql.org", - "xhr": "graphql\\.[\\w]+\\.(?:com|net)/" + "xhr": [ + "graphql\\.[\\w]+\\.(?:com|net)/" + ] }, "Graphene": { "cats": [ @@ -2705,7 +2729,9 @@ ], "saas": true, "website": "https://gumgum.com", - "xhr": "\\.gumgum\\.com" + "xhr": [ + "\\.gumgum\\.com" + ] }, "Gumlet": { "cats": [ diff --git a/src/technologies/h.json b/src/technologies/h.json index 694efc0f..51ec991f 100644 --- a/src/technologies/h.json +++ b/src/technologies/h.json @@ -32,8 +32,12 @@ "poa" ], "saas": true, - "scripts": "/webapp/wcs/", - "url": "/wcs/", + "scripts": [ + "/webapp/wcs/" + ], + "url": [ + "/wcs/" + ], "website": "https://www.hcltechsw.com/commerce" }, "HCL Digital Experience": { @@ -57,7 +61,9 @@ "high", "poa" ], - "url": "/wps/wcm/", + "url": [ + "/wps/wcm/" + ], "website": "https://www.hcltechsw.com/dx" }, "HCL Domino": { @@ -124,7 +130,9 @@ "headers": { "Strict-Transport-Security": "" }, - "url": "^https://[\\w\\d\\.\\-]+(?:\\.dev)(?:/.+||/)$", + "url": [ + "^https://[\\w\\d\\.\\-]+(?:\\.dev)(?:/.+||/)$" + ], "website": "https://www.rfc-editor.org/rfc/rfc6797#section-6.1" }, "HTML5 Media": { @@ -431,7 +439,9 @@ "scriptSrc": [ "hashnode\\.com" ], - "url": "^https?://[^/]+\\.(?:hashnode)\\.dev", + "url": [ + "^https?://[^/]+\\.(?:hashnode)\\.dev" + ], "website": "https://hashnode.com/" }, "Hashtag Labs": { @@ -817,7 +827,9 @@ "Via": "[\\d.-]+ vegur$" }, "icon": "heroku.svg", - "url": "\\.herokuapp\\.com", + "url": [ + "\\.herokuapp\\.com" + ], "website": "https://www.heroku.com/" }, "Hestia": { @@ -1098,7 +1110,9 @@ "recurring" ], "saas": true, - "url": "sites\\.hireology\\.com/", + "url": [ + "sites\\.hireology\\.com/" + ], "website": "https://hireology.com" }, "Hirschmann HiOS": { diff --git a/src/technologies/i.json b/src/technologies/i.json index e277adf0..5229e239 100644 --- a/src/technologies/i.json +++ b/src/technologies/i.json @@ -51,7 +51,9 @@ "^https://(?:cdn\\.)?id5-sync\\.com/" ], "website": "https://id5.io/", - "xhr": ".*id5-sync\\.com" + "xhr": [ + ".*id5-sync\\.com" + ] }, "IIS": { "cats": [ @@ -166,7 +168,9 @@ "icon": "IPInfoDB.png", "saas": true, "website": "https://www.ipinfodb.com/", - "xhr": "api\\.ipinfodb\\.com" + "xhr": [ + "api\\.ipinfodb\\.com" + ] }, "IPinfo": { "cats": [ @@ -183,7 +187,9 @@ "ipinfo\\.io/" ], "website": "https://ipinfo.io", - "xhr": "ipinfo\\.io/" + "xhr": [ + "ipinfo\\.io/" + ] }, "ISAY": { "cats": [ @@ -625,7 +631,9 @@ "description": "Index Exchange is a customizable exchange technology that enables sell side media firms to monetize ad inventories programmatically and in real time.", "icon": "Index Exchange.svg", "website": "https://www.indexexchange.com", - "xhr": "\\.casalemedia\\.com" + "xhr": [ + "\\.casalemedia\\.com" + ] }, "Indexhibit": { "cats": [ @@ -1722,7 +1730,9 @@ ], "saas": true, "website": "https://ip-api.com/", - "xhr": "ip-api\\.com" + "xhr": [ + "ip-api\\.com" + ] }, "ip-label": { "cats": [ @@ -1750,7 +1760,9 @@ ], "saas": true, "website": "https://ipapi.com", - "xhr": "api\\.ipapi\\.com" + "xhr": [ + "api\\.ipapi\\.com" + ] }, "ipapi.co": { "cats": [ @@ -1765,7 +1777,9 @@ ], "saas": true, "website": "https://ipapi.co", - "xhr": "ipapi\\.co/" + "xhr": [ + "ipapi\\.co/" + ] }, "ipbase": { "cats": [ @@ -1780,7 +1794,9 @@ ], "saas": true, "website": "https://ipbase.com", - "xhr": "api\\.ipbase\\.com" + "xhr": [ + "api\\.ipbase\\.com" + ] }, "ipdata": { "cats": [ @@ -1795,7 +1811,9 @@ ], "saas": true, "website": "https://ipdata.co/", - "xhr": "api\\.ipdata\\.co" + "xhr": [ + "api\\.ipdata\\.co" + ] }, "ipgeolocation": { "cats": [ @@ -1810,7 +1828,9 @@ ], "saas": true, "website": "https://ipgeolocation.co/", - "xhr": "api\\.ipgeolocation\\.io" + "xhr": [ + "api\\.ipgeolocation\\.io" + ] }, "ipify": { "cats": [ @@ -1829,7 +1849,9 @@ "\\.ipify\\.org" ], "website": "https://ipify.org", - "xhr": "(?:api|api64|geo)\\.ipify\\.org" + "xhr": [ + "(?:api|api64|geo)\\.ipify\\.org" + ] }, "ipstack": { "cats": [ @@ -1846,7 +1868,9 @@ ], "saas": true, "website": "https://ipstack.com", - "xhr": "api\\.ipstack\\.com" + "xhr": [ + "api\\.ipstack\\.com" + ] }, "iubenda": { "cats": [ diff --git a/src/technologies/j.json b/src/technologies/j.json index 3cd741c2..53bb8829 100644 --- a/src/technologies/j.json +++ b/src/technologies/j.json @@ -200,7 +200,9 @@ "\\.jwpcdn\\.com" ], "website": "https://www.jwplayer.com", - "xhr": "\\.jwpsrv\\.com" + "xhr": [ + "\\.jwpsrv\\.com" + ] }, "Jahia DX": { "cats": [ @@ -479,7 +481,9 @@ "recurring" ], "saas": true, - "url": "\\.jimdo(?:site)?\\.com/", + "url": [ + "\\.jimdo(?:site)?\\.com/" + ], "website": "https://www.jimdo.com" }, "Jirafe": { @@ -659,7 +663,9 @@ "generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1" }, "oss": true, - "url": "option=com_", + "url": [ + "option=com_" + ], "website": "https://www.joomla.org/" }, "JouwWeb": { @@ -830,7 +836,9 @@ "static\\.june\\.so/analytics\\.js/" ], "website": "https://june.so", - "xhr": "a\\.june\\.so" + "xhr": [ + "a\\.june\\.so" + ] }, "Junip": { "cats": [ @@ -973,7 +981,9 @@ "scriptSrc": [ "/jquery\\.jplayer\\.min\\.js" ], - "scripts": "jquery\\.jplayer\\.min\\.js", + "scripts": [ + "jquery\\.jplayer\\.min\\.js" + ], "website": "https://jplayer.org" }, "jQTouch": { @@ -1174,6 +1184,8 @@ "cdn\\.jsdelivr\\.net" ], "website": "https://www.jsdelivr.com/", - "xhr": "cdn\\.jsdelivr\\.net" + "xhr": [ + "cdn\\.jsdelivr\\.net" + ] } } \ No newline at end of file diff --git a/src/technologies/k.json b/src/technologies/k.json index 851d193f..6846978b 100644 --- a/src/technologies/k.json +++ b/src/technologies/k.json @@ -275,7 +275,9 @@ "scriptSrc": [ "api\\.kaltura\\.(?:nordu\\.net|com)/" ], - "scripts": "kalturaPlayer", + "scripts": [ + "kalturaPlayer" + ], "website": "https://corp.kaltura.com" }, "Kameleoon": { @@ -454,7 +456,9 @@ "\\.infusionsoft\\.com/" ], "website": "https://keap.com", - "xhr": "property\\.infusionsoft\\.com" + "xhr": [ + "property\\.infusionsoft\\.com" + ] }, "Keen Delivery": { "cats": [ @@ -665,7 +669,9 @@ "Node.js", "Elasticsearch" ], - "url": "kibana#/dashboard/", + "url": [ + "kibana#/dashboard/" + ], "website": "https://www.elastic.co/products/kibana" }, "Kibo Commerce": { @@ -733,7 +739,9 @@ "recurring" ], "saas": true, - "url": "/modules/kiliba/logo\\.png", + "url": [ + "/modules/kiliba/logo\\.png" + ], "website": "https://en.kiliba.com" }, "Kindful": { @@ -1061,7 +1069,9 @@ "cdn\\.getkoala\\.com/" ], "website": "https://getkoala.com/", - "xhr": "api\\.getkoala\\.com" + "xhr": [ + "api\\.getkoala\\.com" + ] }, "Koala Framework": { "cats": [ diff --git a/src/technologies/l.json b/src/technologies/l.json index 72683381..29cd896f 100644 --- a/src/technologies/l.json +++ b/src/technologies/l.json @@ -56,7 +56,9 @@ "\\.lkqd\\.net" ], "website": "https://wiki.lkqd.com", - "xhr": "\\.lkqd\\.net" + "xhr": [ + "\\.lkqd\\.net" + ] }, "LOU": { "cats": [ @@ -668,7 +670,9 @@ "__LEPTOS_RESOURCE_RESOLVERS": "" }, "oss": true, - "scripts": "export function microtask\\(f\\)\\;confidence:75", + "scripts": [ + "export function microtask\\(f\\)\\;confidence:75" + ], "website": "https://leptos.dev" }, "Less": { @@ -928,7 +932,9 @@ "scriptSrc": [ "http://assets\\.webshopapp\\.com" ], - "url": "seoshop.webshopapp.com", + "url": [ + "seoshop.webshopapp.com" + ], "website": "https://www.lightspeedhq.com/products/ecommerce/" }, "LimeChat": { @@ -1078,7 +1084,9 @@ "snap\\.licdn\\.com/li\\.lms-analytics/insight\\.min\\.js", "cdn\\.oribi\\.io" ], - "scripts": "_linkedin_partner_id", + "scripts": [ + "_linkedin_partner_id" + ], "website": "https://business.linkedin.com/marketing-solutions/insight-tag" }, "Linkedin Sign-in": { @@ -1357,7 +1365,9 @@ "\\.liadm\\.com" ], "website": "https://www.liveintent.com", - "xhr": "\\.liadm\\.com" + "xhr": [ + "\\.liadm\\.com" + ] }, "LiveJournal": { "cats": [ @@ -1365,7 +1375,9 @@ ], "description": "LiveJournal is a social networking service where users can keep a blog, journal or diary.", "icon": "LiveJournal.png", - "url": "\\.livejournal\\.com", + "url": [ + "\\.livejournal\\.com" + ], "website": "https://www.livejournal.com" }, "LivePerson": { @@ -1628,7 +1640,9 @@ ], "saas": true, "website": "https://www.localised.com", - "xhr": "api\\.localised\\.com" + "xhr": [ + "api\\.localised\\.com" + ] }, "Locksmith": { "cats": [ @@ -2064,7 +2078,9 @@ "lozad": "" }, "oss": true, - "scripts": "/lozad\\.min\\.js", + "scripts": [ + "/lozad\\.min\\.js" + ], "website": "https://apoorv.pro/lozad.js/" }, "Lua": { diff --git a/src/technologies/m.json b/src/technologies/m.json index 3994f671..6cb2f9dd 100644 --- a/src/technologies/m.json +++ b/src/technologies/m.json @@ -544,7 +544,9 @@ "cdn-images\\.mailchimp\\.com/[^>]*\\.css", "chimpstatic\\.com/mcjs-connected" ], - "url": "^https?://(?:www\\.)?mailchi\\.mp", + "url": [ + "^https?://(?:www\\.)?mailchi\\.mp" + ], "website": "https://mailchimp.com" }, "MailChimp for WooCommerce": { @@ -977,7 +979,9 @@ "scriptSrc": [ "api\\.mapbox\\.com/mapbox\\.js/v([\\d\\.]+)/\\;version:\\1" ], - "scripts": "api\\.mapbox\\.com/mapbox\\.js/v([\\d\\.]+)/\\;version:\\1", + "scripts": [ + "api\\.mapbox\\.com/mapbox\\.js/v([\\d\\.]+)/\\;version:\\1" + ], "website": "https://github.com/mapbox/mapbox.js" }, "Mapp": { @@ -1212,7 +1216,9 @@ "markoVars": "" }, "oss": true, - "scripts": "\\.marko(\\.js)?", + "scripts": [ + "\\.marko(\\.js)?" + ], "website": "https://markojs.com" }, "Master Slider": { @@ -1504,7 +1510,9 @@ "geoip-js\\.com/.+/v([\\d\\.]+)/\\;version:\\1" ], "website": "https://www.maxmind.com", - "xhr": "\\.maxmind\\.com" + "xhr": [ + "\\.maxmind\\.com" + ] }, "MaxSite CMS": { "cats": [ @@ -1665,7 +1673,9 @@ "scriptSrc": [ "medium\\.com" ], - "url": "^https?://(?:www\\.)?medium\\.com", + "url": [ + "^https?://(?:www\\.)?medium\\.com" + ], "website": "https://medium.com" }, "Meebo": { @@ -1812,7 +1822,9 @@ "scriptSrc": [ "memberstack\\.js" ], - "url": "^https?//.+\\.memberstack\\.io", + "url": [ + "^https?//.+\\.memberstack\\.io" + ], "website": "https://www.memberstack.io" }, "Mention Me": { @@ -2095,7 +2107,9 @@ "]+name=\"__VIEWSTATE" ], "icon": "Microsoft ASP.NET.svg", - "url": "\\.aspx?(?:$|\\?)", + "url": [ + "\\.aspx?(?:$|\\?)" + ], "website": "https://www.asp.net" }, "Microsoft Advertising": { @@ -2571,7 +2585,9 @@ ], "saas": true, "website": "https://miso.ai", - "xhr": "\\.askmiso\\.com/" + "xhr": [ + "\\.askmiso\\.com/" + ] }, "Misskey": { "cats": [ @@ -3391,7 +3407,9 @@ "meta": { "author": "Mozard" }, - "url": "/mozard/!suite", + "url": [ + "/mozard/!suite" + ], "website": "https://mozard.nl" }, "Mulberry": { @@ -3548,7 +3566,9 @@ "onetime" ], "website": "https://www.myfonts.com", - "xhr": "\\.myfonts\\.net/" + "xhr": [ + "\\.myfonts\\.net/" + ] }, "MyLiveChat": { "cats": [ @@ -3801,7 +3821,9 @@ "description": "mdBook is a utility to create modern online books from Markdown files.", "icon": "mdBook.svg", "oss": true, - "scripts": "localStorage\\.getItem\\('mdbook-(?:sidebar|theme)'\\)", + "scripts": [ + "localStorage\\.getItem\\('mdbook-(?:sidebar|theme)'\\)" + ], "website": "https://github.com/rust-lang/mdBook" }, "metisMenu": { @@ -3837,7 +3859,9 @@ ], "saas": true, "website": "https://microcms.io", - "xhr": "\\.microcms\\.io" + "xhr": [ + "\\.microcms\\.io" + ] }, "mini_httpd": { "cats": [ diff --git a/src/technologies/n.json b/src/technologies/n.json index 037f4548..c9024eeb 100644 --- a/src/technologies/n.json +++ b/src/technologies/n.json @@ -23,7 +23,9 @@ "powered": "jet-neo" }, "icon": "Plataforma NEO.svg", - "url": "\\.plataformaneo\\.com", + "url": [ + "\\.plataformaneo\\.com" + ], "website": "https://www.jetecommerce.com.br" }, "NSW Design System": { @@ -92,7 +94,9 @@ ], "saas": true, "website": "https://nacelle.com", - "xhr": "storefront\\.api\\.nacelle\\.com" + "xhr": [ + "storefront\\.api\\.nacelle\\.com" + ] }, "NagaCommerce": { "cats": [ @@ -391,7 +395,9 @@ "implies": [ "Neos Flow" ], - "url": "/neos/", + "url": [ + "/neos/" + ], "website": "https://neos.io" }, "Neos Flow": { @@ -496,9 +502,13 @@ "recurring", "poa" ], - "url": "^https?://[^/]+\\.netlify\\.(?:com|app)/", + "url": [ + "^https?://[^/]+\\.netlify\\.(?:com|app)/" + ], "website": "https://www.netlify.com/", - "xhr": "cdn\\.netlify\\.com" + "xhr": [ + "cdn\\.netlify\\.com" + ] }, "Netlify Forms": { "cats": [ diff --git a/src/technologies/o.json b/src/technologies/o.json index 28068916..a9c036bc 100644 --- a/src/technologies/o.json +++ b/src/technologies/o.json @@ -1381,7 +1381,9 @@ "requires": [ "Drupal" ], - "scripts": "opigno_(?:commerce|wtp_app|scorm|learning_path)", + "scripts": [ + "opigno_(?:commerce|wtp_app|scorm|learning_path)" + ], "website": "https://www.opigno.org" }, "OpinionLab": { @@ -1879,7 +1881,9 @@ "recurring" ], "saas": true, - "url": "\\.(?:eu|us1)\\.ordercast\\.io/", + "url": [ + "\\.(?:eu|us1)\\.ordercast\\.io/" + ], "website": "https://www.ordercast.io" }, "OrderLogic app": { @@ -2099,7 +2103,9 @@ "js": { "IsOwaPremiumBrowser": "" }, - "url": "/owa/auth/log(?:on|off)\\.aspx", + "url": [ + "/owa/auth/log(?:on|off)\\.aspx" + ], "website": "https://help.outlook.com" }, "Oxatis": { diff --git a/src/technologies/p.json b/src/technologies/p.json index ff2c0ce8..5b4ee6de 100644 --- a/src/technologies/p.json +++ b/src/technologies/p.json @@ -32,7 +32,9 @@ "pdfjsDistBuildPdf.version": "^(.+)$\\;version:\\1", "pdfjsLib.version": "^(.+)$\\;version:\\1" }, - "url": "/web/viewer\\.html?file=[^&]\\.pdf", + "url": [ + "/web/viewer\\.html?file=[^&]\\.pdf" + ], "website": "https://mozilla.github.io/pdf.js/" }, "PHP": { @@ -49,7 +51,9 @@ "X-Powered-By": "^php/?([\\d.]+)?\\;version:\\1" }, "icon": "PHP.svg", - "url": "\\.php(?:$|\\?)", + "url": [ + "\\.php(?:$|\\?)" + ], "website": "https://php.net" }, "PHP-Nuke": { @@ -118,7 +122,9 @@ "scriptSrc": [ "pixi(?:\\.min|-legacy)?\\.js$" ], - "url": ".+\\.pixijs\\.com", + "url": [ + ".+\\.pixijs\\.com" + ], "website": "https://www.pixijs.com" }, "POLi Payment": { @@ -196,7 +202,9 @@ "fetchRootComponent": "\\;confidence:50" }, "oss": true, - "scripts": "RootCmp_CMS_PAGE", + "scripts": [ + "RootCmp_CMS_PAGE" + ], "website": "https://developer.adobe.com/commerce/pwa-studio/" }, "Pace": { @@ -571,7 +579,9 @@ "js": { "pcrewAdloaded": "" }, - "scripts": "var\\slink\\s=\\s'www\\.parkingcrew\\.net'", + "scripts": [ + "var\\slink\\s=\\s'www\\.parkingcrew\\.net'" + ], "website": "https://www.parkingcrew.com" }, "Parmin Cloud": { @@ -893,7 +903,9 @@ "paypalobjects\\.com" ], "website": "https://paypal.com", - "xhr": "\\.paypal\\.com" + "xhr": [ + "\\.paypal\\.com" + ] }, "PayPal Credit": { "cats": [ @@ -1375,7 +1387,9 @@ "cdn\\.permutive\\.com" ], "website": "https://permutive.com", - "xhr": "api\\.permutive\\.com" + "xhr": [ + "api\\.permutive\\.com" + ] }, "PersonaClick": { "cats": [ @@ -1635,7 +1649,9 @@ "scriptSrc": [ "\\.psecn\\.photoshelter\\.com/" ], - "url": "photoshelter\\.com", + "url": [ + "photoshelter\\.com" + ], "website": "https://www.photoshelter.com" }, "PhotoShelter for Brands": { @@ -1962,7 +1978,9 @@ "description": "Pinterest Ads is an online advertising platform developed by Pinterest.", "icon": "Pinterest.svg", "website": "https://ads.pinterest.com/", - "xhr": "ct\\.pinterest\\.com" + "xhr": [ + "ct\\.pinterest\\.com" + ] }, "Pinterest Conversion Tag": { "cats": [ @@ -2678,7 +2696,9 @@ "mid" ], "website": "https://get.popmenu.com", - "xhr": "popmenu\\.com" + "xhr": [ + "popmenu\\.com" + ] }, "Popper": { "cats": [ @@ -3313,7 +3333,9 @@ "\\.sekindo\\.com" ], "website": "https://www.primis.tech", - "xhr": "\\.sekindo\\.com" + "xhr": [ + "\\.sekindo\\.com" + ] }, "Printful": { "cats": [ @@ -3373,7 +3395,9 @@ "\\.prismic\\.io/" ], "website": "https://prismic.io", - "xhr": "\\.cdn\\.prismic\\.io" + "xhr": [ + "\\.cdn\\.prismic\\.io" + ] }, "Privy": { "cats": [ @@ -3839,7 +3863,9 @@ "https?://[^/]*\\.pubmatic\\.com" ], "website": "https://www.pubmatic.com/", - "xhr": "\\.pubmatic\\.com" + "xhr": [ + "\\.pubmatic\\.com" + ] }, "PubSubJS": { "cats": [ @@ -3893,7 +3919,9 @@ "cpe": "cpe:2.3:a:pulsesecure:pulse_connect_secure:*:*:*:*:*:*:*:*", "description": "Pulse Secure allows to deploy VPNs to securely to your internal resources.", "icon": "PulseSecure.png", - "url": "/dana-na/auth/", + "url": [ + "/dana-na/auth/" + ], "website": "https://www.pulsesecure.net/products/remote-access-overview/" }, "Pure CSS": { @@ -4253,7 +4281,9 @@ "scriptSrc": [ "/petite-vue" ], - "scripts": "/petite-vue@([\\d\\.]+)/\\;version:\\1", + "scripts": [ + "/petite-vue@([\\d\\.]+)/\\;version:\\1" + ], "website": "https://github.com/vuejs/petite-vue" }, "phpAlbum": { diff --git a/src/technologies/q.json b/src/technologies/q.json index d6fbddfd..708d615b 100644 --- a/src/technologies/q.json +++ b/src/technologies/q.json @@ -489,7 +489,9 @@ }, "icon": "qiankun.svg", "oss": true, - "scripts": "__POWERED_BY_QIANKUN__", + "scripts": [ + "__POWERED_BY_QIANKUN__" + ], "website": "https://qiankun.umijs.org" } } \ No newline at end of file diff --git a/src/technologies/r.json b/src/technologies/r.json index e308df53..beef9010 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -74,7 +74,9 @@ "redaxo": "\\;confidence:50" }, "oss": true, - "url": "^https?://(?:www\\.)?[\\d\\w\\-]+\\.[\\w]+/redaxo/\\;confidence:50", + "url": [ + "^https?://(?:www\\.)?[\\d\\w\\-]+\\.[\\w]+/redaxo/\\;confidence:50" + ], "website": "https://redaxo.org" }, "REG.RU": { @@ -138,7 +140,9 @@ ], "saas": true, "website": "https://www.rtbhouse.com", - "xhr": "\\.creativecdn\\.com" + "xhr": [ + "\\.creativecdn\\.com" + ] }, "RX Web Server": { "cats": [ @@ -725,7 +729,9 @@ "recurring" ], "saas": true, - "url": "^https?//.+\\.reactiveonline\\.io", + "url": [ + "^https?//.+\\.reactiveonline\\.io" + ], "website": "https://reactiveonline.io" }, "ReadAloud": { @@ -736,7 +742,9 @@ "dom": "div#ra-player, div[data-skin*='assets\\.sitespeaker\\.link/embed/skins']", "icon": "default.svg", "website": "https://www.readaloudwidget.com", - "xhr": "assets\\.sitespeaker\\.link" + "xhr": [ + "assets\\.sitespeaker\\.link" + ] }, "ReadMe": { "cats": [ @@ -1030,7 +1038,9 @@ "requires": [ "Shopify" ], - "scripts": "\"(?:vendor|title)?\"\\:\"Recurate\"", + "scripts": [ + "\"(?:vendor|title)?\"\\:\"Recurate\"" + ], "website": "https://www.recurate.com" }, "Recurly": { @@ -1140,7 +1150,9 @@ "js": { "reddit": "" }, - "url": "^https?://(?:www\\.)?reddit\\.com", + "url": [ + "^https?://(?:www\\.)?reddit\\.com" + ], "website": "https://code.reddit.com" }, "Reddit Ads": { @@ -1843,7 +1855,9 @@ "scriptSrc": [ "retool(?:-edge)?(?:\\.com)?(?:\\/embed)?\\/?(?:runtime)?~?(?:app)?(?:custom-components)?(?:\\.\\w{0,20})?\\.js" ], - "url": "^https://retool\\.[\\d\\w\\-]+\\.(?:com|io)/", + "url": [ + "^https://retool\\.[\\d\\w\\-]+\\.(?:com|io)/" + ], "website": "https://retool.com" }, "Return Prime": { @@ -2659,7 +2673,9 @@ "https?://[^/]*\\.rubiconproject\\.com" ], "website": "https://rubiconproject.com/", - "xhr": "\\.rubiconproject\\.com" + "xhr": [ + "\\.rubiconproject\\.com" + ] }, "Ruby": { "cats": [ @@ -2817,7 +2833,9 @@ "recaptcha_ajax\\.js", "/recaptcha/(?:api|enterprise)\\.js" ], - "scripts": "/recaptcha/api\\.js", + "scripts": [ + "/recaptcha/api\\.js" + ], "website": "https://www.google.com/recaptcha/" } } \ No newline at end of file diff --git a/src/technologies/s.json b/src/technologies/s.json index 41f358e3..04badbda 100644 --- a/src/technologies/s.json +++ b/src/technologies/s.json @@ -308,7 +308,9 @@ "scriptSrc": [ "embed\\.sendtonews\\.com/" ], - "scripts": "embed\\.sendtonews\\.com/", + "scripts": [ + "embed\\.sendtonews\\.com/" + ], "website": "https://www.stnvideo.com" }, "STUDIO": { @@ -973,7 +975,9 @@ ], "saas": true, "website": "https://www.sanity.io", - "xhr": "api(?:cdn)?\\.sanity\\.io" + "xhr": [ + "api(?:cdn)?\\.sanity\\.io" + ] }, "Sapper": { "cats": [ @@ -2319,7 +2323,9 @@ "sheerid": "" }, "saas": true, - "scripts": "\"sheerIdEndpoint\":", + "scripts": [ + "\"sheerIdEndpoint\":" + ], "website": "https://www.sheerid.com/" }, "Shelf": { @@ -2431,7 +2437,9 @@ "recurring" ], "saas": true, - "url": "track\\.shipstation\\.com", + "url": [ + "track\\.shipstation\\.com" + ], "website": "https://www.shipstation.com" }, "ShipTection": { @@ -2820,10 +2828,16 @@ "sdks\\.shopifycdn\\.com", "cdn\\.shopify\\.com" ], - "scripts": "shopifyTag", - "url": "^https?//.+\\.myshopify\\.com", + "scripts": [ + "shopifyTag" + ], + "url": [ + "^https?//.+\\.myshopify\\.com" + ], "website": "https://shopify.com", - "xhr": "\\.myshopify\\.com" + "xhr": [ + "\\.myshopify\\.com" + ] }, "Shopify Buy Button": { "cats": [ @@ -3684,7 +3698,9 @@ "scriptSrc": [ "template\\.sirclocdn\\.com/" ], - "url": "^https?//.+\\.sirclo\\.me", + "url": [ + "^https?//.+\\.sirclo\\.me" + ], "website": "https://sirclo.com/" }, "Sirdata": { @@ -4261,7 +4277,9 @@ "js": { "Ktag_Constants": "" }, - "scripts": "\\.xg4ken\\.com", + "scripts": [ + "\\.xg4ken\\.com" + ], "website": "https://skai.io" }, "Skedify": { @@ -4334,7 +4352,9 @@ "\\.skimresources\\.com" ], "website": "https://skimlinks.com", - "xhr": "\\.skimresources\\.com" + "xhr": [ + "\\.skimresources\\.com" + ] }, "Skio": { "cats": [ @@ -5489,7 +5509,9 @@ "icon": "Sonobi.png", "saas": true, "website": "https://sonobi.com", - "xhr": "apex\\.go\\.sonobi\\.com" + "xhr": [ + "apex\\.go\\.sonobi\\.com" + ] }, "Sortable": { "cats": [ @@ -5620,7 +5642,9 @@ "poa" ], "saas": true, - "scripts": "SOURCEPOINT_MMS_DOMAIN", + "scripts": [ + "SOURCEPOINT_MMS_DOMAIN" + ], "website": "https://sourcepoint.com" }, "Sovrn": { @@ -5638,7 +5662,9 @@ "\\.(?:linksmart|lijit)\\.com/" ], "website": "https://www.sovrn.com", - "xhr": "\\.lijit\\.com" + "xhr": [ + "\\.lijit\\.com" + ] }, "Sovrn//Commerce": { "cats": [ @@ -5717,7 +5743,9 @@ "onetime", "low" ], - "scripts": "media\\-library\\-pro\\-core", + "scripts": [ + "media\\-library\\-pro\\-core" + ], "website": "https://medialibrary.pro" }, "Spatie Support Bubble": { @@ -5807,7 +5835,9 @@ "/speedsize(?:-sw)?\\.js\\;confidence:90", "\\.speedsize\\.com/" ], - "scripts": "data-speedsize-(?:srcset|src|params)?", + "scripts": [ + "data-speedsize-(?:srcset|src|params)?" + ], "website": "https://speedsize.com" }, "Speedimize": { @@ -6096,7 +6126,9 @@ "js\\.spotx\\.tv" ], "website": "https://www.spotx.tv", - "xhr": "\\.spotx(?:change|cdn)\\.com" + "xhr": [ + "\\.spotx(?:change|cdn)\\.com" + ] }, "Spotify Web API": { "cats": [ @@ -6453,7 +6485,9 @@ "js\\.squareup\\.com" ], "website": "https://squareup.com/", - "xhr": "\\.squareup\\.com" + "xhr": [ + "\\.squareup\\.com" + ] }, "Square Online": { "cats": [ @@ -6561,7 +6595,9 @@ "js": { "squirrelmail_loginpage_onload": "" }, - "url": "/src/webmail\\.php(?:$|\\?)", + "url": [ + "/src/webmail\\.php(?:$|\\?)" + ], "website": "https://squirrelmail.org" }, "Squiz Matrix": { @@ -6896,7 +6932,9 @@ }, "saas": true, "website": "https://statsig.com/", - "xhr": "\\.statsigapi\\.net" + "xhr": [ + "\\.statsigapi\\.net" + ] }, "Status.io": { "cats": [ @@ -7020,7 +7058,9 @@ "Ruby on Rails", "Stimulus" ], - "scripts": "\\.stimulate", + "scripts": [ + "\\.stimulate" + ], "website": "https://docs.stimulusreflex.com" }, "Stitches": { @@ -7750,7 +7790,9 @@ "scriptSrc": [ "surge\\.sh(?:\\/[-\\w]{0,40})?\\.js" ], - "url": "surge\\.sh", + "url": [ + "surge\\.sh" + ], "website": "https://surge.sh" }, "Survicate": { @@ -7785,7 +7827,9 @@ "meta": { "generator": "^Svbtle\\.com$" }, - "url": "^https?://[^/]+\\.svbtle\\.com", + "url": [ + "^https?://[^/]+\\.svbtle\\.com" + ], "website": "https://www.svbtle.com" }, "Svelte": { diff --git a/src/technologies/t.json b/src/technologies/t.json index baf6f2c2..1fe4bfdc 100644 --- a/src/technologies/t.json +++ b/src/technologies/t.json @@ -253,7 +253,9 @@ "scriptSrc": [ "^/?typo3(?:conf|temp)/" ], - "url": "/typo3/", + "url": [ + "/typo3/" + ], "website": "https://typo3.org/" }, "Tabarnapp": { @@ -388,7 +390,9 @@ "\\.taboola\\.com" ], "website": "https://www.taboola.com", - "xhr": "\\.taboola\\.com" + "xhr": [ + "\\.taboola\\.com" + ] }, "Tachyons": { "cats": [ @@ -505,7 +509,9 @@ "\\.taggbox\\.com", "taggbox\\.com/app/js/embed\\.min\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1" ], - "url": "\\.taggbox\\.com", + "url": [ + "\\.taggbox\\.com" + ], "website": "https://taggbox.com/" }, "Taiga": { @@ -829,7 +835,9 @@ "teads\\.tv" ], "website": "https://www.teads.com", - "xhr": "\\.teads\\.tv" + "xhr": [ + "\\.teads\\.tv" + ] }, "Tealium": { "cats": [ @@ -959,7 +967,9 @@ "Cart Functionality" ], "saas": true, - "scripts": "\\.tebexLogin", + "scripts": [ + "\\.tebexLogin" + ], "website": "https://www.tebex.io" }, "Telescope": { @@ -2365,7 +2375,9 @@ "TiktokAnalyticsObject": "" }, "website": "https://ads.tiktok.com", - "xhr": "analytics\\.tiktok\\.com" + "xhr": [ + "analytics\\.tiktok\\.com" + ] }, "Tiki Wiki CMS Groupware": { "cats": [ @@ -2638,7 +2650,9 @@ "api\\.tomtom\\.com" ], "website": "https://www.tomtom.com", - "xhr": "api\\.tomtom\\.com" + "xhr": [ + "api\\.tomtom\\.com" + ] }, "TomatoCart": { "cats": [ @@ -3108,7 +3122,9 @@ ], "saas": true, "website": "https://triplewhale.com/", - "xhr": "triplewhale-pixel\\.web\\.app" + "xhr": [ + "triplewhale-pixel\\.web\\.app" + ] }, "TripleLift": { "cats": [ @@ -3129,7 +3145,9 @@ ], "saas": true, "website": "https://triplelift.com", - "xhr": "\\.3lift\\.com" + "xhr": [ + "\\.3lift\\.com" + ] }, "Tritac Katana Commerce": { "cats": [ @@ -3173,7 +3191,9 @@ "icon": "trove.png", "saas": true, "website": "https://trove.co", - "xhr": "reware-production\\.yerdlesite\\.com" + "xhr": [ + "reware-production\\.yerdlesite\\.com" + ] }, "TruValidate": { "cats": [ @@ -3410,7 +3430,9 @@ "