From 14d6d269765cfdb371e3771853f4d4de486eb3ea Mon Sep 17 00:00:00 2001 From: Ayumi Hamasaki Date: Fri, 9 Oct 2020 12:43:13 +0100 Subject: [PATCH 1/6] PetalBot --- .travis.yml | 22 ++++++++++------------ data/applications-bots.php | 1 + data/regexes/applications-bots.php | 2 +- data/regexes/applications-browsers.php | 2 +- data/regexes/applications-others.php | 2 +- tests/data/bots/generic.yaml | 4 ++++ 6 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index ed4b58cca..be631473c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,14 +3,12 @@ dist: trusty language: php php: - - 5.4 - - 5.5 - - 5.6 - 7.0 - 7.1 - 7.2 - 7.3 - 7.4 + # - 8.0 (Release Date: November 26, 2020) before_script: - composer self-update @@ -22,20 +20,20 @@ before_script: # Set memory limit to 2 MB - echo "memory_limit=2048M" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - # Disable X-debug on all but PHP 5.6 - - if [ "$TRAVIS_PHP_VERSION" != "5.6" ]; then phpenv config-rm xdebug.ini; fi + # Disable X-debug on all but PHP 7.0 + - if [ "$TRAVIS_PHP_VERSION" != "7.0" ]; then phpenv config-rm xdebug.ini; fi script: - vendor/bin/phpcs --standard=PSR1,PSR2 -n src - # Run tests (all except PHP 5.6) - - if [ "$TRAVIS_PHP_VERSION" != "5.6" ]; then php bin/runner.php --show check; fi - - if [ "$TRAVIS_PHP_VERSION" != "5.6" ]; then vendor/bin/phpunit; fi + # Run tests (all except PHP 7.0) + - if [ "$TRAVIS_PHP_VERSION" != "7.0" ]; then php bin/runner.php --show check; fi + - if [ "$TRAVIS_PHP_VERSION" != "7.0" ]; then vendor/bin/phpunit; fi - # Run tests with coverage enabled (only PHP 5.6) - - if [ "$TRAVIS_PHP_VERSION" = "5.6" ]; then php bin/runner.php --coverage --show check; fi - - if [ "$TRAVIS_PHP_VERSION" = "5.6" ]; then vendor/bin/phpunit --coverage-clover phpunit.xml; fi + # Run tests with coverage enabled (only PHP 7.0) + - if [ "$TRAVIS_PHP_VERSION" = "7.0" ]; then php bin/runner.php --coverage --show check; fi + - if [ "$TRAVIS_PHP_VERSION" = "7.0" ]; then vendor/bin/phpunit --coverage-clover phpunit.xml; fi after_script: # Upload coverage to Coveralls.io - - if [ "$TRAVIS_PHP_VERSION" = "5.6" ]; then travis_retry php vendor/bin/coveralls -v; fi + - if [ "$TRAVIS_PHP_VERSION" = "7.0" ]; then travis_retry php vendor/bin/coveralls -v; fi diff --git a/data/applications-bots.php b/data/applications-bots.php index 3c3cac601..712e61f6d 100644 --- a/data/applications-bots.php +++ b/data/applications-bots.php @@ -177,6 +177,7 @@ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Collector\/([0-9.]*)/u' ], [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Mobile/u' ], [ 'name' => 'PagesInventory ', 'id' => 'pages', 'regexp' => '/PagesInventory/u' ], + [ 'name' => 'PetalBot', 'id' => 'petalbot', 'regexp' => '/PetalBot\/?([0-9.]*)/u' ], [ 'name' => 'Picsearch bot', 'id' => 'psbot', 'regexp' => '/psbot-page/u' ], [ 'name' => 'Pingdom', 'id' => 'pingdom', 'regexp' => '/Pingdom.com_bot_version_([0-9.]*)/u' ], [ 'name' => 'Pinterest', 'id' => 'pinterest', 'regexp' => '/Pinterest\/([0-9.]+)( \(+|$)/u' ], diff --git a/data/regexes/applications-bots.php b/data/regexes/applications-bots.php index fa8685a44..8c7d6d7f0 100644 --- a/data/regexes/applications-bots.php +++ b/data/regexes/applications-bots.php @@ -2,4 +2,4 @@ namespace WhichBrowser\Data; -Applications::$BOTS_REGEX = '/(008|360|a6|abound|muncher|adaxas|addthis|admantx|ahrefsbot|archiver|altavista|curious|cloudfront|amorank|archive|jeeves|astra|backlink|baidu|bazqux|bingbot|msnbot|msmobot|bing|blogbridge|bloglines|bloglovin|blogpulse|blogram|blogtrot|blogshares|boardreader|browsershots|bubing|buck|butterfly|bytespider|heritrix|cliqz|cloudflare|comodo|commafeed|cbot|watchdog|datasearch|daumoa|digg|domaincrawl|discord|domain|exabot|exactseek|ezooms|facebook|fast|flamingo|fastladder|feed|wrangler|validator|fever|florienzh|friendica|robot|genieo|fetchor|google|gomez|ichiro|gooblog|goorss|grammarly|grub|hatena|capture|heureka|htdig|httpmon|hubpages|spider|crawler|kakao|kouio|larbin|linkedin|linkdex|livedoor|ltx71|magpie|mapion|mail\.ru|socialstreams|mixi|mnogo|monitor|dotbot|rogerbot|yeti|netcraft|netvibes|newsblur|newsgator|nimbostratus|orange|pages|psbot|pingdom|pinterest|pocket|postrank|comment|rssbar|hunter|quora|safesearch|scrapy|semrush|seznam|shopwiki|reader|simplepie|site24|slack|sogou|sophora|soso|spdycheck|spinn|detector|summify|telegram|twisted|twitter|tiny|tlsprober|typhoeus|vagabondo|voat|voila|vocus|mcrawler|w3bot|jigsaw|w3c|wayback|webindexer|wordpress|mechanize|xerka|sitemap|yacy|yandex|yahoo|y\!j|slurp|yelp|httpclient|nutch|synapse|indy|wget|curl|package|java|simple|libwww|lwp|urllib|requests|php|pear|zend|ruby)/i'; +Applications::$BOTS_REGEX = '/(008|360|a6|abound|muncher|adaxas|addthis|admantx|ahrefsbot|archiver|altavista|curious|cloudfront|amorank|archive|jeeves|astra|backlink|baidu|bazqux|bingbot|msnbot|msmobot|bing|blogbridge|bloglines|bloglovin|blogpulse|blogram|blogtrot|blogshares|boardreader|browsershots|bubing|buck|butterfly|bytespider|heritrix|cliqz|cloudflare|comodo|commafeed|cbot|watchdog|datasearch|daumoa|digg|domaincrawl|discord|domain|exabot|exactseek|ezooms|facebook|fast|flamingo|fastladder|feed|wrangler|validator|fever|florienzh|friendica|robot|genieo|fetchor|google|gomez|ichiro|gooblog|goorss|grammarly|grub|hatena|capture|heureka|htdig|httpmon|hubpages|spider|crawler|kakao|kouio|larbin|linkedin|linkdex|livedoor|ltx71|magpie|mapion|mail\.ru|socialstreams|mixi|mnogo|monitor|dotbot|rogerbot|yeti|netcraft|netvibes|newsblur|newsgator|nimbostratus|orange|pages|petalbot|psbot|pingdom|pinterest|pocket|postrank|comment|rssbar|hunter|quora|safesearch|scrapy|semrush|seznam|shopwiki|reader|simplepie|site24|slack|sogou|sophora|soso|spdycheck|spinn|detector|summify|telegram|twisted|twitter|tiny|tlsprober|typhoeus|vagabondo|voat|voila|vocus|mcrawler|w3bot|jigsaw|w3c|wayback|webindexer|wordpress|mechanize|xerka|sitemap|yacy|yandex|yahoo|y\!j|slurp|yelp|httpclient|nutch|synapse|indy|wget|curl|package|java|simple|libwww|lwp|urllib|requests|php|pear|zend|ruby)/i'; diff --git a/data/regexes/applications-browsers.php b/data/regexes/applications-browsers.php index 4ffa37fb7..56d6f4a30 100644 --- a/data/regexes/applications-browsers.php +++ b/data/regexes/applications-browsers.php @@ -2,4 +2,4 @@ namespace WhichBrowser\Data; -Applications::$BROWSERS_REGEX = '/(115|126|2345|37abc|qihu|1stbrowser|7star|abrowse|acorn|acoo|amigo|aol|america|apus|arachne|arora|aweb|avant|asw|avg|aviator|avira|flyflow|bdbrowser|bdspark|basilisk|beamrise|beonex|blackwren|blackhawk|bolt|blackbird|brave|brisk|browsex|browzar|byffox|camino|canure|ccleaner|cent|charon|chedot|cheshire|chimlac|chimera|chromeplus|colibri|columbus|cometbird|comodo|dragon|conkeror|coc|coolnovo|corom|crazy|crusta|cunaguaro|cyberdog|cyberfox|daedalus|degan|demeter|deskbrowse|diigo|dillo|doczilla|rhodonit|dplus|elements|eudoraweb|falkon|flamesky|flock|framafox|freeu|galeon|globalmojo|epiphany|greenbrowser|hola|hydra|ibrowse|icab|iceape|icecat|icedove|iceweasel|irider|iridium|iron|kapiko|kazehakase|kchrome|kinza|kkman|klondike|kylo|meleon|lbrowser|lbbrowser|light|lobo|lolifox|lovense|lunascape|naenara|netcaptor|madfox|mxbrowser|min|mini|mixshark|mlbrowser|mypal|multixp|netpositive|nichrome|origyn|owb|live|juzi|orca|oregano|otter|palemoon|patriott|perk|polarity|privacy|qiyu|qtweb|quicklook|qupzilla|qute|rekonq|ryouko|sylera|saayaa|salam|shiira|sielo|sitekiosk|sleipnir|slimjet|metasr|sparrow|stainless|station|sunchrome|sundance|sundial|superbird|swiftweasel|swiftfox|swing|to-browser|tencent|tenfourfox|theworld|tulip|tungsten|ultrab|usejump|vimprobable|vivaldi|airwatch|vonkeror|voyager|waterfox|whale|winwap|xvast|yabrowser|zvu|zipzap|1password|3g explorer|4g explorer|aloha|atomiclite|au|awakening|baidu|bdmobile|bidu|baiduboxapp|browser|blazer|acheetahi|cornowser|coolmarket|cute|digia|doris|doroty|www browser|epic|eui|go\.web|helium|heytap|huohoubrowser|surfboard|isurf|jig browser|jumanji|tnsbrowser|kiosk|kiwi|lebrowser|liebao|macross|mammoth|mcent|mint|mib|cmcs|motorola|multizilla|netfrontlife|onebrowser|oneplus|plink|polaris|pure|openwave|up|km|oppo|quark|realme|semc|stnc|sogou|symphony|tenta|ucpro|vivo|weblite|wk|yaani|alti|aplix|awox|browserserver|isis|netbox|spyglass|oregan|viera|zetakey|bunjalloo|nwf|nuanti|wib|prince|demobrowser|dooble|dwb|evm|fireweb|hive|intermec|phantom|qt|roccat|raven|rockmelt|scope|slim|smbrowser|snowshoe|sputnik|surf|tao|taz|uzbl|villanova|vimb|wada|wavelink|webrender|webster|wyzo|yelang|yrcweb|linemode|lynx|links|w3m|nimbus|Webwasher|sankore|adapi|brightsign|coship)/i'; +Applications::$BROWSERS_REGEX = '/(115|126|2345|37abc|qihu|1stbrowser|7star|abrowse|acorn|acoo|amigo|aol|america|apus|arachne|arora|aweb|avant|asw|avg|aviator|avira|flyflow|bdbrowser|bdspark|basilisk|beamrise|beonex|blackwren|blackhawk|bolt|blackbird|brave|brisk|browsex|browzar|byffox|camino|canure|ccleaner|cent|charon|chedot|cheshire|chimlac|chimera|chromeplus|colibri|columbus|cometbird|comodo|dragon|conkeror|coc|coolnovo|corom|crazy|crusta|cunaguaro|cyberdog|cyberfox|daedalus|degan|demeter|deskbrowse|diigo|dillo|doczilla|rhodonit|dplus|elements|eudoraweb|falkon|flamesky|flock|framafox|freeu|galeon|globalmojo|epiphany|greenbrowser|hola|hydra|ibrowse|icab|iceape|icecat|icedove|iceweasel|irider|iridium|iron|kapiko|kazehakase|kchrome|kinza|kkman|klondike|kylo|meleon|lbrowser|lbbrowser|light|lobo|lolifox|lovense|lunascape|naenara|netcaptor|madfox|mxbrowser|min|mini|mixshark|mlbrowser|mypal|multixp|netpositive|nichrome|origyn|owb|live|juzi|orca|oregano|otter|palemoon|patriott|perk|polarity|privacy|qiyu|qtweb|quicklook|qupzilla|qute|rekonq|ryouko|sylera|saayaa|salam|shiira|sielo|sitekiosk|sleipnir|slimjet|metasr|sparrow|stainless|station|sunchrome|sundance|sundial|superbird|swiftweasel|swiftfox|swing|to-browser|tencent|tenfourfox|theworld|tulip|tungsten|ultrab|usejump|vimprobable|vivaldi|airwatch|vonkeror|voyager|waterfox|whale|winwap|xvast|yabrowser|zvu|zipzap|1password|3g explorer|4g explorer|aloha|atomiclite|au|awakening|baidu|bdmobile|bidu|baiduboxapp|browser|blazer|acheetahi|cornowser|coolmarket|cute|digia|doris|doroty|ecosia|www browser|epic|eui|go\.web|helium|heytap|huohoubrowser|surfboard|isurf|jig browser|jumanji|tnsbrowser|kiosk|kiwi|lebrowser|liebao|macross|mammoth|mcent|mint|mobicip|mib|cmcs|motorola|multizilla|netfrontlife|onebrowser|oneplus|plink|polaris|pure|openwave|up|km|oppo|quark|realme|semc|stnc|sogou|symphony|tenta|ucpro|vivo|weblite|wk|yaani|alti|aplix|awox|browserserver|isis|netbox|spyglass|oregan|viera|zetakey|bunjalloo|nwf|nuanti|wib|prince|demobrowser|dooble|dwb|evm|fireweb|hive|intermec|phantom|qt|roccat|raven|rockmelt|scope|slim|smbrowser|snowshoe|sputnik|surf|tao|taz|uzbl|villanova|vimb|wada|wavelink|webrender|webster|wyzo|yelang|yrcweb|linemode|lynx|links|w3m|nimbus|Webwasher|sankore|adapi|brightsign|coship)/i'; diff --git a/data/regexes/applications-others.php b/data/regexes/applications-others.php index c8000539e..483dcade1 100644 --- a/data/regexes/applications-others.php +++ b/data/regexes/applications-others.php @@ -2,4 +2,4 @@ namespace WhichBrowser\Data; -Applications::$OTHERS_REGEX = '/(itunes|qt|bluefish|nightingale|songbird|stagefright|substream|vlc|windows-media|coreplayer|flycast|boxee|kodi|xbmc|lightning|thunderbird|outlook|lotus|postbox|bat|yahoo|daum|flipboard|akregator|blogos|cococ|feed|liferea|news|jetbrains|rss|reeder|reedkit|rome|ziepod|messenger|kakao|kik|line|slack|viber|whatsapp|wire|yammer|fbios|fb4a|googleplus|instagram|pinterest|weibo|tumblr|twitter|wp-android|yelp|office|bingweb|hao123|gsa|naver|sogousearch|yandex|atom|golive|brackets|iweb|frontpage|amaya|websphere|download|tansodl|origin|secondlife|valve|raptr|alipay|cooliris|google|leechcraft|expeditor)/i'; +Applications::$OTHERS_REGEX = '/(itunes|qt|bluefish|nightingale|songbird|stagefright|substream|vlc|windows-media|coreplayer|flycast|boxee|kodi|xbmc|lightning|thunderbird|outlook|lotus|postbox|bat|yahoo|daum|flipboard|akregator|blogos|cococ|feed|liferea|news|jetbrains|rss|reeder|reedkit|rome|ziepod|messenger|kakao|kik|line|slack|viber|whatsapp|wire|yammer|zalo|fbios|fb4a|googleplus|instagram|pinterest|weibo|tumblr|twitter|wp-android|yelp|office|bingweb|hao123|gsa|naver|sogousearch|yandex|atom|golive|brackets|iweb|frontpage|amaya|websphere|download|tansodl|origin|secondlife|valve|raptr|alipay|cooliris|google|leechcraft|expeditor)/i'; diff --git a/tests/data/bots/generic.yaml b/tests/data/bots/generic.yaml index e219a037e..39f4f000a 100644 --- a/tests/data/bots/generic.yaml +++ b/tests/data/bots/generic.yaml @@ -586,3 +586,7 @@ headers: 'User-Agent: PocketParser/2.0 (+https://getpocket.com/pocketparser_ua)' readable: 'Pocket 2.0' result: { browser: { name: Pocket, version: '2.0' }, device: { type: bot } } +- + headers: 'User-Agent: Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://aspiegel.com/petalbot)' + readable: 'PetalBot' + result: { browser: { name: PetalBot }, device: { type: bot } } From cc0a129b440cf033dd11bd1a59a9fbf90799c69c Mon Sep 17 00:00:00 2001 From: Ayumi Hamasaki Date: Sat, 24 Oct 2020 21:56:08 +0100 Subject: [PATCH 2/6] Set name to iso standards --- data/applications-bots.php | 2 +- tests/data/bots/generic.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/applications-bots.php b/data/applications-bots.php index 712e61f6d..616831417 100644 --- a/data/applications-bots.php +++ b/data/applications-bots.php @@ -177,7 +177,7 @@ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Collector\/([0-9.]*)/u' ], [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Mobile/u' ], [ 'name' => 'PagesInventory ', 'id' => 'pages', 'regexp' => '/PagesInventory/u' ], - [ 'name' => 'PetalBot', 'id' => 'petalbot', 'regexp' => '/PetalBot\/?([0-9.]*)/u' ], + [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/PetalBot\/?([0-9.]*)/u' ], [ 'name' => 'Picsearch bot', 'id' => 'psbot', 'regexp' => '/psbot-page/u' ], [ 'name' => 'Pingdom', 'id' => 'pingdom', 'regexp' => '/Pingdom.com_bot_version_([0-9.]*)/u' ], [ 'name' => 'Pinterest', 'id' => 'pinterest', 'regexp' => '/Pinterest\/([0-9.]+)( \(+|$)/u' ], diff --git a/tests/data/bots/generic.yaml b/tests/data/bots/generic.yaml index 39f4f000a..af15961db 100644 --- a/tests/data/bots/generic.yaml +++ b/tests/data/bots/generic.yaml @@ -588,5 +588,5 @@ result: { browser: { name: Pocket, version: '2.0' }, device: { type: bot } } - headers: 'User-Agent: Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://aspiegel.com/petalbot)' - readable: 'PetalBot' - result: { browser: { name: PetalBot }, device: { type: bot } } + readable: 'Petal Bot' + result: { browser: { name: 'Petal Bot' }, device: { type: bot } } From 5730aafebec1e5e30773434892bae8d2651ed9d3 Mon Sep 17 00:00:00 2001 From: Ayumi Hamasaki Date: Sat, 24 Oct 2020 22:04:01 +0100 Subject: [PATCH 3/6] Add all the UA combinations hitting our test servers --- data/applications-bots.php | 1 + tests/data/bots/generic.yaml | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/data/applications-bots.php b/data/applications-bots.php index 616831417..c94907996 100644 --- a/data/applications-bots.php +++ b/data/applications-bots.php @@ -178,6 +178,7 @@ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Mobile/u' ], [ 'name' => 'PagesInventory ', 'id' => 'pages', 'regexp' => '/PagesInventory/u' ], [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/PetalBot\/?([0-9.]*)/u' ], + [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/AspiegelBot\/?([0-9.]*)/u' ], [ 'name' => 'Picsearch bot', 'id' => 'psbot', 'regexp' => '/psbot-page/u' ], [ 'name' => 'Pingdom', 'id' => 'pingdom', 'regexp' => '/Pingdom.com_bot_version_([0-9.]*)/u' ], [ 'name' => 'Pinterest', 'id' => 'pinterest', 'regexp' => '/Pinterest\/([0-9.]+)( \(+|$)/u' ], diff --git a/tests/data/bots/generic.yaml b/tests/data/bots/generic.yaml index af15961db..85066a4c1 100644 --- a/tests/data/bots/generic.yaml +++ b/tests/data/bots/generic.yaml @@ -586,7 +586,15 @@ headers: 'User-Agent: PocketParser/2.0 (+https://getpocket.com/pocketparser_ua)' readable: 'Pocket 2.0' result: { browser: { name: Pocket, version: '2.0' }, device: { type: bot } } +- + headers: 'User-Agent: Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)' + readable: 'Petal Bot' + result: { browser: { name: 'Petal Bot' }, device: { type: bot } } - headers: 'User-Agent: Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://aspiegel.com/petalbot)' readable: 'Petal Bot' result: { browser: { name: 'Petal Bot' }, device: { type: bot } } +- + headers: 'User-Agent: (compatible;PetalBot;+https://aspiegel.com/petalbot)' + readable: 'Petal Bot' + result: { browser: { name: 'Petal Bot' }, device: { type: bot } } From ec95255adf1d28986adf490055fb3dd18777e191 Mon Sep 17 00:00:00 2001 From: Ayumi Hamasaki Date: Sat, 24 Oct 2020 22:09:46 +0100 Subject: [PATCH 4/6] retest --- data/applications-bots.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/applications-bots.php b/data/applications-bots.php index c94907996..0ef971e00 100644 --- a/data/applications-bots.php +++ b/data/applications-bots.php @@ -178,7 +178,7 @@ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Mobile/u' ], [ 'name' => 'PagesInventory ', 'id' => 'pages', 'regexp' => '/PagesInventory/u' ], [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/PetalBot\/?([0-9.]*)/u' ], - [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/AspiegelBot\/?([0-9.]*)/u' ], + [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/Aspiegel/iu' ], [ 'name' => 'Picsearch bot', 'id' => 'psbot', 'regexp' => '/psbot-page/u' ], [ 'name' => 'Pingdom', 'id' => 'pingdom', 'regexp' => '/Pingdom.com_bot_version_([0-9.]*)/u' ], [ 'name' => 'Pinterest', 'id' => 'pinterest', 'regexp' => '/Pinterest\/([0-9.]+)( \(+|$)/u' ], From 6ba619faee7b4d4968be7110e195a05847660200 Mon Sep 17 00:00:00 2001 From: Ayumi Hamasaki Date: Sat, 24 Oct 2020 22:24:12 +0100 Subject: [PATCH 5/6] Recode --- data/applications-bots.php | 2 -- data/regexes/applications-bots.php | 2 +- src/Analyser/Header/Useragent/Bot.php | 11 +++++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/data/applications-bots.php b/data/applications-bots.php index 0ef971e00..3c3cac601 100644 --- a/data/applications-bots.php +++ b/data/applications-bots.php @@ -177,8 +177,6 @@ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Collector\/([0-9.]*)/u' ], [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Mobile/u' ], [ 'name' => 'PagesInventory ', 'id' => 'pages', 'regexp' => '/PagesInventory/u' ], - [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/PetalBot\/?([0-9.]*)/u' ], - [ 'name' => 'Petal Bot', 'id' => 'petalbot', 'regexp' => '/Aspiegel/iu' ], [ 'name' => 'Picsearch bot', 'id' => 'psbot', 'regexp' => '/psbot-page/u' ], [ 'name' => 'Pingdom', 'id' => 'pingdom', 'regexp' => '/Pingdom.com_bot_version_([0-9.]*)/u' ], [ 'name' => 'Pinterest', 'id' => 'pinterest', 'regexp' => '/Pinterest\/([0-9.]+)( \(+|$)/u' ], diff --git a/data/regexes/applications-bots.php b/data/regexes/applications-bots.php index 8c7d6d7f0..fa8685a44 100644 --- a/data/regexes/applications-bots.php +++ b/data/regexes/applications-bots.php @@ -2,4 +2,4 @@ namespace WhichBrowser\Data; -Applications::$BOTS_REGEX = '/(008|360|a6|abound|muncher|adaxas|addthis|admantx|ahrefsbot|archiver|altavista|curious|cloudfront|amorank|archive|jeeves|astra|backlink|baidu|bazqux|bingbot|msnbot|msmobot|bing|blogbridge|bloglines|bloglovin|blogpulse|blogram|blogtrot|blogshares|boardreader|browsershots|bubing|buck|butterfly|bytespider|heritrix|cliqz|cloudflare|comodo|commafeed|cbot|watchdog|datasearch|daumoa|digg|domaincrawl|discord|domain|exabot|exactseek|ezooms|facebook|fast|flamingo|fastladder|feed|wrangler|validator|fever|florienzh|friendica|robot|genieo|fetchor|google|gomez|ichiro|gooblog|goorss|grammarly|grub|hatena|capture|heureka|htdig|httpmon|hubpages|spider|crawler|kakao|kouio|larbin|linkedin|linkdex|livedoor|ltx71|magpie|mapion|mail\.ru|socialstreams|mixi|mnogo|monitor|dotbot|rogerbot|yeti|netcraft|netvibes|newsblur|newsgator|nimbostratus|orange|pages|petalbot|psbot|pingdom|pinterest|pocket|postrank|comment|rssbar|hunter|quora|safesearch|scrapy|semrush|seznam|shopwiki|reader|simplepie|site24|slack|sogou|sophora|soso|spdycheck|spinn|detector|summify|telegram|twisted|twitter|tiny|tlsprober|typhoeus|vagabondo|voat|voila|vocus|mcrawler|w3bot|jigsaw|w3c|wayback|webindexer|wordpress|mechanize|xerka|sitemap|yacy|yandex|yahoo|y\!j|slurp|yelp|httpclient|nutch|synapse|indy|wget|curl|package|java|simple|libwww|lwp|urllib|requests|php|pear|zend|ruby)/i'; +Applications::$BOTS_REGEX = '/(008|360|a6|abound|muncher|adaxas|addthis|admantx|ahrefsbot|archiver|altavista|curious|cloudfront|amorank|archive|jeeves|astra|backlink|baidu|bazqux|bingbot|msnbot|msmobot|bing|blogbridge|bloglines|bloglovin|blogpulse|blogram|blogtrot|blogshares|boardreader|browsershots|bubing|buck|butterfly|bytespider|heritrix|cliqz|cloudflare|comodo|commafeed|cbot|watchdog|datasearch|daumoa|digg|domaincrawl|discord|domain|exabot|exactseek|ezooms|facebook|fast|flamingo|fastladder|feed|wrangler|validator|fever|florienzh|friendica|robot|genieo|fetchor|google|gomez|ichiro|gooblog|goorss|grammarly|grub|hatena|capture|heureka|htdig|httpmon|hubpages|spider|crawler|kakao|kouio|larbin|linkedin|linkdex|livedoor|ltx71|magpie|mapion|mail\.ru|socialstreams|mixi|mnogo|monitor|dotbot|rogerbot|yeti|netcraft|netvibes|newsblur|newsgator|nimbostratus|orange|pages|psbot|pingdom|pinterest|pocket|postrank|comment|rssbar|hunter|quora|safesearch|scrapy|semrush|seznam|shopwiki|reader|simplepie|site24|slack|sogou|sophora|soso|spdycheck|spinn|detector|summify|telegram|twisted|twitter|tiny|tlsprober|typhoeus|vagabondo|voat|voila|vocus|mcrawler|w3bot|jigsaw|w3c|wayback|webindexer|wordpress|mechanize|xerka|sitemap|yacy|yandex|yahoo|y\!j|slurp|yelp|httpclient|nutch|synapse|indy|wget|curl|package|java|simple|libwww|lwp|urllib|requests|php|pear|zend|ruby)/i'; diff --git a/src/Analyser/Header/Useragent/Bot.php b/src/Analyser/Header/Useragent/Bot.php index e73aee116..96a54d702 100644 --- a/src/Analyser/Header/Useragent/Bot.php +++ b/src/Analyser/Header/Useragent/Bot.php @@ -42,6 +42,17 @@ private function &detectBot($ua) $this->data->device->type = Constants\DeviceType::BOT; } + /* Detect petal and aspiegel bots */ + + if (preg_match('/(PetalBot|/Aspiegel)/iu', $ua, $match)) { + $this->data->browser->reset(); + $this->data->device->reset(); + + $this->data->browser->name = 'Petal Bot'; + + $this->data->device->type = Constants\DeviceType::BOT; + } + return $this; } } From fc122e904b68d90a6b4f52b37eebfb5df22eeb38 Mon Sep 17 00:00:00 2001 From: Ayumi Hamasaki Date: Sat, 24 Oct 2020 22:24:58 +0100 Subject: [PATCH 6/6] typo --- src/Analyser/Header/Useragent/Bot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Analyser/Header/Useragent/Bot.php b/src/Analyser/Header/Useragent/Bot.php index 96a54d702..772f0d5ad 100644 --- a/src/Analyser/Header/Useragent/Bot.php +++ b/src/Analyser/Header/Useragent/Bot.php @@ -44,7 +44,7 @@ private function &detectBot($ua) /* Detect petal and aspiegel bots */ - if (preg_match('/(PetalBot|/Aspiegel)/iu', $ua, $match)) { + if (preg_match('/(PetalBot|Aspiegel)/iu', $ua, $match)) { $this->data->browser->reset(); $this->data->device->reset();