diff --git a/handler.go b/handler.go index d172249..f1f2e43 100644 --- a/handler.go +++ b/handler.go @@ -21,6 +21,18 @@ type Config struct { var config *Config +// blockedHeaders are headers that should never be forwarded to upstream +// for security/privacy reasons. These headers could leak internal URLs, +// session information, or other sensitive data. +var blockedHeaders = map[string]bool{ + "Referer": true, // Don't leak internal URLs to external API + "Cookie": true, // Don't forward session cookies + "Authorization": true, // Already extracted and sent as x-api-key + "X-Forwarded-For": true, // Don't leak client IP + "X-Real-Ip": true, // Don't leak client IP + "X-Forwarded-Host": true, // Don't leak internal hostnames +} + // ClaudeCodeHeaders returns the headers to mimic claude-code CLI func ClaudeCodeHeaders(apiKey, sessionID string) map[string]string { return map[string]string{ diff --git a/proxx b/proxx index e4c8175..c15071a 100755 Binary files a/proxx and b/proxx differ