cruiser/README.md

60 lines
975 B
Markdown

# cruiser
> A Rust HTTP toolbox for self-hosted users (built upon Rocket)
## Features
* Connectivity check for Android captive portal detection (for `captive_portal_http[s]_url` or `captive_portal_[other_]fallback_url[s]` system options)
* "What is my IP ?" service (plain text or JSON serialized outputs)
## Build
```bash
cargo build
```
## Usage
```bash
cruiser --help
```
## Examples
```bash
cruiser --trusted-proxies 10.0.0.80 192.168.0.80
# Check connectivity
curl -w '%{http_code}' http://127.0.0.1:8000/
## => 204
# What is my IP ?
curl http://127.0.0.1:8000/ip
## => 127.0.0.1
curl http://127.0.0.1:8000/ip/json
## => {"ip":"127.0.0.1"}
curl -H "X-FORWARDED-FOR: 8.8.8.8, 10.0.0.80" http://127.0.0.1:8000/ip
## => 8.8.8.8
curl -H "X-REAL-IP: 8.8.8.8" http://127.0.0.1:8000/ip
## => 8.8.8.8
```
## Contributing
### Code format
```bash
rustup component add rustfmt
cargo fmt
```
### Code analysis
```bash
rustup component add clippy
cargo clippy
```