60 lines
975 B
Markdown
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
|
|
```
|