Awesome
Random User-Agent Generator (+2350 UA's) 🤖
Developed for PHP Classes Challenge!
The rand-ua project is a user-agent generator designed to provide random user-agent strings for various web browsers. This PHP library allows developers to easily generate random user-agent strings, which can be useful for web scraping, automated testing, and other applications that require varied user-agent headers.
- Key features of rand-ua include:
- Support for Multiple Browsers: Generate user-agent strings for popular browsers such as Chrome, Edge, Firefox, Opera, and Safari;
- Random Selection: Retrieve random user-agent strings to simulate different browsers and platforms;
- Customizable Filtering: Filter user-agent strings based on specific criteria, such as operating system or browser version;
- Simple Integration: Easy to integrate into existing PHP projects with minimal setup.
Authors 👥
- For more information see my blog and my contributions to community.
Tech Stack 🧑💻
- This project was developed with the following technologies:
Documents 📂
PoC ⚙️
- Important: First of all, you must have PHP and Composer utilitary installed;
- Run:
composer dump-autoload && php poc.php
.
<?php
// Composer autoloader.
require __DIR__ . '/vendor/autoload.php';
// Module namespace.
use Dant\RandUa\UserAgentGenerator;
// Get user-agent based on specified OS and Browser.
$specific_ua = UserAgentGenerator::create()->getUserAgent('Windows', 'edge');
// Get random user-agent.
$random_ua = UserAgentGenerator::create()->getRandomUserAgent();
// Possible output: Mozilla/5.0 (Windows NT 10.0) ...
Probabilities of each OS / Browser 🎲
General
Operational System | Quantity | Ratio | Percentage | Command |
---|
Windows | 1218 | 1218 / 2360 | 51,6% | UserAgentGenerator::create()->getUserAgent('Windows') |
Macintosh | 561 | 561 / 2360 | 23,7% | UserAgentGenerator::create()->getUserAgent('Macintosh') |
X11 (Unix) | 581 | 581 / 2360 | 24,6% | UserAgentGenerator::create()->getUserAgent('X11') |
Chrome
Operational System | Quantity | Ratio | Percentage | Command |
---|
Windows | 284 | 284 / 600 | 47,3% | UserAgentGenerator::create()->getUserAgent('Windows', 'chrome') |
Macintosh | 122 | 122 / 600 | 20,3% | UserAgentGenerator::create()->getUserAgent('Macintosh', 'chrome') |
X11 (Unix) | 194 | 194 / 600 | 32,3% | UserAgentGenerator::create()->getUserAgent('X11', 'chrome') |
Edge
Operational System | Quantity | Ratio | Percentage | Command |
---|
Windows | 6 | 6 / 8 | 75% | UserAgentGenerator::create()->getUserAgent('Windows', 'edge') |
Macintosh | 1 | 1 / 8 | 12,5% | UserAgentGenerator::create()->getUserAgent('Macintosh', 'edge') |
X11 (Unix) | 1 | 1 / 8 | 12,5% | UserAgentGenerator::create()->getUserAgent('X11', 'edge') |
Firefox
Operational System | Quantity | Ratio | Percentage | Command |
---|
Windows | 329 | 329 / 589 | 55,8% | UserAgentGenerator::create()->getUserAgent('Windows', 'firefox') |
Macintosh | 25 | 25 / 589 | 4,2% | UserAgentGenerator::create()->getUserAgent('Macintosh', 'firefox') |
X11 (Unix) | 235 | 235 / 589 | 39,8% | UserAgentGenerator::create()->getUserAgent('X11', 'firefox') |
Opera
Operational System | Quantity | Ratio | Percentage | Command |
---|
Windows | 415 | 415 / 586 | 70,8% | UserAgentGenerator::create()->getUserAgent('Windows', 'opera') |
Macintosh | 23 | 23 / 586 | 3,9% | UserAgentGenerator::create()->getUserAgent('Macintosh', 'opera') |
X11 (Unix) | 148 | 148 / 586 | 25,2% | UserAgentGenerator::create()->getUserAgent('X11', 'opera') |
Safari
Operational System | Quantity | Ratio | Percentage | Command |
---|
Windows | 184 | 184 / 577 | 31,8% | UserAgentGenerator::create()->getUserAgent('Windows', 'safari') |
Macintosh | 390 | 390 / 577 | 67,5% | UserAgentGenerator::create()->getUserAgent('Macintosh', 'safari') |
X11 (Unix) | 3 | 3 / 577 | 0,5% | UserAgentGenerator::create()->getUserAgent('X11', 'safari') |
Contributing 🛠️
# Create a fork from the original repository and clone it.
git clone https://github.com/dantsec/rand-ua.git
# Enter into the project folder.
cd rand-ua/
# Create a new branch with the name feat-[BRANCH_NAME].
git checkout -b feat-[BRANCH_NAME]
# Make your changes and commit them.
git add . && git commit -m "YOUR_COMMIT_MESSAGE"
# Push your branch and open a pull request.
git push origin feat-[BRANCH_NAME]