mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-07-01 11:35:32 +02:00
chore: update dependencies
This commit is contained in:
Generated
+3385
-3366
File diff suppressed because it is too large
Load Diff
+38
-40
@@ -30,11 +30,11 @@
|
|||||||
"build"
|
"build"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.374.0",
|
"@aws-sdk/client-s3": "^3.540.0",
|
||||||
"@aws-sdk/node-http-handler": "^3.374.0",
|
"@smithy/node-http-handler": "^2.5.0",
|
||||||
"@octokit/oauth-app": "^6.0.0",
|
"@octokit/oauth-app": "^6.1.0",
|
||||||
"@octokit/plugin-paginate-rest": "^8.0.0",
|
"@octokit/plugin-paginate-rest": "^8.0.0",
|
||||||
"@octokit/rest": "^20.0.1",
|
"@octokit/rest": "^20.0.2",
|
||||||
"@opentelemetry/api": "^1.8.0",
|
"@opentelemetry/api": "^1.8.0",
|
||||||
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
|
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
|
||||||
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.49.1",
|
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.49.1",
|
||||||
@@ -44,58 +44,56 @@
|
|||||||
"@opentelemetry/sdk-metrics": "^1.22.0",
|
"@opentelemetry/sdk-metrics": "^1.22.0",
|
||||||
"@opentelemetry/sdk-node": "^0.49.1",
|
"@opentelemetry/sdk-node": "^0.49.1",
|
||||||
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
||||||
"@pm2/io": "^5.0.0",
|
"archiver": "^5.3.2",
|
||||||
"archiver": "^5.3.1",
|
"bullmq": "^2.4.0",
|
||||||
"bullmq": "^2.3.2",
|
|
||||||
"compression": "^1.7.4",
|
"compression": "^1.7.4",
|
||||||
"connect-redis": "^7.0.1",
|
"connect-redis": "^7.0.1",
|
||||||
"decompress-stream-to-s3": "^2.1.1",
|
"decompress-stream-to-s3": "^2.1.1",
|
||||||
"dotenv": "^16.0.3",
|
"dotenv": "^16.4.5",
|
||||||
"express": "^4.18.2",
|
"express": "^4.19.2",
|
||||||
"express-rate-limit": "^6.8.0",
|
"express-rate-limit": "^6.11.2",
|
||||||
"express-session": "^1.17.3",
|
"express-session": "^1.18.0",
|
||||||
"express-slow-down": "^1.6.0",
|
"express-slow-down": "^2.0.1",
|
||||||
"got": "^11.8.5",
|
"got": "^11.8.6",
|
||||||
"inquirer": "^8.2.5",
|
"inquirer": "^8.2.6",
|
||||||
"istextorbinary": "^6.0.0",
|
"istextorbinary": "^9.5.0",
|
||||||
"marked": "^5.1.2",
|
"marked": "^5.1.2",
|
||||||
"mime-types": "^2.1.35",
|
"mime-types": "^2.1.35",
|
||||||
"mongoose": "^7.4.1",
|
"mongoose": "^7.6.10",
|
||||||
"node-schedule": "^2.1.1",
|
"node-schedule": "^2.1.1",
|
||||||
"parse-github-url": "^1.0.2",
|
"parse-github-url": "^1.0.2",
|
||||||
"passport": "^0.6.0",
|
"passport": "^0.6.0",
|
||||||
"passport-github2": "^0.1.12",
|
"passport-github2": "^0.1.12",
|
||||||
"rate-limit-redis": "^3.0.2",
|
"rate-limit-redis": "^4.2.0",
|
||||||
"redis": "^4.6.7",
|
"redis": "^4.6.13",
|
||||||
"textextensions": "^5.16.0",
|
"textextensions": "^6.11.0",
|
||||||
"ts-custom-error": "^3.3.1",
|
"ts-custom-error": "^3.3.1",
|
||||||
"unzip-stream": "^0.3.1",
|
"unzip-stream": "^0.3.1",
|
||||||
"xml-flow": "^1.0.4"
|
"xml-flow": "^1.0.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/archiver": "^5.3.1",
|
"@types/archiver": "^5.3.4",
|
||||||
"@types/compression": "^1.7.1",
|
"@types/compression": "^1.7.5",
|
||||||
"@types/connect-redis": "^0.0.20",
|
"@types/express": "^4.17.21",
|
||||||
"@types/express": "^4.17.14",
|
|
||||||
"@types/express-rate-limit": "^6.0.0",
|
"@types/express-rate-limit": "^6.0.0",
|
||||||
"@types/express-session": "^1.17.5",
|
"@types/express-session": "^1.18.0",
|
||||||
"@types/express-slow-down": "^1.3.2",
|
"@types/express-slow-down": "^1.3.5",
|
||||||
"@types/got": "^9.6.12",
|
"@types/got": "^9.6.12",
|
||||||
"@types/inquirer": "^8.0.0",
|
"@types/inquirer": "^8.2.10",
|
||||||
"@types/marked": "^5.0.1",
|
"@types/marked": "^5.0.2",
|
||||||
"@types/mime-types": "^2.1.0",
|
"@types/mime-types": "^2.1.4",
|
||||||
"@types/node-schedule": "^2.1.0",
|
"@types/node-schedule": "^2.1.6",
|
||||||
"@types/parse-github-url": "^1.0.0",
|
"@types/parse-github-url": "^1.0.3",
|
||||||
"@types/passport": "^1.0.11",
|
"@types/passport": "^1.0.16",
|
||||||
"@types/passport-github2": "^1.2.5",
|
"@types/passport-github2": "^1.2.9",
|
||||||
"@types/tar-fs": "^2.0.1",
|
"@types/tar-fs": "^2.0.4",
|
||||||
"@types/unzip-stream": "^0.3.1",
|
"@types/unzip-stream": "^0.3.4",
|
||||||
"@types/xml-flow": "^1.0.1",
|
"@types/xml-flow": "^1.0.4",
|
||||||
"chai": "^4.3.6",
|
"chai": "^4.4.1",
|
||||||
"mocha": "^10.1.0",
|
"mocha": "^10.4.0",
|
||||||
"nodemon": "^3.0.1",
|
"nodemon": "^3.1.0",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.2",
|
||||||
"typescript": "^4.8.4"
|
"typescript": "^5.4.3"
|
||||||
},
|
},
|
||||||
"nodemonConfig": {
|
"nodemonConfig": {
|
||||||
"ignore": [
|
"ignore": [
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import AnonymousError from "../AnonymousError";
|
|||||||
import * as db from "../database/database";
|
import * as db from "../database/database";
|
||||||
import UserModel from "../database/users/users.model";
|
import UserModel from "../database/users/users.model";
|
||||||
import User from "../User";
|
import User from "../User";
|
||||||
import * as io from "@pm2/io";
|
|
||||||
|
|
||||||
export async function getPullRequest(
|
export async function getPullRequest(
|
||||||
req: express.Request,
|
req: express.Request,
|
||||||
@@ -76,7 +75,6 @@ export function isOwnerOrAdmin(authorizedUsers: string[], user: User) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function printError(error: any, req?: express.Request) {
|
function printError(error: any, req?: express.Request) {
|
||||||
io.notifyError(error, error.value);
|
|
||||||
if (error instanceof AnonymousError) {
|
if (error instanceof AnonymousError) {
|
||||||
let message = `[ERROR] ${error.toString()} ${error.stack
|
let message = `[ERROR] ${error.toString()} ${error.stack
|
||||||
?.split("\n")[1]
|
?.split("\n")[1]
|
||||||
|
|||||||
+13
-7
@@ -2,7 +2,7 @@ import { createClient } from "redis";
|
|||||||
import { resolve, join } from "path";
|
import { resolve, join } from "path";
|
||||||
import { existsSync } from "fs";
|
import { existsSync } from "fs";
|
||||||
import rateLimit from "express-rate-limit";
|
import rateLimit from "express-rate-limit";
|
||||||
import * as slowDown from "express-slow-down";
|
import { slowDown } from "express-slow-down";
|
||||||
import RedisStore from "rate-limit-redis";
|
import RedisStore from "rate-limit-redis";
|
||||||
import * as express from "express";
|
import * as express from "express";
|
||||||
import * as compression from "compression";
|
import * as compression from "compression";
|
||||||
@@ -71,7 +71,7 @@ export default async function start() {
|
|||||||
return request.socket.remoteAddress;
|
return request.socket.remoteAddress;
|
||||||
}
|
}
|
||||||
// remove port number from IPv4 addresses
|
// remove port number from IPv4 addresses
|
||||||
return request.ip.replace(/:\d+[^:]*$/, "");
|
return (request.ip || "").replace(/:\d+[^:]*$/, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
const rate = rateLimit({
|
const rate = rateLimit({
|
||||||
@@ -79,10 +79,18 @@ export default async function start() {
|
|||||||
sendCommand: (...args: string[]) => redisClient.sendCommand(args),
|
sendCommand: (...args: string[]) => redisClient.sendCommand(args),
|
||||||
}),
|
}),
|
||||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
||||||
|
skip: async (request: express.Request, response: express.Response) => {
|
||||||
|
try {
|
||||||
|
const user = await getUser(request);
|
||||||
|
if (user && user.isAdmin) return true;
|
||||||
|
} catch (_) {
|
||||||
|
// ignore: user not connected
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
max: async (request: express.Request, response: express.Response) => {
|
max: async (request: express.Request, response: express.Response) => {
|
||||||
try {
|
try {
|
||||||
const user = await getUser(request);
|
const user = await getUser(request);
|
||||||
if (user && user.isAdmin) return 0;
|
|
||||||
if (user) return config.RATE_LIMIT;
|
if (user) return config.RATE_LIMIT;
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
// ignore: user not connected
|
// ignore: user not connected
|
||||||
@@ -100,17 +108,15 @@ export default async function start() {
|
|||||||
const speedLimiter = slowDown({
|
const speedLimiter = slowDown({
|
||||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
||||||
delayAfter: 50,
|
delayAfter: 50,
|
||||||
delayMs: 150,
|
delayMs: () => 150,
|
||||||
maxDelayMs: 5000,
|
maxDelayMs: 5000,
|
||||||
headers: true,
|
|
||||||
keyGenerator,
|
keyGenerator,
|
||||||
});
|
});
|
||||||
const webViewSpeedLimiter = slowDown({
|
const webViewSpeedLimiter = slowDown({
|
||||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
||||||
delayAfter: 200,
|
delayAfter: 200,
|
||||||
delayMs: 150,
|
delayMs: () => 150,
|
||||||
maxDelayMs: 5000,
|
maxDelayMs: 5000,
|
||||||
headers: true,
|
|
||||||
keyGenerator,
|
keyGenerator,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
PutObjectCommandInput,
|
PutObjectCommandInput,
|
||||||
S3,
|
S3,
|
||||||
} from "@aws-sdk/client-s3";
|
} from "@aws-sdk/client-s3";
|
||||||
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
|
import { NodeHttpHandler } from "@smithy/node-http-handler";
|
||||||
import config from "../../config";
|
import config from "../../config";
|
||||||
import { pipeline, Readable, Transform } from "stream";
|
import { pipeline, Readable, Transform } from "stream";
|
||||||
import ArchiveStreamToS3 from "decompress-stream-to-s3";
|
import ArchiveStreamToS3 from "decompress-stream-to-s3";
|
||||||
@@ -40,6 +40,7 @@ export default class S3Storage implements StorageBase {
|
|||||||
requestHandler: new NodeHttpHandler({
|
requestHandler: new NodeHttpHandler({
|
||||||
requestTimeout: timeout,
|
requestTimeout: timeout,
|
||||||
connectionTimeout: timeout,
|
connectionTimeout: timeout,
|
||||||
|
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user