Skip to content

OrbintSoft/yauaa.netstandard

Repository files navigation

Yauaa: Yet Another User Agent Analyzer

Build Status NuGet License Donations via PayPal

This is a .NET porting of Java library that tries to parse and analyze the useragent string and extract as many relevant attributes as possible.

You can see the original project at this link: https://github.com/nielsbasjes/yauaa

The library has been completely rewritten in C# from scratch to be optimized and .NET friendly

A bit more background about this useragent parser can be found in this blog which the author Niels Basjes wrote about it: https://techlab.bol.com/making-sense-user-agent-string/

The Java documentation can be found here https://yauaa.basjes.nl, soon will be provided a .NET documentation specific for this project

You can download the .nuget package there: https://www.nuget.org/packages/OrbintSoft.Yauaa.NetStandard

Example output

As an example the useragent of a phone:

Mozilla/5.0 (Linux; Android 7.0; Nexus 6 Build/NBD90Z) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36

is converted into this set of fields:

Field name Value
DeviceClass 'Phone'
DeviceName 'Google Nexus 6'
DeviceBrand 'Google'
OperatingSystemClass 'Mobile'
OperatingSystemName 'Android'
OperatingSystemVersion '7.0'
OperatingSystemNameVersion 'Android 7.0'
OperatingSystemVersionBuild 'NBD90Z'
LayoutEngineClass 'Browser'
LayoutEngineName 'Blink'
LayoutEngineVersion '53.0'
LayoutEngineVersionMajor '53'
LayoutEngineNameVersion 'Blink 53.0'
LayoutEngineNameVersionMajor 'Blink 53'
AgentClass 'Browser'
AgentName 'Chrome'
AgentVersion '53.0.2785.124'
AgentVersionMajor '53'
AgentNameVersion 'Chrome 53.0.2785.124'
AgentNameVersionMajor 'Chrome 53'

Try it!

You can try it online with an ASP.NET demo at this link: https://orbintsoft.net/Yauaa/Demo

Or you can download the .nuget package to it try by yourself: https://www.nuget.org/packages/OrbintSoft.Yauaa.NetStandard

Here you can also find a sample implementation project: https://github.com/OrbintSoft/yauaa.netstandard/tree/master/src/OrbintSoft.Yauaa.WebSample.AspNetCore

Contribute

If you like this project or if has business value for you then don't hesitate to support me or the author.

To support the original project you can make a small donation to: Donations via PayPal Niels Basjes, Original Author

To support this porting, don't esitate to contribute to code sending a Pull request or with reporting issues

Follow here the contrubution guidlines: CONTRIBUTING.md

Otherwise a small paypal donation can also be apreciated Donations via PayPal Stefano Balzarotti, Author of porting

Don't forget to be thankful to the original author Nicolaas Basjes, because he did most of the effort.

License

Yet Another UserAgent Analyzer for .NET Standard
Porting realized by Balzarotti Stefano, Copyright (C) OrbintSoft

Original Author and License:

Yet Another UserAgent Analyzer
Copyright (C) 2013-2019 Niels Basjes

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.