| Crates.io | client-ip |
| lib.rs | client-ip |
| version | 0.1.1 |
| created_at | 2025-06-01 17:07:07.19925+00 |
| updated_at | 2025-06-03 04:36:18.31856+00 |
| description | HTTP client IP address extractors |
| homepage | |
| repository | https://github.com/imbolc/client-ip |
| max_upload_size | |
| id | 1697322 |
| size | 37,363 |
client-ipSecure extraction of a client IP from http::HeaderMap. The code was initially extracted from the axum-client-ip crate for non-axum use.
If you're maintaining client IP extraction in other frameworks based on http, consider using this crate, so we can handle security-sensitive code in one place. Look at the axum-client-ip integration for reference.
Open an issue if there's an uncovered header or send a PR straight away.
| Extractor | Header Used | Typical Proxy / Service |
|---|---|---|
[cf_connecting_ip] |
CF-Connecting-IP |
Cloudflare |
[cloudfront_viewer_address] |
CloudFront-Viewer-Address |
AWS CloudFront |
[fly_client_ip] |
Fly-Client-IP |
Fly.io |
[rightmost_forwarded] |
Forwarded |
Proxies supporting RFC 7239 (extracts rightmost for=) |
[rightmost_x_forwarded_for] |
X-Forwarded-For |
Nginx, Apache, HAProxy, CDNs, LBs |
[true_client_ip] |
True-Client-IP |
Cloudflare, Akamai |
[x_real_ip] |
X-Real-Ip |
Nginx |
This project is licensed under the MIT license.