mvs_web 1.0.0

Filter Mullvad's SOCKS5 proxies by country, city, datacenter, weight and online status.
## Mullvad Socks Proxy Filter (WebApp)

Based on [this library](https://crates.io/crates/mullvad_socks).


### Configuration

The IPv4 address and the port to bind to are configured by using the `HOST` and `PORT` variables, respectively.

Default: `127.0.0.1:8080`

### Endpoints

`/version` prints crate version

`/locations` lists available locations (country, city, datacenter) via `type` parameter

```fish
curl 127.0.0.1:8080/locations?type=country`

["adelaide","amsterdam","...","zagreb","zurich"]
```

`/proxies` list proxies, optionally add filter and formatting parameters

| Parameter | Value | Default |
| --- | --- | --- |
| `cities` | String | none |
| `countries` | String | none |
| `datacenters` | String | none |
| `weight` | 0-65535 | 100 |
| `offline` | Hide, Show, Only | Hide |
| `style` | V4, V6, Hostname | V4 |
| `scheme` | bool | false |
| `port` | bool | false |

Default filters and formatting:

```fish
curl 127.0.0.1:8080/proxies

["10.124.0.155","10.124.0.212","...","10.124.2.59","10.124.2.60"]
```

Custom filters and formatting:

```fish
curl 127.0.0.1:8080/proxies?countries=germany,austria&weight=200&offline=Show&style=V6&scheme=true&port=true

["socks5://fd00:aaaa::543:1080","...","socks5://fd00:aaaa::496:1080"]
```