## 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
| `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"]
```