mirror of
https://github.com/Yonle/bostr.git
synced 2025-09-26 12:56:25 +02:00
@@ -48,7 +48,7 @@ module.exports = (ws, req) => {
|
||||
ws.send(JSON.stringify(["AUTH", authKey]));
|
||||
}
|
||||
|
||||
console.log(process.pid, `->- ${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} connected as ${ws.id} ${orphan ? "(orphan reused)" : ""}`);
|
||||
console.log(process.pid, `->- ${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} connected as ${ws.id} ${orphan ? "(orphan reused) " : ""}[${req.headers["user-agent"] || ""}]`);
|
||||
ws.on("message", data => {
|
||||
try {
|
||||
data = JSON.parse(data);
|
||||
|
3
http.js
3
http.js
@@ -14,7 +14,7 @@ const wss = new WebSocket.WebSocketServer({ noServer: true });
|
||||
const lastConn = new Map();
|
||||
|
||||
server.on('request', (req, res) => {
|
||||
log(`${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} - ${req.method} ${req.url}`)
|
||||
log(`${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} - ${req.method} ${req.url} [${req.headers["user-agent"] || ""}]`)
|
||||
|
||||
if (req.headers.accept?.includes("application/nostr+json"))
|
||||
return res.writeHead(200, {
|
||||
@@ -49,6 +49,7 @@ server.on('upgrade', (req, sock, head) => {
|
||||
const ip = req.headers["x-forwarded-for"]?.split(",")[0] || sock.address()?.address;
|
||||
const lv = lastConn.get(ip) // last visit
|
||||
if (config.incomming_ratelimit && (config.incomming_ratelimit > (Date.now() - lv))) {
|
||||
log(`Rejected connection from ${ip} as the last connection was ${Date.now() - lv} ms ago.`);
|
||||
lastConn.set(ip, Date.now());
|
||||
return sock.destroy(); // destroy.
|
||||
}
|
||||
|
Reference in New Issue
Block a user