Lightweight, dependency-free User-Agent parser focused on extracting OS and Browser details. Inspired by YAUAA but simplified and built for JDK 17.
mvn -q -e -DskipTests=false test
mvn -q -e packagejava -jar target/user-agent-analyzer-0.1.0-SNAPSHOT.jar "<user-agent-string>"Example:
java -jar target/user-agent-analyzer-0.1.0-SNAPSHOT.jar "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"Output:
OS: Windows 10/11
Browser: Chrome 124.0.0.0
UserAgentInfo info = UserAgentAnalyzer.parse(ua);
System.out.println(info.getOsName() + " " + info.getOsVersion());
System.out.println(info.getBrowserName() + " " + info.getBrowserVersion());- This is a pragmatic parser covering common OS and browser patterns (Windows, macOS, iOS, Android, Linux, ChromeOS; Chrome/Chromium, Edge, Safari, Firefox, Opera, Samsung Internet, IE). Extend as needed in
UserAgentAnalyzer. - For advanced, highly accurate parsing and Client Hints, consider the full YAUAA project: YAUAA.
