Added getIP options

This commit is contained in:
Ajay Ramachandran
2020-04-30 00:34:34 -04:00
parent e303405ee0
commit 9a317a2c23
2 changed files with 13 additions and 2 deletions

View File

@@ -8,7 +8,7 @@
"discordReportChannelWebhookURL": null, //URL from discord if you would like notifications when someone makes a report [optional]
"discordFirstTimeSubmissionsWebhookURL": null, //URL from discord if you would like notifications when someone makes a first time submission [optional]
"discordCompletelyIncorrectReportWebhookURL": null, //URL from discord if you would like notifications when someone reports a submission as completely incorrect [optional]
"behindProxy": true,
"behindProxy": "X-Forwarded-For", //Options: "X-Forwarded-For", "Cloudflare", "X-Real-IP", anything else will mean it is not behind a proxy. True defaults to "X-Forwarded-For"
"db": "./databases/sponsorTimes.db",
"privateDB": "./databases/private.db",
"createDatabaseIfNotExist": true, //This will run on startup every time (unless readOnly is true) - so ensure "create table if not exists" is used in the schema

View File

@@ -2,5 +2,16 @@ var fs = require('fs');
var config = require('../config.js');
module.exports = function getIP(req) {
return config.behindProxy ? req.headers['x-forwarded-for'] : req.connection.remoteAddress;
if (config.behindProxy === true) config.behindProxy = "X-Forwarded-For";
switch (config.behindProxy) {
case "X-Forwarded-For":
return req.headers['X-Forwarded-For'];
case "Cloudflare":
return req.headers['CF-Connecting-IP'];
case "X-Real-IP":
return req.headers['X-Real-IP'];
default:
return req.connection.remoteAddress;
}
}