ua: User-Agent parser in Go
Design The UA detection algorithm is a pipeline containing 3 steps: Scan: scan products and its corresponding comments from a UA string. Parse: parse device info from products. Detect: detect device model by looking up in a database and get related info, e.g. screen resolution. Scan The scanner scans the user agent string into products. Each product has its own name, version and comments. e.g. For user agent string: Mozilla/5.0 (Linux; U; Android ROM v3; en-us; ALCATEL ONE TOUCH 991 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Its products are: ...