ureld 0.1.43

Ureld is a simple & fast URLs de-cluttering tool written in Rust.
# Ureld
__[Ureld](https://codeberg.org/zuhry/ureld "ureld")__ is a simple & fast URLs de-cluttering tool written in Rust.

![image](https://codeberg.org/zuhry/ureld/raw/commit/a4b992951dc4e0f0c7cf8a2d8d30f825d659b8f5/.assets/img.webp)

Ureld receiving input from STDIN, passthrough into filter then goes brrr...

```bash
cat urls.txt | ureld
```
Ureld doesn't make any internet requests. Ureld follow Unix philosophy within
lean toward into security testing or bug bounty use cases.

## Features
- __Decluttering your messy URLs.__
- __Filter unneeded URLs.__
	- http(s)://example.com/
	- http(s)://example.com/blog/
	- http(s)://example.com/blog/#blog
- __Filter unneeded Exts.__
	- css, jpg, jpeg, png, gif, webp
	- woff2, woff, ttf, ico
- __Merging numeric path.__
	- example.com/`2`/index.html
	- example.com/`0`/index.html
	- example.com/`1`/index.html
- __API version awareness `v(numeric)`.__
	- example.com/1/api_`v2`?p=val&x=y
	- example.com/1/api`v3`?p=val
	- example.com/1/api-`v3`?p=val
	- example.com/`v2`/api?p=val&y=z
	- example.com/`v3`/api?p=val
- __Case sensitive awareness__
	- example.com/`b`log/index.html
	- example.com/`B`log/index.html
	- example.com/`BLOG`/index.html
- __Faster than your nextdoor Wi-Fi.__


## Install
Here you can find lastest update executable [binaries](https://codeberg.org/zuhry/ureld/releases "release") or using command below. 
```bash
curl -sLO https://codeberg.org/zuhry/ureld/releases/download/v0.1.42/{ureld_$(uname -m)-unknown-linux-gnu.zip,ureld_$(uname -m)-unknown-linux-gnu.zip.sha512} | sha512sum -c
unzip ureld_$(uname -m)-unknown-linux-gnu.zip
chmod +x ureld
```
> Change to latest update if VERSION eg. `vX.X.X` already outdated.


or using `cargo` at [creates.io](https://crates.io).
```bash
cargo install --git https://codeberg.org/zuhry/ureld.git
```


or the shortest option. 
```bash
cargo install ureld 
```

## Usages

### Basic Usage
```bash
ureld < urls.txt
```
#### OR
```bash
cat urls.txt | ureld
```
__URLs contain parameter.__
```bash
cat urls.txt | ureld | grep "="
```
__URLs aren't parameter (just file exts).__
```bash
cat urls.txt | ureld | grep -v "="
```
__URLs contain `.js` file.__
```bash
cat urls.txt | ureld | grep ".js$"
```
__URLs aren't `.js` file.__
```bash
cat urls.txt | ureld | grep -v ".js$"
```

### Advanced Usage
__URLs contain `.js` and `.html` file. (use `grep -v` for negated)__
```bash
cat urls.txt | ureld | grep ".js$\|.html$"
```

>__Ureld built with love within 1337 cups of coffee__, 
inspired by [uro]https://github.com/s0md3v/uro and 
[urldedupe]https://github.com/ameenmaali/urldedupe. 

## Comparison
[Comparing](https://codeberg.org/zuhry/ureld#comparison) Ureld with other tools using __+10 million list of URLs.__

![image](https://codeberg.org/zuhry/ureld/raw/commit/b35b506d0438fe6457da7317a34e9710920787a2/.assets/comparison.webp "ureld vs urldedupe vs uro")

Here is detail comparison table:

|Name|ureld|urldedupe|uro|
|-|-|-|-|
|URL result (__Million__)|__19.25__|60.95|27.13|
|Time taken (__Second__) |__32s__|3m26s|19m13s|

__Happy hacking.__