mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-25 17:08:35 +03:00
Fix usercounter behind cloudflare
This commit is contained in:
@@ -2,7 +2,7 @@ import { config } from "../config";
|
||||
import { Request } from "express";
|
||||
import { IPAddress } from "../types/segments.model";
|
||||
|
||||
export function getIP(req: Request): IPAddress {
|
||||
export function getIP(req: Request, checkCloudflare = false): IPAddress {
|
||||
// if in testing mode, return immediately
|
||||
if (config.mode === "test") return "127.0.0.1" as IPAddress;
|
||||
|
||||
@@ -10,11 +10,14 @@ export function getIP(req: Request): IPAddress {
|
||||
config.behindProxy = "X-Forwarded-For";
|
||||
}
|
||||
|
||||
const cloudflareIP = req.headers["cf-connecting-ip"] as IPAddress;
|
||||
if (checkCloudflare && cloudflareIP) return cloudflareIP;
|
||||
|
||||
switch (config.behindProxy as string) {
|
||||
case "X-Forwarded-For":
|
||||
return req.headers["x-forwarded-for"] as IPAddress;
|
||||
case "Cloudflare":
|
||||
return req.headers["cf-connecting-ip"] as IPAddress;
|
||||
return cloudflareIP;
|
||||
case "X-Real-IP":
|
||||
return req.headers["x-real-ip"] as IPAddress;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user