From 494c8b7cabaae2a51039a7a5b559d5e2e5279554 Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 18 May 2026 10:51:19 -0700 Subject: [PATCH] fix: Use proper headers to determine IP when not behind cloudflare (#764) Signed-off-by: IAmTomahawkx --- crates/core/ratelimits/src/rocket.rs | 6 +++--- crates/delta/src/main.rs | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/core/ratelimits/src/rocket.rs b/crates/core/ratelimits/src/rocket.rs index 046317bd..f790abb9 100644 --- a/crates/core/ratelimits/src/rocket.rs +++ b/crates/core/ratelimits/src/rocket.rs @@ -1,12 +1,12 @@ use async_trait::async_trait; use log::info; +use revolt_config::config; use rocket::fairing::{Fairing, Info, Kind}; use rocket::http::uri::Origin; use rocket::http::{Method, Status}; use rocket::request::{FromRequest, Outcome}; use rocket::serde::json::Json; use rocket::{Data, Request, Response, State}; -use revolt_config::config; use revolt_rocket_okapi::r#gen::OpenApiGenerator; use revolt_rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; @@ -28,8 +28,8 @@ pub type RatelimitStorage = crate::ratelimiter::RatelimitStorage) -> String { request - .remote() - .map(|x| x.ip().to_string()) + .client_ip() + .map(|r| r.to_string()) .unwrap_or_default() } diff --git a/crates/delta/src/main.rs b/crates/delta/src/main.rs index 15aa2d3b..41f8fc02 100644 --- a/crates/delta/src/main.rs +++ b/crates/delta/src/main.rs @@ -152,6 +152,7 @@ pub async fn web() -> Rocket { limits: rocket::data::Limits::default().limit("string", 5.megabytes()), address: Ipv4Addr::new(0, 0, 0, 0).into(), port: 14702, + ip_header: Some("X-Forwarded-For".into()), ..Default::default() }) }