browser 2.5.3 → 5.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE.md +1 -1
- data/.github/workflows/tests.yml +57 -0
- data/.gitignore +1 -0
- data/.prettierignore +1 -0
- data/.rubocop.yml +22 -107
- data/CHANGELOG.md +170 -6
- data/FUNDING.yml +3 -0
- data/Gemfile +2 -0
- data/README.md +139 -89
- data/Rakefile +11 -2
- data/bot_exceptions.yml +2 -0
- data/bots.yml +302 -265
- data/browser.gemspec +12 -7
- data/gemfiles/rails6_0.gemfile +6 -0
- data/gemfiles/rails6_1.gemfile +6 -0
- data/lib/browser/accept_language.rb +6 -9
- data/lib/browser/action_controller.rb +1 -3
- data/lib/browser/aliases.rb +5 -5
- data/lib/browser/alipay.rb +2 -2
- data/lib/browser/base.rb +101 -19
- data/lib/browser/blackberry.rb +3 -3
- data/lib/browser/bot/empty_user_agent_matcher.rb +11 -0
- data/lib/browser/bot/keyword_matcher.rb +11 -0
- data/lib/browser/bot/known_bots_matcher.rb +11 -0
- data/lib/browser/bot.rb +39 -27
- data/lib/browser/browser.rb +65 -54
- data/lib/browser/chrome.rb +18 -5
- data/lib/browser/detect_version.rb +5 -5
- data/lib/browser/device/android.rb +20 -0
- data/lib/browser/device/blackberry_playbook.rb +1 -1
- data/lib/browser/device/ipad.rb +1 -1
- data/lib/browser/device/iphone.rb +1 -1
- data/lib/browser/device/ipod_touch.rb +1 -1
- data/lib/browser/device/kindle.rb +1 -1
- data/lib/browser/device/kindle_fire.rb +1 -1
- data/lib/browser/device/playstation3.rb +1 -1
- data/lib/browser/device/playstation4.rb +1 -1
- data/lib/browser/device/psp.rb +1 -1
- data/lib/browser/device/psvita.rb +1 -1
- data/lib/browser/device/samsung.rb +33 -0
- data/lib/browser/device/surface.rb +2 -4
- data/lib/browser/device/switch.rb +19 -0
- data/lib/browser/device/tv.rb +1 -1
- data/lib/browser/device/unknown.rb +1 -1
- data/lib/browser/device/wii.rb +1 -1
- data/lib/browser/device/wiiu.rb +1 -1
- data/lib/browser/device/xbox_360.rb +1 -1
- data/lib/browser/device/xbox_one.rb +1 -1
- data/lib/browser/device.rb +47 -30
- data/lib/browser/duck_duck_go.rb +22 -0
- data/lib/browser/edge.rb +6 -2
- data/lib/browser/electron.rb +2 -2
- data/lib/browser/facebook.rb +4 -2
- data/lib/browser/firefox.rb +2 -2
- data/lib/browser/google_search_app.rb +21 -0
- data/lib/browser/huawei_browser.rb +21 -0
- data/lib/browser/instagram.rb +21 -0
- data/lib/browser/internet_explorer.rb +9 -10
- data/lib/browser/maxthon.rb +21 -0
- data/lib/browser/meta/base.rb +0 -1
- data/lib/browser/meta/generic_browser.rb +1 -3
- data/lib/browser/meta.rb +12 -13
- data/lib/browser/micro_messenger.rb +2 -2
- data/lib/browser/middleware/context/additions.rb +1 -1
- data/lib/browser/middleware.rb +4 -3
- data/lib/browser/miui_browser.rb +21 -0
- data/lib/browser/nokia.rb +2 -2
- data/lib/browser/opera.rb +2 -2
- data/lib/browser/otter.rb +2 -2
- data/lib/browser/phantom_js.rb +2 -2
- data/lib/browser/platform/adobe_air.rb +2 -2
- data/lib/browser/platform/android.rb +1 -1
- data/lib/browser/platform/base.rb +3 -2
- data/lib/browser/platform/blackberry.rb +2 -2
- data/lib/browser/platform/chrome_os.rb +1 -1
- data/lib/browser/platform/firefox_os.rb +1 -1
- data/lib/browser/platform/ios.rb +17 -4
- data/lib/browser/platform/kai_os.rb +23 -0
- data/lib/browser/platform/linux.rb +1 -1
- data/lib/browser/platform/mac.rb +5 -3
- data/lib/browser/platform/{other.rb → unknown.rb} +3 -3
- data/lib/browser/platform/windows.rb +2 -2
- data/lib/browser/platform/windows_mobile.rb +1 -1
- data/lib/browser/platform/windows_phone.rb +1 -1
- data/lib/browser/platform.rb +37 -28
- data/lib/browser/qq.rb +5 -5
- data/lib/browser/rails.rb +7 -5
- data/lib/browser/safari.rb +19 -4
- data/lib/browser/samsung_browser.rb +21 -0
- data/lib/browser/snapchat.rb +21 -0
- data/lib/browser/sougou_browser.rb +24 -0
- data/lib/browser/sputnik.rb +21 -0
- data/lib/browser/uc_browser.rb +2 -2
- data/lib/browser/{generic.rb → unknown.rb} +6 -8
- data/lib/browser/version.rb +1 -1
- data/lib/browser/weibo.rb +2 -2
- data/lib/browser/yandex.rb +21 -0
- data/lib/browser.rb +2 -2
- data/samsung.yml +138 -0
- data/search_engines.yml +2 -2
- data/test/browser_test.rb +42 -10
- data/test/rails_test.rb +10 -0
- data/test/sample_app.rb +14 -0
- data/test/test_helper.rb +9 -1
- data/test/ua.yml +147 -109
- data/test/ua_bots.yml +95 -60
- data/test/ua_search_engines.yml +7 -6
- data/test/unit/accept_language_test.rb +16 -0
- data/test/unit/adobe_air_test.rb +1 -1
- data/test/unit/alipay_test.rb +6 -0
- data/test/unit/blackberry_test.rb +0 -6
- data/test/unit/bots_test.rb +37 -36
- data/test/unit/chrome_test.rb +8 -19
- data/test/unit/console_test.rb +2 -2
- data/test/unit/device_test.rb +60 -3
- data/test/unit/duck_duck_go_test.rb +37 -0
- data/test/unit/edge_test.rb +49 -5
- data/test/unit/facebook_test.rb +20 -0
- data/test/unit/firefox_test.rb +0 -3
- data/test/unit/google_search_app_test.rb +54 -0
- data/test/unit/huawei_browser_test.rb +25 -0
- data/test/unit/instagram_test.rb +30 -0
- data/test/unit/internet_explorer_test.rb +0 -12
- data/test/unit/ios_test.rb +7 -5
- data/test/unit/kai_os_test.rb +31 -0
- data/test/unit/kindle_test.rb +0 -2
- data/test/unit/maxthon_test.rb +25 -0
- data/test/unit/meta_test.rb +10 -2
- data/test/unit/micro_messenger_test.rb +21 -6
- data/test/unit/miui_browser_test.rb +25 -0
- data/test/unit/opera_test.rb +1 -2
- data/test/unit/platform_test.rb +34 -8
- data/test/unit/qq_test.rb +12 -0
- data/test/unit/safari_test.rb +12 -7
- data/test/unit/samsung_browser_test.rb +23 -0
- data/test/unit/snapchat_test.rb +40 -0
- data/test/unit/sougou_browser_test.rb +41 -0
- data/test/unit/sputnik_test.rb +22 -0
- data/test/unit/yandex_test.rb +37 -0
- metadata +83 -27
- data/.bundle/config +0 -2
- data/.travis.yml +0 -16
- data/bin/rake +0 -17
- data/gemfiles/rails4.gemfile +0 -4
- data/gemfiles/rails5.gemfile +0 -4
- data/lib/browser/meta/modern.rb +0 -11
data/bots.yml
CHANGED
@@ -1,267 +1,304 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
1
|
+
---
|
2
|
+
200pleasebot: 200PleaseBot
|
3
|
+
360spider: 360Spider
|
4
|
+
abot: CrawlDaddy, abot
|
5
|
+
addthis: AddThis
|
6
|
+
adldxbot: Microsoft Bing Ads
|
7
|
+
admantx: ADmantX Platform Semantic Analyzer
|
8
|
+
adsbot-google: Google Adwords
|
9
|
+
adstxtcrawler: AdsTxtCrawler
|
10
|
+
advbot: AdvBot
|
11
|
+
ahrefsbot: Ahrefs backlinks research tool
|
12
|
+
alexa: Alexa Crawler
|
13
|
+
anderspink: AndersPinkBot
|
14
|
+
apache-httpclient: Java http library
|
15
|
+
apachebench: ApacheBench (ab)
|
14
16
|
apis-google: APIs-Google
|
15
|
-
appengine-google:
|
16
|
-
applebot:
|
17
|
-
archive.org_bot:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
17
|
+
appengine-google: Google App Engine
|
18
|
+
applebot: Apple Bot
|
19
|
+
archive.org_bot: Internet Archive (archive.org)
|
20
|
+
archiveteam archivebot: ArchiveTeam ArchiveBot
|
21
|
+
ask jeeves: Ask Jeeves
|
22
|
+
asynchttpclient: Java http and WebSocket client library
|
23
|
+
awe.sm: Awe.sm URL expander
|
24
|
+
baidu: Baidu
|
25
|
+
barkrowler: Barkrowler
|
26
|
+
bdcbot: Big Data Corp
|
27
|
+
bingbot: Microsoft Bing
|
28
|
+
bingpreview: Microsoft Bing preview
|
29
|
+
bitlybot: bit.ly bot
|
30
|
+
blekkobot: Blekkobot
|
31
|
+
blexbot: BLEXBot (webmeup)
|
32
|
+
bot@linkfluence.net: Linkfluence bot
|
33
|
+
bubing: BUbiNG
|
34
|
+
bufferbot: BufferBot
|
35
|
+
buibui-checkbot: buibui
|
36
|
+
butterfly: Topsy Labs
|
37
|
+
buzzbot: Buzzbot
|
38
|
+
buzztalk: buzztalk
|
39
|
+
catchbot: CatchBot (catchbot.com)
|
40
|
+
check_http: Nagios monitor
|
41
|
+
chrome-lighthouse: Chrome-Lighthouse
|
42
|
+
cipacrawler: CipaCrawler
|
43
|
+
cliqzbot: Cliqzbot
|
44
|
+
cloudflare: CloudFlare-AlwaysOnline
|
45
|
+
cmradar/0.1: CMRadar/0.1
|
46
|
+
coldfusion: ColdFusion http library
|
47
|
+
commoncrawl: CCBot
|
48
|
+
comodo ssl checker: COMODO SSL Checker
|
49
|
+
comodo-webinspector-crawler: Comodo
|
50
|
+
copypants: BotPants
|
51
|
+
crowsnest: Crowsnest
|
52
|
+
curabot: cura.yt
|
53
|
+
curl: curl unix CLI http client
|
54
|
+
dap/nethttp: DAP/NetHTTP
|
55
|
+
datafeedwatch: DataFeedWatch
|
56
|
+
datagnionbot: datagnion.com/bot.html
|
57
|
+
datanyze: Datanyze
|
58
|
+
daumoa: Korean portal and search engine indexing bot
|
59
|
+
developers.google.com/+/web/snippet/: Google Plus
|
60
|
+
diffbot: Diffbot
|
61
|
+
digitalpersona fingerprint software: HP Fingerprint scanner
|
62
|
+
domain re-animator bot: Domain Re-Animator Bot
|
63
|
+
domainsbot: DomainsBot
|
64
|
+
domaintunocrawler: DomainTuno
|
65
|
+
dotbot: Dot Bot
|
66
|
+
duckduckbot: Duck Duck Go
|
67
|
+
elb-healthchecker: AWS ELB HealthChecker
|
68
|
+
embedly: Embedly
|
69
|
+
eoaagent: EOAAgent
|
70
|
+
everyonesocialbot: EveryoneSocial
|
71
|
+
evrinid: Evri bot
|
72
|
+
exabot: Exalead's bot
|
73
|
+
exaleadcloudview: ExaleadCloudView
|
74
|
+
ez publish: eZ Publish Link Validator
|
75
|
+
facebookexternalhit: Facebook Bot
|
76
|
+
facebot: Facebook Bot
|
77
|
+
feedburner: RSS bot
|
78
|
+
feedfetcher-google: Google Feedfetcher
|
79
|
+
findxbot: Findxbot
|
80
|
+
flipboardproxy: FlipboardProxy
|
81
|
+
friendfeedbot: FriendFeed
|
82
|
+
fyrebot: Fyrebot
|
83
|
+
garlik: GarlikCrawler
|
84
|
+
genieo: Genieo Web filter bot
|
85
|
+
germcrawler: GermCrawler
|
86
|
+
getprismatic.com: getprismatic.com
|
87
|
+
gigabot: Gigabot spider
|
88
|
+
gimme60bot: Gimme60 (gimme60.com)
|
89
|
+
gimmeusabot: Gimme60 (gimme60.com)
|
90
|
+
go http package: Go http library
|
91
|
+
go-http-client: Go http client
|
92
|
+
google page speed insights: Google Page Speed Insights
|
93
|
+
google web preview: Google Instant Previews crawler
|
94
|
+
google-site-verification: Google Site Verification
|
95
|
+
google-structured-data-testing-tool: Google Structured Data Testing Tool
|
96
|
+
google-structureddatatestingtool: Google Structured Data Testing Tool
|
97
|
+
google-xrawler: Google Shopping
|
98
|
+
googlebot: Google Bot
|
99
|
+
googleimageproxy: Google Image Proxy
|
100
|
+
googlestackdrivermonitoring-uptimechecks: Google Stackdriver Monitoring - Uptime Checks
|
101
|
+
grapeshotcrawler: GrapeshotCrawler
|
102
|
+
gravitybot: Gravity Bot
|
103
|
+
hatena::bookmark: Hatena::Bookmark
|
104
|
+
heritrix: heritrix
|
105
|
+
https://developers.google.com/+/web/snippet: Google+ Snippet Fetcher
|
106
|
+
httrack: HTTrack
|
107
|
+
hubspot: HubSpot
|
108
|
+
ia_archiver: Internet Archive (WayBackMachine)
|
109
|
+
icoreservice: iCoreService
|
110
|
+
idmarch: idmarch.org/bot.html
|
111
|
+
implisensebot: ImplisenseBot
|
112
|
+
inagist: URL resolver
|
113
|
+
insieve: Insieve Bot
|
114
|
+
insitesbot: Insitesbot
|
115
|
+
instapaper: Instapaper
|
116
|
+
istellabot: IstellaBot
|
117
|
+
jaunt: Jaunt - Java Web Scraping & JSON Querying
|
118
|
+
jetslide: Jetslide
|
119
|
+
jobseeker: jobseeker.com.au/bot.html
|
120
|
+
jooble: Jooble
|
121
|
+
js-kit: URL resolver
|
122
|
+
kemvibot: Kemvi
|
123
|
+
kimengi: Kimengi Bot
|
124
|
+
knows.is: knows.is
|
125
|
+
kojitsubot: Kojitsubot
|
126
|
+
komodiabot: KomodiaBot
|
127
|
+
kraken: kraken
|
128
|
+
laconica: Laconica
|
129
|
+
lijit crawler: Lijit
|
130
|
+
linkdexbot: Linkdex Bot
|
131
|
+
linkedinbot: LinkedIn
|
132
|
+
linkscrawler: LinksCrawler
|
133
|
+
linode: Linode Longview
|
134
|
+
lipperhey: Lipperhey
|
135
|
+
livelapbot: Livelapbot
|
136
|
+
loadtimebot: Load Time Bot
|
137
|
+
longurl: URL expander service
|
138
|
+
ltx71: ltx71.com
|
139
|
+
lumibot: Lumibot
|
140
|
+
magpie-crawler: magpie-crawler
|
141
|
+
mail.ru_bot: Mail.ru Bot
|
142
|
+
mappydata: Mappy
|
143
|
+
mastodon: Mastodon URL expander
|
144
|
+
mauibot: MauiBot
|
145
|
+
meanpathbot: meanpath
|
146
|
+
mediapartners-google: Google Adsense bot
|
147
|
+
megaindex.ru: MegaIndex
|
148
|
+
memorybot: mignify.com/bot.html
|
149
|
+
metauri: MetaURI
|
150
|
+
mfe_expand: Mcafee spider
|
151
|
+
mir web crawler: MIR web crawler
|
152
|
+
mj12bot: Majestic-12 spider
|
153
|
+
mojeekbot: Mojeek UK search crawler
|
154
|
+
ms search 6.0 robot: MS Search 6.0 Robot
|
155
|
+
msnbot-media: Microsoft media bot
|
156
|
+
msnbot: Microsoft bot
|
157
|
+
nerdybot: NerdyBot
|
158
|
+
netcraft: Netcraft
|
159
|
+
netstate: netEstate NE Crawler
|
160
|
+
netvibes: Personalized dashboard bot
|
161
|
+
netzcheckbot: netzcheck
|
162
|
+
newrelicmonitor: NewRelic monitor
|
163
|
+
newrelicpinger: NewRelicPinger
|
164
|
+
newsme: newsme
|
165
|
+
niki-bot: niki-bot
|
166
|
+
ning: NING - Yet Another Twitter Swarmer
|
167
|
+
nutch: Apache search spider
|
168
|
+
openhosebot: OpenHoseBot
|
169
|
+
orangebot: OrangeBot
|
170
|
+
paessler: paessler.com - PRTG Network Monitor
|
171
|
+
pagesinventory: pagesinventory.com
|
172
|
+
panopta: Monitoring service
|
173
|
+
paperlibot: PaperLi
|
174
|
+
peerindex: peerindex
|
175
|
+
percolatecrawler: PercolateCrawler
|
176
|
+
perfectmarketkwtbot: PerfectMarket
|
177
|
+
phantomjs: PhantomJS
|
178
|
+
pingdom: Pingdom monitoring
|
179
|
+
pinterest: Pinterest
|
180
|
+
plukkie: botje.com/plukkie.htm
|
181
|
+
pr-cy.ru: PR-CY.RU
|
182
|
+
privacyawarebot: PrivacyAwareBot
|
183
|
+
proximic: Proximic Spider
|
184
|
+
psbot-page: Picsearch
|
185
|
+
pu_in: Pu_iN Crawler
|
186
|
+
publiclibraryarchive.org: publiclibraryarchive.org
|
187
|
+
pycurl: Python http library
|
188
|
+
python-httplib2: Python-httplib2
|
189
|
+
python-requests: Python http library
|
190
|
+
python-urllib: Python http library
|
191
|
+
queryseeker: QuerySeekerSpider
|
192
|
+
quick-crawler: Quick-Crawler
|
193
|
+
quicklook: QuickLook
|
194
|
+
re-animator: Domain Re-Animator Bot
|
195
|
+
readability: Readability
|
196
|
+
rebelmouse: RebelMouse
|
197
|
+
redditbot: Reddit Bot
|
198
|
+
relateiq: RelateIQ
|
199
|
+
riddler: Riddler Bot
|
200
|
+
rogerbot: SeoMoz spider
|
201
|
+
rssmicro: RSS/Atom Feed Robot (rssmicro.com)
|
202
|
+
scouturlmonitor: ScoutURLMonitor
|
203
|
+
scrapy: Scrapy
|
192
204
|
screaming frog seo spider: Screaming Frog SEO Spider
|
193
|
-
searchmetricsbot:
|
194
|
-
semanticbot:
|
195
|
-
semrushbot:
|
196
|
-
seo-audit:
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
205
|
+
searchmetricsbot: SearchmetricsBot
|
206
|
+
semanticbot: Semanticbot
|
207
|
+
semrushbot: SEO analysis bot
|
208
|
+
seo-audit: seo-audit-check-bot
|
209
|
+
seobilitybot: SeobilityBot
|
210
|
+
seodiver: SEOdiver
|
211
|
+
seokicks: SEOKicks
|
212
|
+
seznambot: SeznamBot
|
213
|
+
shopwiki: ShopWiki
|
214
|
+
shortlinktranslate: Link shortener
|
215
|
+
showyoubot: Showyou iOS app spider
|
216
|
+
siege: Joe Dog Siege
|
217
|
+
sistrix: SISTRIX
|
218
|
+
sitecheck: SiteCheck sitecrawl
|
219
|
+
siteuptime: Site monitoring services
|
220
|
+
skypeuripreview: SkypeUriPreview
|
221
|
+
slack-imgproxy: Slack Image Proxy
|
222
|
+
slack-linkexpanding: Slack Link Expanding
|
223
|
+
slack: Slack Link Expanding
|
224
|
+
slackbot: Slackbot
|
225
|
+
slurp: Yahoo spider
|
226
|
+
smtbot: SimilarTech
|
227
|
+
snapchat: Snapchat
|
228
|
+
socialrank: SocialRankIOBot
|
229
|
+
sogou: Chinese search engine
|
230
|
+
spbot: OpenLinkProfiler
|
231
|
+
spinn3r: Spinn3r aggregator
|
232
|
+
sputnikbot: SputnikBot
|
233
|
+
squider: Squider
|
234
|
+
statuscake: StatusCake
|
235
|
+
swiftbot: Swiftype Bot
|
236
|
+
tangibleebot: TangibleeBot
|
237
|
+
teeraid: TeeRaidBot
|
238
|
+
test certificate info: C http library?
|
239
|
+
the knowledge ai: Knowledge AI Bot
|
240
|
+
tineye: TinEye Bot
|
241
|
+
traackr: Traackr Bot
|
242
|
+
trendictionbot: Trendiction Search
|
243
|
+
trendsmap: Trendsmap Resolver
|
244
|
+
turnitinbot: TurnitinBot
|
245
|
+
tweetedtimes: The Tweeted Times
|
246
|
+
tweetmemebot: TweetMeMe Crawler
|
247
|
+
twikle: Social web search bot
|
248
|
+
twitjobsearch: TwitJobSearch
|
249
|
+
twitmunin: Twitmunin
|
250
|
+
twitterbot: Twitter URL expander
|
251
|
+
twurly: Twurly
|
252
|
+
typhoeus: Typhoeus
|
253
|
+
umbot: uberMetrics
|
254
|
+
unwindfetch: Gnip
|
255
|
+
updown: Updown.io monitor
|
256
|
+
uptimerobot: Uptime Robot
|
257
|
+
vagabondo: Vagabondo
|
258
|
+
vb project: Visual Basic
|
259
|
+
vigil: Vigil
|
260
|
+
vkshare: VKontake Sharer
|
261
|
+
voilabot: VoilaBot
|
262
|
+
vrcrawler: Venture Radar
|
263
|
+
wasalive-bot: Wasalive Bots
|
264
|
+
watchsumo: WatchSumo
|
265
|
+
wbsearchbot: Ware Bay Best Buys
|
266
|
+
webceo: online-webceo-bot
|
267
|
+
webscout: Webscout
|
268
|
+
wesee: WeSEE
|
269
|
+
wget: wget unix CLI http client
|
270
|
+
whatsapp: WhatsApp
|
271
|
+
wikido: WikiDo
|
272
|
+
woorank: WooRank
|
273
|
+
wordpress: WordPress spider
|
274
|
+
woriobot: woriobot
|
275
|
+
wormly: WormlyBot
|
276
|
+
wotbox: Wotbox
|
277
|
+
xenu link sleuth: Xenu Link Sleuth
|
278
|
+
xing-contenttabreceiver: Xing bot
|
279
|
+
xovibot: XoviBot
|
280
|
+
yacybot: YaCy
|
281
|
+
yahoo-ad-monitoring: Yahoo Ad monitoring
|
282
|
+
yandex: Yandex
|
283
|
+
yanga: Yanga WorldSearch Bot
|
284
|
+
yeti: Naver Corp
|
285
|
+
yourls: YOURLS
|
286
|
+
zabbix: Zabbix
|
287
|
+
zelist.ro: feed parser
|
288
|
+
zibb: ZIBB spider
|
289
|
+
zitebot: Zite
|
290
|
+
zoombot: ZoomBot
|
291
|
+
zoominfobot: ZoominfoBot
|
292
|
+
zyborg: Zyborg
|
293
|
+
|
294
|
+
# Generic lib user agents go here.
|
295
|
+
eventmachine httpclient: Ruby http library
|
296
|
+
go 1.1 package http: Go 1.1 package http
|
297
|
+
htmlparser: HTMLParser
|
298
|
+
http_request2: HTTP_Request2
|
299
|
+
httpclient: HTTPClient
|
300
|
+
jakarta commons: Jakarta Commons HttpClient
|
301
|
+
java: Generic Java http library
|
302
|
+
libwww-perl: Perl client-server library
|
303
|
+
lwp-trivial: Another Perl library
|
304
|
+
ruby: Ruby
|
data/browser.gemspec
CHANGED
@@ -1,16 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "./lib/browser/version"
|
2
4
|
|
3
5
|
Gem::Specification.new do |s|
|
4
|
-
s.required_ruby_version = ">= 2.0"
|
5
6
|
s.name = "browser"
|
6
7
|
s.version = Browser::VERSION
|
7
8
|
s.platform = Gem::Platform::RUBY
|
8
9
|
s.authors = ["Nando Vieira"]
|
9
10
|
s.email = ["fnando.vieira@gmail.com"]
|
10
|
-
s.homepage = "
|
11
|
+
s.homepage = "https://github.com/fnando/browser"
|
11
12
|
s.summary = "Do some browser detection with Ruby."
|
12
13
|
s.description = s.summary
|
13
14
|
s.license = "MIT"
|
15
|
+
s.required_ruby_version = ">= 2.5.0"
|
16
|
+
|
17
|
+
s.metadata["changelog_uri"] = "https://github.com/fnando/browser/blob/main/CHANGELOG.md"
|
14
18
|
|
15
19
|
s.files = `git ls-files`.split("\n")
|
16
20
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
@@ -20,13 +24,14 @@ Gem::Specification.new do |s|
|
|
20
24
|
s.require_paths = ["lib"]
|
21
25
|
|
22
26
|
s.add_development_dependency "bundler", ">= 0"
|
23
|
-
s.add_development_dependency "rake"
|
24
|
-
s.add_development_dependency "rails"
|
25
|
-
s.add_development_dependency "rack-test"
|
26
27
|
s.add_development_dependency "minitest"
|
28
|
+
s.add_development_dependency "minitest-autotest"
|
27
29
|
s.add_development_dependency "minitest-utils"
|
28
30
|
s.add_development_dependency "pry-meta"
|
29
|
-
s.add_development_dependency "
|
30
|
-
s.add_development_dependency "
|
31
|
+
s.add_development_dependency "rack-test"
|
32
|
+
s.add_development_dependency "rails"
|
33
|
+
s.add_development_dependency "rake"
|
31
34
|
s.add_development_dependency "rubocop"
|
35
|
+
s.add_development_dependency "rubocop-fnando"
|
36
|
+
s.add_development_dependency "simplecov"
|
32
37
|
end
|