![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
useragent-picker-cli
Advanced tools
Generates random but realistic user agents on a command line (or via API)
Generates random but realistic user agents (UAs) on a command line (or via API, if you like).
$ uagen mobile chrome
Mozilla/5.0 (Linux; Android 10; TAS-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.64 HuaweiBrowser/10.0.5.300 Mobile Safari/537.36
You want to:
--msie
, --ie
, or --iexplore
.$ pip install --user useragent-picker-cli
Alternatively, visit https://pypi.org/project/useragent-picker-cli/ to download the install files directly.
Once installed, the command you run is `uagen`.
uagen
can be used by listing some filter criteria you'd like to use:
$ uagen chrome macos # Chrome on MacOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36
$ uagen chrome osx # Chrome on MacOS again
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
There are many aliases, so just try what makes sense to you and it will probably work. If not, submit an issue!
If you want something a little niche that's not in the supported keyword list, uagen will search through browser UAs as a fallback:
$ uagen trident
** 'trident' didn't match any known filters, looking for matching browser strings
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
uagen
simply outputs a single user agent matching your criteria. This can be combined with CLI HTTP tools like this:
$ curl --user-agent "$(uagen)" http://example.com
$ curl -v --user-agent "$(uagen nokia mobile)" http://example.com
...
> GET / HTTP/1.1
> Host: example.com
> User-Agent: Mozilla/5.0 (Linux; Android 10; Nokia 7 plus) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.360
You could also alias this for convenience:
$ alias uacurl='curl --user-agent "$(uagen)"
$ uacurl -v http://example.com
> GET / HTTP/1.1
> Host: example.com
> User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Since uagen
respects weightings based on usage in the wild, if you ran it 1000 times, you'd get a rough % breakdown of UAs
like actual usage. TODO: weightings coming soon.
ua-gen-cli
is primarily designed for CLI use, but you can use it programatically too if you'd like:
from ua_gen.cli import UAGen
ua = UAGen()
print(ua.get_ua(["mobile"]))
print(ua.get_ua(["firefox", "desktop"]))
The user agent data file used lives at $HOME/.ua_cli_gen/enriched_ua_db.json
, so feel free to have a look.
This project was inspired by and relies on data from https://github.com/intoli/user-agents.
FAQs
Generates random but realistic user agents on a command line (or via API)
We found that useragent-picker-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.