🚀 A Rust HTTP toolbox for self-hosted users (built upon Rocket) https://git.forestier.app/HorlogeSkynet/cruiser
You can not 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 ad3cc8f5a3
Fixes project "homepage" link metadata
5 months ago
src Rewrites client IP address detection in a safer way 7 months ago
.gitignore Initial commit 8 months ago
Cargo.lock Bumps clap dependency to v3.2.7 7 months ago
Cargo.toml Fixes project "homepage" link metadata 5 months ago
LICENSE Initial commit 8 months ago
README.md Fixes X-FORWARDED-FOR example in README and mentions X-REAL-IP support 7 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