CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Tue, 19 Aug 2025 12:30:06 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20081222121934
location: https://web.archive.org/web/20081222121934/https://github.com/josh/useragent/tree
server-timing: captures_list;dur=1.008471, exclusion.robots;dur=0.030188, exclusion.robots.policy;dur=0.013113, esindex;dur=0.013776, cdx.remote;dur=64.086270, LoadShardBlock;dur=644.177690, PetaboxLoader3.datanode;dur=100.806870, PetaboxLoader3.resolve;dur=89.634212
x-app-server: wwwb-app216
x-ts: 302
x-tr: 761
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app216; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Tue, 19 Aug 2025 12:30:06 GMT
content-type: text/html; charset=utf-8
content-length: 110
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Mon, 22 Dec 2008 12:19:31 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: tender_email=; domain=.github.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: tender_expires=; domain=.github.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: tender_hash=; domain=.github.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: _github_sess=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: _github_ses=BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoOcmV0dXJuX3RvIhsvaW5ib3gvbmV3L3ByaW1hdGVsYWJz--2c66ce12297a5041933f99ce0e663dcd168fa644; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20081222121934/https://github.com/josh/useragent/tree/master
x-archive-orig-x-runtime: 997ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 110
cache-control: max-age=1800
memento-datetime: Mon, 22 Dec 2008 12:19:34 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 04 Dec 2008 12:06:57 GMT", ; rel="prev memento"; datetime="Thu, 04 Dec 2008 12:06:57 GMT", ; rel="memento"; datetime="Mon, 22 Dec 2008 12:19:34 GMT", ; rel="next memento"; datetime="Tue, 31 Mar 2009 07:00:19 GMT", ; rel="last memento"; datetime="Tue, 22 Sep 2009 04:19:36 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20081222091407_crawl101-c/52_7_20081222121237_crawl103.arc.gz
server-timing: captures_list;dur=0.650020, exclusion.robots;dur=0.026098, exclusion.robots.policy;dur=0.011450, esindex;dur=0.013644, cdx.remote;dur=10.189161, LoadShardBlock;dur=267.722256, PetaboxLoader3.resolve;dur=355.065050, PetaboxLoader3.datanode;dur=128.555523, load_resource;dur=259.004353
x-app-server: wwwb-app216
x-ts: 301
x-tr: 568
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Tue, 19 Aug 2025 12:30:07 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Mon, 22 Dec 2008 12:19:34 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: tender_email=; domain=.github.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: tender_expires=; domain=.github.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: tender_hash=; domain=.github.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: _github_sess=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
x-archive-orig-set-cookie: _github_ses=BAh7BzoOcmV0dXJuX3RvIhsvaW5ib3gvbmV3L3ByaW1hdGVsYWJzIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--1942eeff2f81aab83b1f7ed28434c7e5ed7453af; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 1227ms
x-archive-orig-etag: "4afc72e9e6bf14079607e763755240a6"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 14166
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 22 Dec 2008 12:19:34 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 24 Oct 2008 18:04:43 GMT", ; rel="prev memento"; datetime="Fri, 24 Oct 2008 18:04:43 GMT", ; rel="memento"; datetime="Mon, 22 Dec 2008 12:19:34 GMT", ; rel="next memento"; datetime="Wed, 24 Dec 2008 15:14:01 GMT", ; rel="last memento"; datetime="Thu, 01 Oct 2009 04:37:07 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20081222091407_crawl101-c/52_7_20081222121237_crawl103.arc.gz
server-timing: captures_list;dur=0.485864, exclusion.robots;dur=0.017866, exclusion.robots.policy;dur=0.007661, esindex;dur=0.011761, cdx.remote;dur=31.248461, LoadShardBlock;dur=283.156386, PetaboxLoader3.resolve;dur=256.114753, PetaboxLoader3.datanode;dur=109.711422, load_resource;dur=90.123419
x-app-server: wwwb-app216
x-ts: 200
x-tr: 461
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
josh's useragent at master — GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Run the following if you haven't already:
gem sources -a https://gems.github.com
Install the gem(s):
sudo gem install josh-useragent
Description: | HTTP User Agent parser |
Clone URL: |
git://github.com/josh/useragent.git
Give this clone URL to anyone.
git clone git://github.com/josh/useragent.git
|
name | age | message | |
---|---|---|---|
![]() |
MIT-LICENSE | Sun Jul 27 13:06:19 -0700 2008 | first commit [josh] |
![]() |
README | Sun Jul 27 13:06:19 -0700 2008 | first commit [josh] |
![]() |
init.rb | Sun Jul 27 13:06:19 -0700 2008 | first commit [josh] |
![]() |
lib/ | Tue Sep 02 14:31:52 -0700 2008 | Some Chrome love [josh] |
![]() |
spec/ | Tue Sep 02 14:31:52 -0700 2008 | Some Chrome love [josh] |
![]() |
useragent.gemspec | Sun Jul 27 13:10:18 -0700 2008 | Fixed gemspec name [josh] |
README
UserAgent ========= UserAgent is a Ruby library that parses and compares HTTP User Agents. Example ======= Browser = Struct.new(:browser, :version) SupportedBrowsers = [ Browser.new("Safari", "3.1.1"), Browser.new("Firefox", "2.0.0.14"), Browser.new("Internet Explorer", "7.0") ] user_agent = UserAgent.parse(request.user_agent) SupportedBrowsers.detect { |browser| user_agent >= browser } Copyright (c) 2008 Joshua Peek, released under the MIT license
This feature is coming soon. Sit tight!