Log IP addresses of gateway connections

This commit is contained in:
Madeline 2022-07-31 21:07:29 +10:00
parent c2d388e16d
commit 698c1cca44

View File

@ -8,6 +8,7 @@ import { Close } from "./Close";
import { Message } from "./Message"; import { Message } from "./Message";
import { createDeflate } from "zlib"; import { createDeflate } from "zlib";
import { URL } from "url"; import { URL } from "url";
import { Config } from "@fosscord/util";
var erlpack: any; var erlpack: any;
try { try {
erlpack = require("@yukikaze-bot/erlpack"); erlpack = require("@yukikaze-bot/erlpack");
@ -22,12 +23,15 @@ export async function Connection(
socket: WebSocket, socket: WebSocket,
request: IncomingMessage request: IncomingMessage
) { ) {
const forwardedFor = Config.get().security.forwadedFor;
const ipAddress = forwardedFor ? request.headers[forwardedFor] as string : request.socket.remoteAddress;
try { try {
// @ts-ignore // @ts-ignore
socket.on("close", Close); socket.on("close", Close);
// @ts-ignore // @ts-ignore
socket.on("message", Message); socket.on("message", Message);
console.log(`[Gateway] Connections: ${this.clients.size}`); console.log(`[Gateway] New connection from ${ipAddress}, total ${this.clients.size}`);
const { searchParams } = new URL(`http://localhost${request.url}`); const { searchParams } = new URL(`http://localhost${request.url}`);
// @ts-ignore // @ts-ignore