Skip to content

Commit ba5dd3b

Browse files
committed
meta
1 parent 6c8b29c commit ba5dd3b

File tree

4 files changed

+160
-1
lines changed

4 files changed

+160
-1
lines changed

src/constants.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ export const BROWSER_ALIASES_MAP = {
2727
InternetArchiveCrawler: 'internetarchivecrawler',
2828
'K-Meleon': 'k_meleon',
2929
Maxthon: 'maxthon',
30+
'Meta-ExternalAds': 'meta_externalads',
31+
'Meta-ExternalAgent': 'meta_externalagent',
32+
'Meta-ExternalFetcher': 'meta_externalfetcher',
3033
'Meta-WebIndexer': 'meta_webindexer',
3134
'Microsoft Edge': 'edge',
3235
'MZ Browser': 'mz',
@@ -90,6 +93,9 @@ export const BROWSER_MAP = {
9093
internetarchivecrawler: 'InternetArchiveCrawler',
9194
k_meleon: 'K-Meleon',
9295
maxthon: 'Maxthon',
96+
meta_externalads: 'Meta-ExternalAds',
97+
meta_externalagent: 'Meta-ExternalAgent',
98+
meta_externalfetcher: 'Meta-ExternalFetcher',
9399
meta_webindexer: 'Meta-WebIndexer',
94100
mz: 'MZ Browser',
95101
naver: 'NAVER Whale Browser',

src/parser-browsers.js

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ const browsersList = [
8787
name: 'ClaudeBot',
8888
};
8989
const version = Utils.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
90-
90+
9191
if (version) {
9292
browser.version = version;
9393
}
@@ -198,6 +198,57 @@ const browsersList = [
198198
},
199199
},
200200

201+
/* Meta-ExternalAds */
202+
{
203+
test: [/meta-externalads/i],
204+
describe(ua) {
205+
const browser = {
206+
name: 'Meta-ExternalAds',
207+
};
208+
const version = Utils.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
209+
210+
if (version) {
211+
browser.version = version;
212+
}
213+
214+
return browser;
215+
},
216+
},
217+
218+
/* Meta-ExternalAgent */
219+
{
220+
test: [/meta-externalagent/i],
221+
describe(ua) {
222+
const browser = {
223+
name: 'Meta-ExternalAgent',
224+
};
225+
const version = Utils.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
226+
227+
if (version) {
228+
browser.version = version;
229+
}
230+
231+
return browser;
232+
},
233+
},
234+
235+
/* Meta-ExternalFetcher */
236+
{
237+
test: [/meta-externalfetcher/i],
238+
describe(ua) {
239+
const browser = {
240+
name: 'Meta-ExternalFetcher',
241+
};
242+
const version = Utils.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
243+
244+
if (version) {
245+
browser.version = version;
246+
}
247+
248+
return browser;
249+
},
250+
},
251+
201252
/* Googlebot */
202253
{
203254
test: [/googlebot/i],

src/parser-platforms.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,39 @@ export default [
183183
},
184184
},
185185

186+
/* Meta-ExternalAds */
187+
{
188+
test: [/meta-externalads/i],
189+
describe() {
190+
return {
191+
type: PLATFORMS_MAP.bot,
192+
vendor: 'Meta',
193+
};
194+
},
195+
},
196+
197+
/* Meta-ExternalAgent */
198+
{
199+
test: [/meta-externalagent/i],
200+
describe() {
201+
return {
202+
type: PLATFORMS_MAP.bot,
203+
vendor: 'Meta',
204+
};
205+
},
206+
},
207+
208+
/* Meta-ExternalFetcher */
209+
{
210+
test: [/meta-externalfetcher/i],
211+
describe() {
212+
return {
213+
type: PLATFORMS_MAP.bot,
214+
vendor: 'Meta',
215+
};
216+
},
217+
},
218+
186219
/* Meta Web Crawler */
187220
{
188221
test: [/facebookexternalhit/i, /facebookcatalog/i],

test/acceptance/useragentstrings.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2635,6 +2635,75 @@
26352635
type: "bot"
26362636
vendor: "Meta"
26372637
engine: {}
2638+
Meta-ExternalAds:
2639+
-
2640+
ua: "meta-externalads/1.1"
2641+
spec:
2642+
browser:
2643+
name: "Meta-ExternalAds"
2644+
version: "1.1"
2645+
os: {}
2646+
platform:
2647+
type: "bot"
2648+
vendor: "Meta"
2649+
engine: {}
2650+
-
2651+
ua: "meta-externalads/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2652+
spec:
2653+
browser:
2654+
name: "Meta-ExternalAds"
2655+
version: "1.1"
2656+
os: {}
2657+
platform:
2658+
type: "bot"
2659+
vendor: "Meta"
2660+
engine: {}
2661+
Meta-ExternalAgent:
2662+
-
2663+
ua: "meta-externalagent/1.1"
2664+
spec:
2665+
browser:
2666+
name: "Meta-ExternalAgent"
2667+
version: "1.1"
2668+
os: {}
2669+
platform:
2670+
type: "bot"
2671+
vendor: "Meta"
2672+
engine: {}
2673+
-
2674+
ua: "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2675+
spec:
2676+
browser:
2677+
name: "Meta-ExternalAgent"
2678+
version: "1.1"
2679+
os: {}
2680+
platform:
2681+
type: "bot"
2682+
vendor: "Meta"
2683+
engine: {}
2684+
Meta-ExternalFetcher:
2685+
-
2686+
ua: "meta-externalfetcher/1.1"
2687+
spec:
2688+
browser:
2689+
name: "Meta-ExternalFetcher"
2690+
version: "1.1"
2691+
os: {}
2692+
platform:
2693+
type: "bot"
2694+
vendor: "Meta"
2695+
engine: {}
2696+
-
2697+
ua: "meta-externalfetcher/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2698+
spec:
2699+
browser:
2700+
name: "Meta-ExternalFetcher"
2701+
version: "1.1"
2702+
os: {}
2703+
platform:
2704+
type: "bot"
2705+
vendor: "Meta"
2706+
engine: {}
26382707
Diffbot:
26392708
-
26402709
ua: "Mozilla/5.0 (compatible; Diffbot/3.0; +http://www.diffbot.com)"

0 commit comments

Comments
 (0)