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.
- Browser Detective 1.0 for Dot.Net Standard 1.X (GPL License) (Last Updated 2005) Zip File
- 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
- Browser Detective 3.0 for Dot.Net Standard 4.7.x, (Last updated 2014)
- 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.