Skip to content

Commit daced63

Browse files
committed
updated User_Agent
0 parents  commit daced63

File tree

8 files changed

+539
-0
lines changed

8 files changed

+539
-0
lines changed

.github/workflows/release.yml

+147
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "*"
7+
# branches: [ main ]
8+
# pull_request:
9+
# branches: [ main ]
10+
11+
jobs:
12+
build:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
os: [ubuntu-latest, macos-latest, windows-latest]
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
steps:
20+
- uses: actions/checkout@v3
21+
- uses: extractions/setup-just@v1
22+
- uses: Swatinem/rust-cache@v1
23+
- name: Install Rust for macOS
24+
if: matrix.os == 'macos-latest'
25+
uses: actions-rs/toolchain@v1
26+
with:
27+
profile: minimal
28+
toolchain: nightly
29+
default: true
30+
override: true
31+
components: rustfmt, clippy
32+
target: aarch64-apple-darwin
33+
# - uses: Swatinem/rust-cache@v1
34+
- name: Install Rust for Windows
35+
if: matrix.os == 'windows-latest'
36+
uses: actions-rs/toolchain@v1
37+
with:
38+
profile: minimal
39+
toolchain: nightly
40+
default: true
41+
override: true
42+
components: rustfmt, clippy
43+
# - uses: Swatinem/rust-cache@v1
44+
- name: Install Rust for Linux
45+
if: matrix.os == 'ubuntu-latest'
46+
uses: actions-rs/toolchain@v1
47+
with:
48+
profile: minimal
49+
toolchain: nightly
50+
default: true
51+
override: true
52+
components: rustfmt, clippy
53+
target: x86_64-pc-windows-gnu
54+
# - uses: Swatinem/rust-cache@v1
55+
56+
- name: Install Linux dependencies
57+
if: matrix.os == 'ubuntu-latest'
58+
run: sudo apt-get install -y gcc libgssapi-krb5-2 libkrb5-dev libsasl2-modules-gssapi-mit gcc-mingw-w64-x86-64
59+
60+
- name: Lint code
61+
run: just lint
62+
63+
# - uses: Swatinem/rust-cache@v1
64+
65+
# - name: Run tests
66+
# uses: actions-rs/cargo@v1
67+
# with:
68+
# command: test
69+
70+
- uses: Swatinem/rust-cache@v1
71+
- name: Build macOS
72+
if: matrix.os == 'macos-latest'
73+
run: just build-mac
74+
- uses: Swatinem/rust-cache@v1
75+
- name: Build Windows
76+
if: matrix.os == 'windows-latest'
77+
run: just build-win
78+
- uses: Swatinem/rust-cache@v1
79+
- name: Build Linux
80+
if: matrix.os == 'ubuntu-latest'
81+
run: just build-linux
82+
- uses: Swatinem/rust-cache@v1
83+
84+
- name: Upload build artefacts
85+
uses: actions/upload-artifact@v3
86+
with:
87+
name: binaries
88+
path: out/user_agent*.zip
89+
if-no-files-found: error
90+
91+
publish:
92+
runs-on: ubuntu-latest
93+
needs: build
94+
env:
95+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
96+
steps:
97+
- uses: actions/checkout@v3
98+
- uses: Swatinem/rust-cache@v1
99+
- name: Install Rust
100+
uses: actions-rs/toolchain@v1
101+
with:
102+
profile: minimal
103+
toolchain: nightly
104+
default: true
105+
override: true
106+
components: rustfmt, clippy
107+
# - uses: Swatinem/rust-cache@v1
108+
- name: Install dependencies
109+
run: sudo apt-get install -y gcc libgssapi-krb5-2 libkrb5-dev libsasl2-modules-gssapi-mit gcc-mingw-w64-x86-64
110+
- name: Upload to Crates
111+
uses: actions-rs/cargo@v1
112+
with:
113+
command: publish
114+
115+
release:
116+
runs-on: ubuntu-latest
117+
needs: build
118+
steps:
119+
- uses: actions/checkout@v3
120+
- uses: Swatinem/rust-cache@v1
121+
- name: Download artefacts
122+
uses: actions/download-artifact@v3
123+
with:
124+
name: binaries
125+
path: ./out
126+
- name: Create sha256sum for scoop
127+
run: sha256sum ./out/user_agent-windows-msvc.zip | cut -d ' ' -f 1 > ./out/user_agent-windows-msvc.zip.sha256
128+
# Remove the dots for the markdown header
129+
- name: MD Header
130+
run: echo "MD_HEADER=$(echo ${{ github.ref_name }} | sed 's/\.//g')" >> $GITHUB_ENV
131+
- name: Create release
132+
uses: softprops/action-gh-release@v1
133+
with:
134+
files: ./out/*
135+
name: user_agent ${{ github.ref_name }}
136+
body: |
137+
Compiled binaries for user_agent version `${{ github.ref_name }}` ([changelog](https://github.com/TechfaneTechnologies/user_agent/blob/main/CHANGELOG.md#${{ env.MD_HEADER }}))
138+
139+
The provided binaries are for:
140+
141+
- GNU Linux (x64 linux gnu)
142+
- macOS Apple Silicon (aarch64 darwin)
143+
- macOS Intel (x64 darwin)
144+
- GNU Windows, e.g. cygwin (x64 windows gnu)
145+
- MSVC Windows (x64 windows msvc)
146+
147+
You can install these by downloading and unzipping the appropriate asset, and moving the executable to ~/bin or any other binary folder in your path.

.gitignore

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Generated by Cargo
2+
# will have compiled files and executables
3+
/target/
4+
5+
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
6+
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
7+
Cargo.lock
8+
9+
# These are backup files generated by rustfmt
10+
*.rs.bk
11+
**/*.rs.bk
12+
13+
.cargo
14+
**/target/
15+
16+
Cargo.lock
17+
**/Cargo.lock
18+
19+
/.openvscode-server/
20+
/.rustup/
21+
22+
Cargo.sublime-project
23+
Cargo.sublime-workspace
24+
25+
/target
26+
/out
27+
/tests/configs/.json
28+
/tests/configs/running
29+
/tests/mods
30+
.DS_Store

CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Changelog For User_Agent
2+
3+
## `v0.1.1`
4+
5+
### 18.05.2022
6+
7+
- Updatd to user_agent 0.1.0
8+
- Improved upgrade code to be faster and more clean
9+
- Immediately fail if rate limit error occured
10+
11+
### Added
12+
13+
- This changelog
14+
- Error codes
15+
16+
### Changed
17+
18+
- Commented code better

Cargo.toml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[package]
2+
name = "user_agent"
3+
version = "0.1.0"
4+
edition = "2021"
5+
authors = ["TechfaneTechnologies <[email protected]>"]
6+
description = "user_agent is an easy to use rust CLI program and library for extracting the latest user agents of all browsers on Windows, Mac, Linux, Android, and iOS platforms."
7+
repository = "https://github.com/TechfaneTechnologies/user_agent"
8+
categories = ["command-line-utilities"]
9+
readme = "README.md"
10+
license = "MIT"
11+
keywords = [
12+
"User Agent",
13+
"user-agent",
14+
"browser-identity",
15+
"scraping",
16+
"web-scraping"
17+
]
18+
19+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
20+
[dependencies]
21+
futures = "0.3.21"
22+
reqwest = "0.11.10"
23+
scraper = "0.13.0"
24+
tokio = { version = "1.18.2", features = ["full"] }
25+
26+
[profile.release]
27+
opt-level = "z"
28+
codegen-units = 1
29+
strip = "debuginfo"
30+
lto = "fat"

README.md

+157
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# User_Agent
2+
3+
[![rust badge](https://img.shields.io/static/v1?label=Made%20with&message=Rust&style=for-the-badge&logo=rust&labelColor=e82833&color=b11522)](https://www.rust-lang.org/)
4+
[![license badge](https://img.shields.io/github/license/TechfaneTechnologies/user_agent?style=for-the-badge)](https://github.com/TechfaneTechnologies/user_agent/blob/main/LICENSE)
5+
[![copyleft badge](https://img.shields.io/static/v1?label=&message=Copyleft&style=for-the-badge&labelColor=silver&color=silver&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAQAAAC0NkA6AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfjAxYBNgYPa+9oAAAEM0lEQVRYw6WYb0zVVRjHP9wQW7umA0xoKNSC+6bSNkzetKZbaVu19aLpfOGcbcw/S+uNbikuNwMsVyE3XVsro7VEXjS3ylmLxkRtC9crHGjCAv9AATK4CoZye8Hl/J7n/M7v8rvX57w55/lznt/583yf5/xyCEOlrKaSCp6ggCiQYJheLvMHv9HHA1MZ++kmmaZ1UUNZ9g6eo4X7aR3Mtvs0syJzB0U0MR3KgddOsiQTFxsZzdDBTLvFetd0OT5OHo1U+7j9tNJBN4MkgChFVLCS1Sz1aR7jHf5Lv4Yov1hfN8YRKgP1V9LIuGVxhmg6Fwv4XalPcJD8OTe3gA+YVHYXgt3kWato46nQp1jOWWs1eW7Fz5VaLbkZ3cdc6pX9UfeNkvd+a1aRtV3Fle+mLeGWEO/0mT/EWo7SxhBjjNDPKfbxtMPNVjHLKMVa+I0Q1lmG89nDTWdctPGqz80hIT+uAWRaGOqzeJEraQOw2YrzXNqNbJrlnqDFsCeJKZO3uDtnnN+wNq6cCSM74SGtd1wHlfrOkHAyyDPKrk5codIZ1n7DSlAoVF9iKjRq/cVCYZnPmJHsnWF1GcYRobiQf3yA3sr7VPM2cXp9br5Va2k0/EsAy4SixKh6a5LT6rQibGBAyaeV9SohWQabzeBvhUcTaoqPHHhdTKfSOaWk1wx/E8TN4CuhssW6pjnOCF/KiNrOxULWZPgNEbEJF4VKFT2mdbGLpNNJPzVqC9eKkTdbDK4ajy9ngVaPiHuU5AshWWe4VyIsMuwbWTi5Q7sYlYj+TdNbFBHpJZEV8vao8sOjMS8VRh64MkumrRhSh5UQ+T278s+jQdF/1PTGI4yaweNZuHiYF1RsyCiapdFcengyNajgZyP4RBhP8RpDAU42KcxqE30vNK7KYJQpploFY1NgnfmvApYiZxpskLAi6/PFVh454HBRyJ9K5yclvS5hJQggP7YA8vvZzJCi1+m3NKoUYnj8Eg31jSonDFuTTPEju9nIZuq55IP6FvUJ3iF0zjBqApLWOu6FTlp9FCgM90rX9/zpt1Z9z56QLkasatnLRfe8TT5pmHetQqI6RAoesB5A5aIy/s5jrxAl0VmrJHqFvrQuflCwCPM4Jy71s1L0tTA75IPzAyo5ea3D8eg5LORf2mWqnGaXz3Q+b3CcDm6nCtBfqeV5R+xsUyf1mC3eoBLp9qzAcocquN90qRxTW/Fhxk+Hw8o+HvQIOqPU2qkI7SLGeauAmhf8YrygVCepU0HmpkLqLaQ7nz43Ra3VJBknzqpA/SrivofpaduF64n9Kdt83OupJ/YA48ACiolRyRpHovuMd5kKs8PrA+JirjbsvlFBlE9DyP8qXnQ3+eNiblpOc+gfOCc0gGRGpeyzymq7dbLXSmch/q24qIQ1VBKjjMLUT7UheunmIq2qQgmg/wHquM6d9tIV7AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0wMy0yMlQwMTo1NDowNiswMDowMOIizoUAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMDMtMjJUMDE6NTQ6MDYrMDA6MDCTf3Y5AAAAAElFTkSuQmCC)](https://en.wikipedia.org/wiki/Copyleft)
6+
[![Build and Release](https://github.com/TechfaneTechnologies/user_agent/actions/workflows/release.yml/badge.svg)](https://github.com/TechfaneTechnologies/user_agent/actions/workflows/release.yml)
7+
8+
USER_AGENT is an easy to use rust CLI program and library for extracting the latest user agents of all browsers on Windows, Mac, Linux, Android, and iOS platforms.
9+
10+
## Features
11+
12+
- Show all of the latest `User Agents` under a second.
13+
14+
## Installation
15+
16+
user_agent is a compiled, statically linked program that does not require any external dependencies.
17+
18+
> user_agent is coming to more package managers soon!
19+
20+
### Cargo Install
21+
22+
If you have the Rust toolchain, you can also compile and install user_agent by running `cargo install user_agent`.
23+
24+
Remember to use an add-on like [cargo-update](https://crates.io/crates/cargo-update) to keep user_agent updated to the latest version!
25+
26+
### GitHub Releases
27+
28+
1. Download the asset suitable for your operating system from [the latest release](https://github.com/TechfaneTechnologies/user_agent/releases/latest)
29+
2. Unzip the file and move it to a folder in your path such as `~/bin`
30+
3. Remember to check the releases page for any updates!
31+
32+
### First Startup
33+
34+
Post Downloading the binary CD to your downloads directory and just type `user_agent` in the terminal to get the user agents displayed in the terminal. And if you have installed `user_agent` via `cargo install user_agent` just open the terminal / cmd / powershell / iterm and type `user_agent` and press enter from any directory of your likings.
35+
36+
```bash
37+
╭─ ~/home/bin   3.10.4   ✔  18:17:14  ─╮
38+
╰─ user_agent
39+
─╯
40+
╭─ The Latest User Agents Are As Followings ─╮
41+
╰─ ─╯
42+
43+
╭─ Windows User Agents ─╮
44+
╰─[
45+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Edg/100.0.1185.39",
46+
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
47+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
48+
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
49+
"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
50+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0",
51+
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Vivaldi/4.3",
52+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Vivaldi/4.3",
53+
]
54+
55+
╭─ MacOs User Agents ─╮
56+
╰─[
57+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",
58+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:100.0) Gecko/20100101 Firefox/100.0",
59+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
60+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Vivaldi/4.3",
61+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Edg/100.0.1185.39",
62+
]
63+
64+
╭─ Microsoft Edge User Agents ─╮
65+
╰─[
66+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Edg/100.0.1185.39",
67+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Edg/100.0.1185.39",
68+
"Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36 EdgA/100.0.1185.50",
69+
"Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36 EdgA/100.0.1185.50",
70+
"Mozilla/5.0 (Linux; Android 10; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36 EdgA/100.0.1185.50",
71+
"Mozilla/5.0 (Linux; Android 10; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36 EdgA/100.0.1185.50",
72+
"Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 EdgiOS/100.1185.50 Mobile/15E148 Safari/605.1.15",
73+
"Mozilla/5.0 (Windows Mobile 10; Android 10.0; Microsoft; Lumia 950XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Mobile Safari/537.36 Edge/40.15254.603",
74+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36 Edge/44.18363.8131",
75+
]
76+
77+
╭─ Google Chrome User Agents ─╮
78+
╰─[
79+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
80+
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
81+
"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
82+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
83+
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
84+
"Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/101.0.4951.58 Mobile/15E148 Safari/604.1",
85+
"Mozilla/5.0 (iPad; CPU OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/101.0.4951.58 Mobile/15E148 Safari/604.1",
86+
"Mozilla/5.0 (iPod; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/101.0.4951.58 Mobile/15E148 Safari/604.1",
87+
"Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
88+
"Mozilla/5.0 (Linux; Android 10; SM-A205U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
89+
"Mozilla/5.0 (Linux; Android 10; SM-A102U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
90+
"Mozilla/5.0 (Linux; Android 10; SM-G960U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
91+
"Mozilla/5.0 (Linux; Android 10; SM-N960U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
92+
"Mozilla/5.0 (Linux; Android 10; LM-Q720) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
93+
"Mozilla/5.0 (Linux; Android 10; LM-X420) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
94+
"Mozilla/5.0 (Linux; Android 10; LM-Q710(FGN)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36",
95+
]
96+
97+
╭─ Mozilla Firefox User Agents ─╮
98+
╰─[
99+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0",
100+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:100.0) Gecko/20100101 Firefox/100.0",
101+
"Mozilla/5.0 (X11; Linux i686; rv:100.0) Gecko/20100101 Firefox/100.0",
102+
"Mozilla/5.0 (Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0",
103+
"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:100.0) Gecko/20100101 Firefox/100.0",
104+
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0",
105+
"Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0",
106+
"Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/100.0 Mobile/15E148 Safari/605.1.15",
107+
"Mozilla/5.0 (iPad; CPU OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/100.0 Mobile/15E148 Safari/605.1.15",
108+
"Mozilla/5.0 (iPod touch; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/100.0 Mobile/15E148 Safari/605.1.15",
109+
"Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/100.0",
110+
"Mozilla/5.0 (Android 12; Mobile; LG-M255; rv:100.0) Gecko/100.0 Firefox/100.0",
111+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0",
112+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:91.0) Gecko/20100101 Firefox/91.0",
113+
"Mozilla/5.0 (X11; Linux i686; rv:91.0) Gecko/20100101 Firefox/91.0",
114+
"Mozilla/5.0 (Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
115+
"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:91.0) Gecko/20100101 Firefox/91.0",
116+
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
117+
"Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
118+
]
119+
120+
╭─ Apple Safari User Agents ─╮
121+
╰─[
122+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",
123+
"Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",
124+
"Mozilla/5.0 (iPad; CPU OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",
125+
"Mozilla/5.0 (iPod touch; CPU iPhone 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",
126+
]
127+
128+
```
129+
130+
#### Configure
131+
132+
_To Be Updated_
133+
134+
#### Manage
135+
136+
_To Be Updated_
137+
138+
#### Delete
139+
140+
_To Be Updated_
141+
142+
## Feature Requests
143+
144+
If you would like to make a feature request, check the [issues](https://github.com/TechfaneTechnologies/user_agent/issues?q=is%3Aissue) to see if the feature has already been added or is planned. If not, [create a new issue](https://github.com/TechfaneTechnologies/user_agent/issues/new).
145+
146+
## Building from Source or Working with user_agent
147+
148+
Firstly, you need the Rust toolchain which includes `cargo`, `rustup`, etc. You can install these from [the Rust website](https://www.rust-lang.org/tools/install).
149+
You'll also need the [Just](https://github.com/casey/just#installation) command runner, its basically a much better version of `make`.
150+
151+
If you want to build user_agent without cloning the repo then run `cargo install user_agent`.
152+
153+
To build the project and install it to your Cargo binary directory, clone the project and run `just install`. If you want to install it for testing a developement version, run `just` (alias for `just install-dev`).
154+
155+
If you want to obtain executables for a specific OS, you can run `just build-<OS>` and replace `<OS>` with `mac`, `win`, or `linux`. The produced binaries will be zipped and moved to `out/`.
156+
157+
You can run clippy linters using `just lint`, and integration tests using `cargo test`. Finally you can delete all the build and test artefacts by using `just clean`.

0 commit comments

Comments
 (0)