Skip to content

Commit 7d6fce1

Browse files
committed
feat: 补充地图服务识别规则
扩展 SaaS 页面规则,新增地图、地理编码、瓦片和地理空间平台的资源 URL 匹配。 覆盖 Bing Maps、Apple MapKit JS、Yandex Maps、2GIS Maps、Kakao Maps、Naver Maps、Mappls / MapmyIndia、Geoapify、LocationIQ、OpenCage Geocoding、Geocodio、what3words、Radar Maps、Jawg Maps、OpenMapTiles、Cesium ion、Mapillary、Nextzen、Protomaps、Felt Maps,并补充对应技术链接。 将版本升至 1.1.46。 验证:npx prettier --write .;npx prettier --check .;pnpm run typecheck;pnpm run lint;JSON/正则全量校验;pnpm run build;版本一致性检查;git diff --check。
1 parent 7b04751 commit 7d6fce1

3 files changed

Lines changed: 103 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "stackprism",
33
"private": true,
4-
"version": "1.1.45",
4+
"version": "1.1.46",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/page/saas-services-page.json

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1745,6 +1745,88 @@
17451745
{
17461746
"name": "OpenStreetMap Tiles",
17471747
"patterns": ["(?:[abc]\\.)?tile\\.openstreetmap\\.org"]
1748+
},
1749+
{
1750+
"name": "Bing Maps",
1751+
"patterns": ["www\\.bing\\.com/api/maps/mapcontrol|ecn\\.dev\\.virtualearth\\.net|virtualearth\\.net"]
1752+
},
1753+
{
1754+
"name": "Apple MapKit JS",
1755+
"patterns": ["cdn\\.apple-mapkit\\.com|maps\\.apple\\.com/[^\\s\"'<>]*(?:embed|sdk|mapkit)"]
1756+
},
1757+
{
1758+
"name": "Yandex Maps",
1759+
"patterns": ["api-maps\\.yandex\\.ru|yastatic\\.net/[^\\s\"'<>]*(?:mapsapi|mapkit)|yandex\\.com/maps-api"]
1760+
},
1761+
{
1762+
"name": "2GIS Maps",
1763+
"patterns": ["maps\\.api\\.2gis\\.ru|catalog\\.api\\.2gis\\.com|2gis\\.com/[^\\s\"'<>]*(?:maps|api|sdk)"]
1764+
},
1765+
{
1766+
"name": "Kakao Maps",
1767+
"patterns": ["dapi\\.kakao\\.com/v2/maps/sdk\\.js|map\\.kakao\\.com/link|t1\\.daumcdn\\.net/mapjsapi"]
1768+
},
1769+
{
1770+
"name": "Naver Maps",
1771+
"patterns": ["openapi\\.map\\.naver\\.com|naveropenapi\\.apigw\\.ntruss\\.com/map|navermaps\\.github\\.io"]
1772+
},
1773+
{
1774+
"name": "Mappls / MapmyIndia",
1775+
"patterns": [
1776+
"apis\\.mappls\\.com/(?:advancedmaps|map_v3)|apis\\.mapmyindia\\.com/(?:advancedmaps|map_v3)|mapmyindia\\.com/api"
1777+
]
1778+
},
1779+
{
1780+
"name": "Geoapify",
1781+
"patterns": ["maps\\.geoapify\\.com|api\\.geoapify\\.com|geoapify\\.com/[^\\s\"'<>]*(?:map|geocoding|places)"]
1782+
},
1783+
{
1784+
"name": "LocationIQ",
1785+
"patterns": ["tiles\\.locationiq\\.com|api\\.locationiq\\.com|locationiq\\.com/[^\\s\"'<>]*(?:maps|geocoding|sdk)"]
1786+
},
1787+
{
1788+
"name": "OpenCage Geocoding",
1789+
"patterns": ["api\\.opencagedata\\.com/geocode|opencagedata\\.com/[^\\s\"'<>]*(?:api|geocoding)"]
1790+
},
1791+
{
1792+
"name": "Geocodio",
1793+
"patterns": ["api\\.geocod\\.io|geocod\\.io/[^\\s\"'<>]*(?:geocode|api|maps)"]
1794+
},
1795+
{
1796+
"name": "what3words",
1797+
"patterns": ["assets\\.what3words\\.com|api\\.what3words\\.com/v3|what3words\\.com/[^\\s\"'<>]*(?:embed|api|autosuggest)"]
1798+
},
1799+
{
1800+
"name": "Radar Maps",
1801+
"patterns": ["js\\.radar\\.com|api\\.radar\\.io|radar\\.com/[^\\s\"'<>]*(?:maps|geofences|places|sdk)"]
1802+
},
1803+
{
1804+
"name": "Jawg Maps",
1805+
"patterns": ["tile\\.jawg\\.io|api\\.jawg\\.io|jawg\\.io/[^\\s\"'<>]*(?:maps|tiles|static)"]
1806+
},
1807+
{
1808+
"name": "OpenMapTiles",
1809+
"patterns": ["tiles\\.openmaptiles\\.com|fonts\\.openmaptiles\\.org|openmaptiles\\.org/[^\\s\"'<>]*(?:styles|schema|fonts)"]
1810+
},
1811+
{
1812+
"name": "Cesium ion",
1813+
"patterns": ["assets\\.cesium\\.com|api\\.cesium\\.com|ion\\.cesium\\.com|cesium\\.com/[^\\s\"'<>]*(?:ion|assets|tokens)"]
1814+
},
1815+
{
1816+
"name": "Mapillary",
1817+
"patterns": ["images\\.mapillary\\.com|graph\\.mapillary\\.com|mapillary\\.com/[^\\s\"'<>]*(?:embed|app|api)"]
1818+
},
1819+
{
1820+
"name": "Nextzen",
1821+
"patterns": ["tile\\.nextzen\\.org|tiles\\.nextzen\\.org|nextzen\\.org/[^\\s\"'<>]*(?:tiles|vector|api)"]
1822+
},
1823+
{
1824+
"name": "Protomaps",
1825+
"patterns": ["api\\.protomaps\\.com|protomaps\\.com/[^\\s\"'<>]*(?:tiles|basemaps|pmtiles)|protomaps\\.github\\.io"]
1826+
},
1827+
{
1828+
"name": "Felt Maps",
1829+
"patterns": ["felt\\.com/(?:embed|map)/|felt\\.com/[^\\s\"'<>]*(?:map|embed|public)"]
17481830
}
17491831
]
17501832
},

public/tech-links.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1360,6 +1360,26 @@
13601360
"Thunderforest": "https://www.thunderforest.com",
13611361
"Stadia Maps": "https://stadiamaps.com",
13621362
"OpenStreetMap Tiles": "https://www.openstreetmap.org",
1363+
"Bing Maps": "https://www.microsoft.com/maps",
1364+
"Apple MapKit JS": "https://developer.apple.com/maps/mapkitjs",
1365+
"Yandex Maps": "https://yandex.com/dev/maps",
1366+
"2GIS Maps": "https://dev.2gis.com",
1367+
"Kakao Maps": "https://apis.map.kakao.com",
1368+
"Naver Maps": "https://navermaps.github.io/maps.js.en",
1369+
"Mappls / MapmyIndia": "https://www.mappls.com",
1370+
"Geoapify": "https://www.geoapify.com",
1371+
"LocationIQ": "https://locationiq.com",
1372+
"OpenCage Geocoding": "https://opencagedata.com",
1373+
"Geocodio": "https://www.geocod.io",
1374+
"what3words": "https://what3words.com",
1375+
"Radar Maps": "https://radar.com",
1376+
"Jawg Maps": "https://www.jawg.io",
1377+
"OpenMapTiles": "https://openmaptiles.org",
1378+
"Cesium ion": "https://cesium.com/platform/cesium-ion",
1379+
"Mapillary": "https://www.mapillary.com",
1380+
"Nextzen": "https://www.nextzen.org",
1381+
"Protomaps": "https://protomaps.com",
1382+
"Felt Maps": "https://felt.com",
13631383
"Google reCAPTCHA": "https://www.google.com/recaptcha/about",
13641384
"hCaptcha": "https://www.hcaptcha.com",
13651385
"Cloudflare Turnstile": "https://www.cloudflare.com/products/turnstile",

0 commit comments

Comments
 (0)