#warp #real #ip #filter #remote #client #header

warp-real-ip

Warp filter to get the "real ip" of the remote client

3 unstable releases

0.2.0 Jan 20, 2021
0.1.1 Jan 6, 2021
0.1.0 Dec 3, 2020

#1099 in HTTP server

Download history 226/week @ 2023-12-07 238/week @ 2023-12-14 165/week @ 2023-12-21 149/week @ 2023-12-28 177/week @ 2024-01-04 196/week @ 2024-01-11 263/week @ 2024-01-18 200/week @ 2024-01-25 234/week @ 2024-02-01 246/week @ 2024-02-08 187/week @ 2024-02-15 135/week @ 2024-02-22 55/week @ 2024-02-29 25/week @ 2024-03-07 48/week @ 2024-03-14 22/week @ 2024-03-21

168 downloads per month
Used in webb-relayer

MIT/Apache

6KB
65 lines

wrap-real-ip

Warp filter to get the "real ip" of the remote client

This uses the "x-forwarded-for", "x-real-ip" or "forwarded" headers set by reverse proxies. To stop clients from abusing these headers, only headers set by trusted remotes will be accepted.

Example

use warp::Filter;
use warp_real_ip::real_ip;
use std::net::IpAddr;

let proxy_addr = [127, 10, 0, 1].into();
warp::any()
    .and(real_ip(vec![proxy_addr]))
    .map(|addr: Option<IpAddr>| format!("Hello {}", addr.unwrap()));

Dependencies

~8–20MB
~252K SLoC