From 95656d2dfa297ae8a0ed157f76ffbdb16da6948b Mon Sep 17 00:00:00 2001
From: mlec <42201667+mlec1@users.noreply.github.com>
Date: Mon, 15 Jul 2024 16:58:13 +0200
Subject: [PATCH 1/3] refactor: Make all scripts fields an array
---
.../workflows/scripts/technology_validator.py | 2 +-
schema.json | 15 +++------
src/technologies/a.json | 12 +++++--
src/technologies/b.json | 12 +++++--
src/technologies/c.json | 20 +++++++++---
src/technologies/d.json | 4 ++-
src/technologies/e.json | 4 ++-
src/technologies/f.json | 4 ++-
src/technologies/g.json | 12 +++++--
src/technologies/h.json | 4 ++-
src/technologies/j.json | 4 ++-
src/technologies/k.json | 4 ++-
src/technologies/l.json | 12 +++++--
src/technologies/m.json | 12 +++++--
src/technologies/o.json | 4 ++-
src/technologies/p.json | 12 +++++--
src/technologies/q.json | 4 ++-
src/technologies/r.json | 8 +++--
src/technologies/s.json | 32 ++++++++++++++-----
src/technologies/t.json | 4 ++-
src/technologies/u.json | 8 +++--
src/technologies/v.json | 4 ++-
src/technologies/w.json | 8 +++--
src/technologies/y.json | 4 ++-
24 files changed, 149 insertions(+), 60 deletions(-)
diff --git a/.github/workflows/scripts/technology_validator.py b/.github/workflows/scripts/technology_validator.py
index 0011784c..acc8bc96 100644
--- a/.github/workflows/scripts/technology_validator.py
+++ b/.github/workflows/scripts/technology_validator.py
@@ -253,7 +253,7 @@ def __init__(self, file_name: str):
"xhr": StringOrArrayValidator(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..4e667292 100644
--- a/schema.json
+++ b/schema.json
@@ -184,17 +184,10 @@
}
},
"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": [
diff --git a/src/technologies/a.json b/src/technologies/a.json
index dde44288..29c9edde 100644
--- a/src/technologies/a.json
+++ b/src/technologies/a.json
@@ -468,7 +468,9 @@
"Shopify"
],
"saas": true,
- "scripts": "\\.accentuate\\.io/",
+ "scripts": [
+ "\\.accentuate\\.io/"
+ ],
"website": "https://www.accentuate.io"
},
"AccessTrade": {
@@ -1462,7 +1464,9 @@
"payg"
],
"saas": true,
- "scripts": "admiral(?:-engaged|:enabled)",
+ "scripts": [
+ "admiral(?:-engaged|:enabled)"
+ ],
"website": "https://www.getadmiral.com"
},
"Admitad": {
@@ -1662,7 +1666,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": {
diff --git a/src/technologies/b.json b/src/technologies/b.json
index 0025a5a6..db708ffd 100644
--- a/src/technologies/b.json
+++ b/src/technologies/b.json
@@ -802,7 +802,9 @@
"scriptSrc": [
"(?:\\.|plugins/)?bigcommerce(?:\\.com)?/(?:assets)?"
],
- "scripts": "bigcommerceProductId",
+ "scripts": [
+ "bigcommerceProductId"
+ ],
"url": "mybigcommerce\\.com",
"website": "https://www.bigcommerce.com"
},
@@ -1004,7 +1006,9 @@
"scriptSrc": [
"cdn\\.bitespeed\\.co/"
],
- "scripts": "app\\.bitespeed\\.co/",
+ "scripts": [
+ "app\\.bitespeed\\.co/"
+ ],
"website": "https://www.bitespeed.co"
},
"Bitrix24": {
@@ -2617,7 +2621,9 @@
"recurring"
],
"saas": true,
- "scripts": "players\\.brightcove\\.net/",
+ "scripts": [
+ "players\\.brightcove\\.net/"
+ ],
"website": "https://www.brightcove.com"
},
"Brightspot": {
diff --git a/src/technologies/c.json b/src/technologies/c.json
index 6dcf1f2b..15d56761 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": {
@@ -1105,7 +1107,9 @@
"poa"
],
"saas": true,
- "scripts": "centraCheckoutScript",
+ "scripts": [
+ "centraCheckoutScript"
+ ],
"website": "https://centra.com"
},
"Chabokan": {
@@ -1973,7 +1977,9 @@
"js": {
"Classy.clientId": ""
},
- "scripts": "classy\\.org",
+ "scripts": [
+ "classy\\.org"
+ ],
"website": "https://www.classy.org/"
},
"ClearSale": {
@@ -4215,7 +4221,9 @@
"recurring"
],
"saas": true,
- "scripts": "webpackJsonp@coreui/coreui",
+ "scripts": [
+ "webpackJsonp@coreui/coreui"
+ ],
"website": "https://coreui.io"
},
"Corebine": {
@@ -4772,7 +4780,9 @@
"scriptSrc": [
"js/crownpeak\\."
],
- "scripts": "crownpeak\\.net",
+ "scripts": [
+ "crownpeak\\.net"
+ ],
"website": "https://www.crownpeak.com"
},
"Cryout Creations Bravada": {
diff --git a/src/technologies/d.json b/src/technologies/d.json
index da95bbb0..a430506f 100644
--- a/src/technologies/d.json
+++ b/src/technologies/d.json
@@ -2068,7 +2068,9 @@
"scriptSrc": [
"drupal\\.js"
],
- "scripts": "drupal_internal__nid",
+ "scripts": [
+ "drupal_internal__nid"
+ ],
"website": "https://www.drupal.org/"
},
"Drupal Commerce": {
diff --git a/src/technologies/e.json b/src/technologies/e.json
index 1e9b0b0c..6e98ee38 100644
--- a/src/technologies/e.json
+++ b/src/technologies/e.json
@@ -1238,7 +1238,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": {
diff --git a/src/technologies/f.json b/src/technologies/f.json
index e14fee72..8aaca8b3 100644
--- a/src/technologies/f.json
+++ b/src/technologies/f.json
@@ -2292,7 +2292,9 @@
"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"
},
diff --git a/src/technologies/g.json b/src/technologies/g.json
index 53fb9cb8..3b7ee9c2 100644
--- a/src/technologies/g.json
+++ b/src/technologies/g.json
@@ -1472,7 +1472,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 +1783,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": {
@@ -2281,7 +2285,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": {
diff --git a/src/technologies/h.json b/src/technologies/h.json
index 694efc0f..a2c64f10 100644
--- a/src/technologies/h.json
+++ b/src/technologies/h.json
@@ -32,7 +32,9 @@
"poa"
],
"saas": true,
- "scripts": "/webapp/wcs/",
+ "scripts": [
+ "/webapp/wcs/"
+ ],
"url": "/wcs/",
"website": "https://www.hcltechsw.com/commerce"
},
diff --git a/src/technologies/j.json b/src/technologies/j.json
index 3cd741c2..36a4b2f9 100644
--- a/src/technologies/j.json
+++ b/src/technologies/j.json
@@ -973,7 +973,9 @@
"scriptSrc": [
"/jquery\\.jplayer\\.min\\.js"
],
- "scripts": "jquery\\.jplayer\\.min\\.js",
+ "scripts": [
+ "jquery\\.jplayer\\.min\\.js"
+ ],
"website": "https://jplayer.org"
},
"jQTouch": {
diff --git a/src/technologies/k.json b/src/technologies/k.json
index 851d193f..42cf7c11 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": {
diff --git a/src/technologies/l.json b/src/technologies/l.json
index 72683381..6f96eb3c 100644
--- a/src/technologies/l.json
+++ b/src/technologies/l.json
@@ -668,7 +668,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": {
@@ -1078,7 +1080,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": {
@@ -2064,7 +2068,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..0fd3255b 100644
--- a/src/technologies/m.json
+++ b/src/technologies/m.json
@@ -977,7 +977,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 +1214,9 @@
"markoVars": ""
},
"oss": true,
- "scripts": "\\.marko(\\.js)?",
+ "scripts": [
+ "\\.marko(\\.js)?"
+ ],
"website": "https://markojs.com"
},
"Master Slider": {
@@ -3801,7 +3805,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": {
diff --git a/src/technologies/o.json b/src/technologies/o.json
index 28068916..2e5b8a93 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": {
diff --git a/src/technologies/p.json b/src/technologies/p.json
index ff2c0ce8..114213c0 100644
--- a/src/technologies/p.json
+++ b/src/technologies/p.json
@@ -196,7 +196,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 +573,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": {
@@ -4253,7 +4257,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..9d75f238 100644
--- a/src/technologies/r.json
+++ b/src/technologies/r.json
@@ -1030,7 +1030,9 @@
"requires": [
"Shopify"
],
- "scripts": "\"(?:vendor|title)?\"\\:\"Recurate\"",
+ "scripts": [
+ "\"(?:vendor|title)?\"\\:\"Recurate\""
+ ],
"website": "https://www.recurate.com"
},
"Recurly": {
@@ -2817,7 +2819,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..9c30a6c5 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": {
@@ -2319,7 +2321,9 @@
"sheerid": ""
},
"saas": true,
- "scripts": "\"sheerIdEndpoint\":",
+ "scripts": [
+ "\"sheerIdEndpoint\":"
+ ],
"website": "https://www.sheerid.com/"
},
"Shelf": {
@@ -2820,7 +2824,9 @@
"sdks\\.shopifycdn\\.com",
"cdn\\.shopify\\.com"
],
- "scripts": "shopifyTag",
+ "scripts": [
+ "shopifyTag"
+ ],
"url": "^https?//.+\\.myshopify\\.com",
"website": "https://shopify.com",
"xhr": "\\.myshopify\\.com"
@@ -4261,7 +4267,9 @@
"js": {
"Ktag_Constants": ""
},
- "scripts": "\\.xg4ken\\.com",
+ "scripts": [
+ "\\.xg4ken\\.com"
+ ],
"website": "https://skai.io"
},
"Skedify": {
@@ -5620,7 +5628,9 @@
"poa"
],
"saas": true,
- "scripts": "SOURCEPOINT_MMS_DOMAIN",
+ "scripts": [
+ "SOURCEPOINT_MMS_DOMAIN"
+ ],
"website": "https://sourcepoint.com"
},
"Sovrn": {
@@ -5717,7 +5727,9 @@
"onetime",
"low"
],
- "scripts": "media\\-library\\-pro\\-core",
+ "scripts": [
+ "media\\-library\\-pro\\-core"
+ ],
"website": "https://medialibrary.pro"
},
"Spatie Support Bubble": {
@@ -5807,7 +5819,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": {
@@ -7020,7 +7034,9 @@
"Ruby on Rails",
"Stimulus"
],
- "scripts": "\\.stimulate",
+ "scripts": [
+ "\\.stimulate"
+ ],
"website": "https://docs.stimulusreflex.com"
},
"Stitches": {
diff --git a/src/technologies/t.json b/src/technologies/t.json
index baf6f2c2..c2dd3c85 100644
--- a/src/technologies/t.json
+++ b/src/technologies/t.json
@@ -959,7 +959,9 @@
"Cart Functionality"
],
"saas": true,
- "scripts": "\\.tebexLogin",
+ "scripts": [
+ "\\.tebexLogin"
+ ],
"website": "https://www.tebex.io"
},
"Telescope": {
diff --git a/src/technologies/u.json b/src/technologies/u.json
index 90036656..c81dd411 100644
--- a/src/technologies/u.json
+++ b/src/technologies/u.json
@@ -339,7 +339,9 @@
"low"
],
"saas": true,
- "scripts": "/Umbraco/Api/",
+ "scripts": [
+ "/Umbraco/Api/"
+ ],
"url": "/umbraco/login\\.aspx(?:$|\\?)",
"website": "https://umbraco.com/",
"xhr": "/umbraco/api/"
@@ -374,7 +376,9 @@
"recurring"
],
"saas": true,
- "scripts": "isPriorBlockingEnabled\\;confidence:75",
+ "scripts": [
+ "isPriorBlockingEnabled\\;confidence:75"
+ ],
"website": "https://www.umso.com"
},
"Unas": {
diff --git a/src/technologies/v.json b/src/technologies/v.json
index aef0a7e5..ede1932d 100644
--- a/src/technologies/v.json
+++ b/src/technologies/v.json
@@ -459,7 +459,9 @@
"payg"
],
"saas": true,
- "scripts": "2checkout\\.com",
+ "scripts": [
+ "2checkout\\.com"
+ ],
"website": "https://www.2checkout.com"
},
"VerifyPass": {
diff --git a/src/technologies/w.json b/src/technologies/w.json
index dc9b636b..fff4c3e9 100644
--- a/src/technologies/w.json
+++ b/src/technologies/w.json
@@ -1359,7 +1359,9 @@
"freemium",
"low"
],
- "scripts": "cdn\\.webpushr\\.com/app\\.min\\.js",
+ "scripts": [
+ "cdn\\.webpushr\\.com/app\\.min\\.js"
+ ],
"website": "https://www.webpushr.com"
},
"Webriti Busiprof": {
@@ -2754,7 +2756,9 @@
"scriptSrc": [
"web-vitals@([\\d.]+)/dist/web-vitals.*\\.js\\;version:\\1"
],
- "scripts": "(8999999999999[\\s\\S]+1e12[\\s\\S]+(largest-contentful-paint|first-input|layout-shift)|(largest-contentful-paint|first-input|layout-shift)[\\s\\S]+8999999999999[\\s\\S]+1e12)",
+ "scripts": [
+ "(8999999999999[\\s\\S]+1e12[\\s\\S]+(largest-contentful-paint|first-input|layout-shift)|(largest-contentful-paint|first-input|layout-shift)[\\s\\S]+8999999999999[\\s\\S]+1e12)"
+ ],
"website": "https://github.com/GoogleChrome/web-vitals"
},
"webEdition": {
diff --git a/src/technologies/y.json b/src/technologies/y.json
index d371f329..42df5170 100644
--- a/src/technologies/y.json
+++ b/src/technologies/y.json
@@ -622,7 +622,9 @@
"pricing": [
"onetime"
],
- "scripts": "console\\.log\\(\\'Yoori-Ecommerce",
+ "scripts": [
+ "console\\.log\\(\\'Yoori-Ecommerce"
+ ],
"website": "https://spagreen.net/yoori-ecommerce-solution"
},
"Yotpo Loyalty & Referrals": {
From a17ebb595f70b4828dd94e8a48317c64f5b64927 Mon Sep 17 00:00:00 2001
From: mlec <42201667+mlec1@users.noreply.github.com>
Date: Mon, 15 Jul 2024 17:00:45 +0200
Subject: [PATCH 2/3] refactor: Make all url fields an array
---
.../workflows/scripts/technology_validator.py | 2 +-
schema.json | 15 +++------
src/technologies/a.json | 32 ++++++++++++++-----
src/technologies/b.json | 24 ++++++++++----
src/technologies/c.json | 16 +++++++---
src/technologies/d.json | 8 +++--
src/technologies/e.json | 8 +++--
src/technologies/f.json | 8 +++--
src/technologies/g.json | 24 ++++++++++----
src/technologies/h.json | 24 ++++++++++----
src/technologies/j.json | 8 +++--
src/technologies/k.json | 8 +++--
src/technologies/l.json | 8 +++--
src/technologies/m.json | 20 +++++++++---
src/technologies/n.json | 12 +++++--
src/technologies/o.json | 8 +++--
src/technologies/p.json | 20 +++++++++---
src/technologies/r.json | 16 +++++++---
src/technologies/s.json | 24 ++++++++++----
src/technologies/t.json | 20 +++++++++---
src/technologies/u.json | 8 +++--
src/technologies/v.json | 8 +++--
src/technologies/w.json | 8 +++--
src/technologies/z.json | 4 ++-
24 files changed, 242 insertions(+), 91 deletions(-)
diff --git a/.github/workflows/scripts/technology_validator.py b/.github/workflows/scripts/technology_validator.py
index acc8bc96..1c5e3213 100644
--- a/.github/workflows/scripts/technology_validator.py
+++ b/.github/workflows/scripts/technology_validator.py
@@ -249,7 +249,7 @@ def __init__(self, file_name: str):
"css": ArrayValidator(contains_regex=True),
"probe": DictValidator(),
"robots": ArrayValidator(),
- "url": StringOrArrayValidator(contains_regex=True),
+ "url": ArrayValidator(contains_regex=True),
"xhr": StringOrArrayValidator(contains_regex=True),
"meta": DictValidator(contains_regex=True),
"scriptSrc": ArrayValidator(contains_regex=True),
diff --git a/schema.json b/schema.json
index 4e667292..f6144296 100644
--- a/schema.json
+++ b/schema.json
@@ -190,17 +190,10 @@
}
},
"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"
diff --git a/src/technologies/a.json b/src/technologies/a.json
index 29c9edde..e417fbce 100644
--- a/src/technologies/a.json
+++ b/src/technologies/a.json
@@ -674,7 +674,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": {
@@ -747,7 +749,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": {
@@ -1273,7 +1277,9 @@
"scriptSrc": [
"^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/"
],
- "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_",
+ "url": [
+ "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_"
+ ],
"website": "https://adcash.com"
},
"AddEvent": {
@@ -1614,7 +1620,9 @@
"scriptSrc": [
"/cfajax/"
],
- "url": "\\.cfm(?:$|\\?)",
+ "url": [
+ "\\.cfm(?:$|\\?)"
+ ],
"website": "https://adobe.com/products/coldfusion-family.html"
},
"Adobe DTM": {
@@ -2090,7 +2098,9 @@
"payg"
],
"saas": true,
- "url": "https.+\\.returnscenter\\.com",
+ "url": [
+ "https.+\\.returnscenter\\.com"
+ ],
"website": "https://www.aftership.com/returns"
},
"Afterpay": {
@@ -3737,7 +3747,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": {
@@ -3848,7 +3860,9 @@
"scriptSrc": [
"jspwiki"
],
- "url": "wiki\\.jsp",
+ "url": [
+ "wiki\\.jsp"
+ ],
"website": "https://jspwiki.org"
},
"Apache Tomcat": {
@@ -5570,7 +5584,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 db708ffd..d2aaed5b 100644
--- a/src/technologies/b.json
+++ b/src/technologies/b.json
@@ -805,7 +805,9 @@
"scripts": [
"bigcommerceProductId"
],
- "url": "mybigcommerce\\.com",
+ "url": [
+ "mybigcommerce\\.com"
+ ],
"website": "https://www.bigcommerce.com"
},
"BigCommerce B2B Edition": {
@@ -910,7 +912,9 @@
"implies": [
"PHP"
],
- "url": "(?:\\?|&)bigWAdminID=",
+ "url": [
+ "(?:\\?|&)bigWAdminID="
+ ],
"website": "https://bigware.de"
},
"Bikayi": {
@@ -1075,7 +1079,9 @@
"scriptSrc": [
"js/convio/modules\\.js"
],
- "url": "/site/Donation2?.*df_id=",
+ "url": [
+ "/site/Donation2?.*df_id="
+ ],
"website": "https://www.blackbaud.com"
},
"Blade": {
@@ -1241,7 +1247,9 @@
"meta": {
"generator": "^Blogger$"
},
- "url": "^https?://[^/]+\\.(?:blogspot|blogger)\\.com",
+ "url": [
+ "^https?://[^/]+\\.(?:blogspot|blogger)\\.com"
+ ],
"website": "https://www.blogger.com"
},
"Bloomreach": {
@@ -1963,7 +1971,9 @@
"scriptSrc": [
"cdn\\.bookero\\.pl"
],
- "url": "\\.bookero\\.(?:org|pl)",
+ "url": [
+ "\\.bookero\\.(?:org|pl)"
+ ],
"website": "https://www.bookero.org"
},
"Booking.com": {
@@ -3042,7 +3052,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 15d56761..469bb9eb 100644
--- a/src/technologies/c.json
+++ b/src/technologies/c.json
@@ -835,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": {
@@ -1914,7 +1916,9 @@
"Application Request Routing",
"Java"
],
- "url": "\\.[\\w]+/fmi/webd/",
+ "url": [
+ "\\.[\\w]+/fmi/webd/"
+ ],
"website": "https://www.claris.com/filemaker"
},
"Clarity": {
@@ -2849,7 +2853,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": {
@@ -3256,7 +3262,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": {
diff --git a/src/technologies/d.json b/src/technologies/d.json
index a430506f..1e707ee0 100644
--- a/src/technologies/d.json
+++ b/src/technologies/d.json
@@ -764,7 +764,9 @@
"Server": "^Deta$"
},
"icon": "deta.svg",
- "url": "^https?://[^/]+\\.deta\\.(?:app|dev)",
+ "url": [
+ "^https?://[^/]+\\.deta\\.(?:app|dev)"
+ ],
"website": "https://deta.sh"
},
"Detectify": {
@@ -1791,7 +1793,9 @@
"implies": [
"Apache HTTP Server"
],
- "url": "^.*(?:\\.dgn)$",
+ "url": [
+ "^.*(?:\\.dgn)$"
+ ],
"website": "https://dragon-lang.org"
},
"Drapr": {
diff --git a/src/technologies/e.json b/src/technologies/e.json
index 6e98ee38..011f378a 100644
--- a/src/technologies/e.json
+++ b/src/technologies/e.json
@@ -484,7 +484,9 @@
"Server": "^ECD\\s\\(\\S+\\)"
},
"icon": "EdgeCast.png",
- "url": "https?://(?:[^/]+\\.)?edgecastcdn\\.net/",
+ "url": [
+ "https?://(?:[^/]+\\.)?edgecastcdn\\.net/"
+ ],
"website": "https://www.edgecast.com"
},
"Edgio": {
@@ -1596,7 +1598,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 8aaca8b3..baeef01c 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": {
diff --git a/src/technologies/g.json b/src/technologies/g.json
index 3b7ee9c2..2560ffce 100644
--- a/src/technologies/g.json
+++ b/src/technologies/g.json
@@ -801,7 +801,9 @@
"recurring",
"freemium"
],
- "url": "\\.gigalixirapp\\.com",
+ "url": [
+ "\\.gigalixirapp\\.com"
+ ],
"website": "https://gigalixir.com/"
},
"Gist": {
@@ -860,7 +862,9 @@
"recurring"
],
"saas": true,
- "url": "^https?://[^/]+\\.gitbook\\.com/",
+ "url": [
+ "^https?://[^/]+\\.gitbook\\.com/"
+ ],
"website": "https://www.gitbook.com"
},
"GitHub Pages": {
@@ -873,7 +877,9 @@
"X-GitHub-Request-Id": ""
},
"icon": "GitHub.svg",
- "url": "^https?://[^/]+\\.github\\.io",
+ "url": [
+ "^https?://[^/]+\\.github\\.io"
+ ],
"website": "https://pages.github.com/"
},
"GitLab": {
@@ -1127,7 +1133,9 @@
"low",
"recurring"
],
- "url": "https://[^.]+\\.glitch\\.me",
+ "url": [
+ "https://[^.]+\\.glitch\\.me"
+ ],
"website": "https://glitch.com"
},
"Global-e": {
@@ -2013,7 +2021,9 @@
1
],
"icon": "Google.svg",
- "url": "https?://[^.]+\\.business\\.site",
+ "url": [
+ "https?://[^.]+\\.business\\.site"
+ ],
"website": "https://www.google.com/business/website-builder"
},
"Google Optimize": {
@@ -2091,7 +2101,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": {
diff --git a/src/technologies/h.json b/src/technologies/h.json
index a2c64f10..51ec991f 100644
--- a/src/technologies/h.json
+++ b/src/technologies/h.json
@@ -35,7 +35,9 @@
"scripts": [
"/webapp/wcs/"
],
- "url": "/wcs/",
+ "url": [
+ "/wcs/"
+ ],
"website": "https://www.hcltechsw.com/commerce"
},
"HCL Digital Experience": {
@@ -59,7 +61,9 @@
"high",
"poa"
],
- "url": "/wps/wcm/",
+ "url": [
+ "/wps/wcm/"
+ ],
"website": "https://www.hcltechsw.com/dx"
},
"HCL Domino": {
@@ -126,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": {
@@ -433,7 +439,9 @@
"scriptSrc": [
"hashnode\\.com"
],
- "url": "^https?://[^/]+\\.(?:hashnode)\\.dev",
+ "url": [
+ "^https?://[^/]+\\.(?:hashnode)\\.dev"
+ ],
"website": "https://hashnode.com/"
},
"Hashtag Labs": {
@@ -819,7 +827,9 @@
"Via": "[\\d.-]+ vegur$"
},
"icon": "heroku.svg",
- "url": "\\.herokuapp\\.com",
+ "url": [
+ "\\.herokuapp\\.com"
+ ],
"website": "https://www.heroku.com/"
},
"Hestia": {
@@ -1100,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/j.json b/src/technologies/j.json
index 36a4b2f9..a3f099df 100644
--- a/src/technologies/j.json
+++ b/src/technologies/j.json
@@ -479,7 +479,9 @@
"recurring"
],
"saas": true,
- "url": "\\.jimdo(?:site)?\\.com/",
+ "url": [
+ "\\.jimdo(?:site)?\\.com/"
+ ],
"website": "https://www.jimdo.com"
},
"Jirafe": {
@@ -659,7 +661,9 @@
"generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1"
},
"oss": true,
- "url": "option=com_",
+ "url": [
+ "option=com_"
+ ],
"website": "https://www.joomla.org/"
},
"JouwWeb": {
diff --git a/src/technologies/k.json b/src/technologies/k.json
index 42cf7c11..e7051fac 100644
--- a/src/technologies/k.json
+++ b/src/technologies/k.json
@@ -667,7 +667,9 @@
"Node.js",
"Elasticsearch"
],
- "url": "kibana#/dashboard/",
+ "url": [
+ "kibana#/dashboard/"
+ ],
"website": "https://www.elastic.co/products/kibana"
},
"Kibo Commerce": {
@@ -735,7 +737,9 @@
"recurring"
],
"saas": true,
- "url": "/modules/kiliba/logo\\.png",
+ "url": [
+ "/modules/kiliba/logo\\.png"
+ ],
"website": "https://en.kiliba.com"
},
"Kindful": {
diff --git a/src/technologies/l.json b/src/technologies/l.json
index 6f96eb3c..7d5c68e6 100644
--- a/src/technologies/l.json
+++ b/src/technologies/l.json
@@ -930,7 +930,9 @@
"scriptSrc": [
"http://assets\\.webshopapp\\.com"
],
- "url": "seoshop.webshopapp.com",
+ "url": [
+ "seoshop.webshopapp.com"
+ ],
"website": "https://www.lightspeedhq.com/products/ecommerce/"
},
"LimeChat": {
@@ -1369,7 +1371,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": {
diff --git a/src/technologies/m.json b/src/technologies/m.json
index 0fd3255b..ea396799 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": {
@@ -1669,7 +1671,9 @@
"scriptSrc": [
"medium\\.com"
],
- "url": "^https?://(?:www\\.)?medium\\.com",
+ "url": [
+ "^https?://(?:www\\.)?medium\\.com"
+ ],
"website": "https://medium.com"
},
"Meebo": {
@@ -1816,7 +1820,9 @@
"scriptSrc": [
"memberstack\\.js"
],
- "url": "^https?//.+\\.memberstack\\.io",
+ "url": [
+ "^https?//.+\\.memberstack\\.io"
+ ],
"website": "https://www.memberstack.io"
},
"Mention Me": {
@@ -2099,7 +2105,9 @@
"]+name=\"__VIEWSTATE"
],
"icon": "Microsoft ASP.NET.svg",
- "url": "\\.aspx?(?:$|\\?)",
+ "url": [
+ "\\.aspx?(?:$|\\?)"
+ ],
"website": "https://www.asp.net"
},
"Microsoft Advertising": {
@@ -3395,7 +3403,9 @@
"meta": {
"author": "Mozard"
},
- "url": "/mozard/!suite",
+ "url": [
+ "/mozard/!suite"
+ ],
"website": "https://mozard.nl"
},
"Mulberry": {
diff --git a/src/technologies/n.json b/src/technologies/n.json
index 037f4548..e6094a9f 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": {
@@ -391,7 +393,9 @@
"implies": [
"Neos Flow"
],
- "url": "/neos/",
+ "url": [
+ "/neos/"
+ ],
"website": "https://neos.io"
},
"Neos Flow": {
@@ -496,7 +500,9 @@
"recurring",
"poa"
],
- "url": "^https?://[^/]+\\.netlify\\.(?:com|app)/",
+ "url": [
+ "^https?://[^/]+\\.netlify\\.(?:com|app)/"
+ ],
"website": "https://www.netlify.com/",
"xhr": "cdn\\.netlify\\.com"
},
diff --git a/src/technologies/o.json b/src/technologies/o.json
index 2e5b8a93..a9c036bc 100644
--- a/src/technologies/o.json
+++ b/src/technologies/o.json
@@ -1881,7 +1881,9 @@
"recurring"
],
"saas": true,
- "url": "\\.(?:eu|us1)\\.ordercast\\.io/",
+ "url": [
+ "\\.(?:eu|us1)\\.ordercast\\.io/"
+ ],
"website": "https://www.ordercast.io"
},
"OrderLogic app": {
@@ -2101,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 114213c0..76dac9a1 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": {
@@ -1639,7 +1645,9 @@
"scriptSrc": [
"\\.psecn\\.photoshelter\\.com/"
],
- "url": "photoshelter\\.com",
+ "url": [
+ "photoshelter\\.com"
+ ],
"website": "https://www.photoshelter.com"
},
"PhotoShelter for Brands": {
@@ -3897,7 +3905,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": {
diff --git a/src/technologies/r.json b/src/technologies/r.json
index 9d75f238..afc0192b 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": {
@@ -725,7 +727,9 @@
"recurring"
],
"saas": true,
- "url": "^https?//.+\\.reactiveonline\\.io",
+ "url": [
+ "^https?//.+\\.reactiveonline\\.io"
+ ],
"website": "https://reactiveonline.io"
},
"ReadAloud": {
@@ -1142,7 +1146,9 @@
"js": {
"reddit": ""
},
- "url": "^https?://(?:www\\.)?reddit\\.com",
+ "url": [
+ "^https?://(?:www\\.)?reddit\\.com"
+ ],
"website": "https://code.reddit.com"
},
"Reddit Ads": {
@@ -1845,7 +1851,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": {
diff --git a/src/technologies/s.json b/src/technologies/s.json
index 9c30a6c5..1c855f8b 100644
--- a/src/technologies/s.json
+++ b/src/technologies/s.json
@@ -2435,7 +2435,9 @@
"recurring"
],
"saas": true,
- "url": "track\\.shipstation\\.com",
+ "url": [
+ "track\\.shipstation\\.com"
+ ],
"website": "https://www.shipstation.com"
},
"ShipTection": {
@@ -2827,7 +2829,9 @@
"scripts": [
"shopifyTag"
],
- "url": "^https?//.+\\.myshopify\\.com",
+ "url": [
+ "^https?//.+\\.myshopify\\.com"
+ ],
"website": "https://shopify.com",
"xhr": "\\.myshopify\\.com"
},
@@ -3690,7 +3694,9 @@
"scriptSrc": [
"template\\.sirclocdn\\.com/"
],
- "url": "^https?//.+\\.sirclo\\.me",
+ "url": [
+ "^https?//.+\\.sirclo\\.me"
+ ],
"website": "https://sirclo.com/"
},
"Sirdata": {
@@ -6575,7 +6581,9 @@
"js": {
"squirrelmail_loginpage_onload": ""
},
- "url": "/src/webmail\\.php(?:$|\\?)",
+ "url": [
+ "/src/webmail\\.php(?:$|\\?)"
+ ],
"website": "https://squirrelmail.org"
},
"Squiz Matrix": {
@@ -7766,7 +7774,9 @@
"scriptSrc": [
"surge\\.sh(?:\\/[-\\w]{0,40})?\\.js"
],
- "url": "surge\\.sh",
+ "url": [
+ "surge\\.sh"
+ ],
"website": "https://surge.sh"
},
"Survicate": {
@@ -7801,7 +7811,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 c2dd3c85..39ac6991 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": {
@@ -505,7 +507,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": {
@@ -3412,7 +3416,9 @@
"