Browser Detective

Browser Detective project has been one of my long term projects, which I am now just starting to come back.  They have been written in C# as a way to determine some browser information based on a User-Agent and other Header information that have been supplied. I have several versions of this project based on the dot.net framework I was working with at the time. 

  1. Browser Detective 1.0 for Dot.Net Standard 1.X (GPL License) (Last Updated 2005) Zip File
  2. Browser Detective 2.0 for Dot.Net Standard 4.7.x. (MIT X11 License)(Last updated 2008). This is the version the Mono browserCap coding was based on back in the day. Zip File
  3. Browser Detective 3.0 for Dot.Net Standard 4.7.x, (Last updated 2014)
  4. Browser Detective Core for Dot.Net Core 8.X. (MIT X11 License) (Last Updated 2024 -Current)

I am hosting the public repositories on GitHub, to avoid what happened when I hosted it using Fossil. (A windows update broke things in the old setup and lack of time and will power to fix it to make it work again, not really the fault of Fossil.)  I do not plan on putting any major work in the older versions of Browser Detective 1.0, 2.0 and 3.0, only enough to get the projects on GitHub, and maybe answer some questions.

Browser Detective 2.0 still supports testing both of Microsoft's browser identification formats. The original browserCaps section configuration format and what I term the new browser identification "nBrowser" format.

Browser Detective 3.0 can convert the browser definitions into C#, which can then be compiled into a dll, along with the regular expression used in it. The ability to use compiled browser definitions greatly improves the speed of processing the supplied headers in determining the browser capabilities. I removed support for the Asp.Net 1.x configuration file in this version.

Browser Detective Core was rewritten to use SQLite as the back end data Store, instead of .browser files. And using Entity Framework to make my life simple with these smaller database which do not require as much security on them. This version no longer setup to able to read any other older formats. I am trying to decide how to to unit testing.  I am still deciding how I want to handle unit testing, as I have almost 20 years worth of data to test against.

  I did like the original 1.x format, but everything has its day, and I have stopped supporting it a long time ago as the websites I am responsible for have been upgraded to dot.net 4.x or Dot.net 8 Core respectively.