From 1075ab0ed187a10f2eb3faf1247da8661531bbdb Mon Sep 17 00:00:00 2001 From: Shav Kinderlehrer Date: Sun, 7 Apr 2024 14:44:03 -0400 Subject: Add proxy support --- src/get.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/get.rs') diff --git a/src/get.rs b/src/get.rs index d96e05f..49868a8 100644 --- a/src/get.rs +++ b/src/get.rs @@ -93,7 +93,20 @@ pub async fn id( async fn save_analytics(headers: HeaderMap, item: UrlRow, addr: SocketAddr, state: ServerState) { let id = item.id; - let ip = addr.ip().to_string(); + let ip: Option = if state.behind_proxy { + match headers.get("x-real-ip") { + Some(it) => { + if let Ok(i) = it.to_str() { + Some(i.to_string()) + } else { + None + } + } + None => None, + } + } else { + Some(addr.ip().to_string()) + }; let referer = match headers.get("referer") { Some(it) => { if let Ok(i) = it.to_str() { @@ -129,7 +142,7 @@ VALUES ($1,$2,$3,$4) .await; if res.is_ok() { - log!("Saved analytics for '{id}' from {ip}"); + log!("Saved analytics for '{id}' from {}", ip.unwrap_or_default()); } } -- cgit v1.2.3