🚀 A Rust HTTP toolbox for self-hosted users (built upon Rocket) https://git.forestier.app/HorlogeSkynet/cruiser
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Samuel FORESTIER 3bc766b1ef Updates LICENSE copyright as of 2023 4 weeks ago
src Minor import order improvement 4 weeks ago
.gitignore Initial commit 12 months ago
Cargo.lock Bumps dependencies 4 weeks ago
Cargo.toml Bumps dependencies 4 weeks ago
LICENSE Updates LICENSE copyright as of 2023 4 weeks ago
README.md Fixes X-FORWARDED-FOR example in README and mentions X-REAL-IP support 11 months ago

README.md

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

cargo build

Usage

cruiser --help

Examples

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

rustup component add rustfmt
cargo fmt

Code analysis

rustup component add clippy
cargo clippy