From 57583d049aaf77a267976f7cdf0e553a3599929c Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 24 Aug 2022 03:16:53 +0200 Subject: Configurable MFA backup token length --- src/util/config/types/SecurityConfiguration.ts | 1 + src/util/util/MFA.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/config/types/SecurityConfiguration.ts b/src/util/config/types/SecurityConfiguration.ts index 98c04c99..868f5f0a 100644 --- a/src/util/config/types/SecurityConfiguration.ts +++ b/src/util/config/types/SecurityConfiguration.ts @@ -14,4 +14,5 @@ export class SecurityConfiguration { // CF-Connecting-IP for cloudflare forwadedFor: string | null = null; ipdataApiKey: string | null = "eca677b284b3bac29eb72f5e496aa9047f26543605efe99ff2ce35c9"; + mfaBackupCodeCount: number = 10; } diff --git a/src/util/util/MFA.ts b/src/util/util/MFA.ts index a2afcad6..d0a5722a 100644 --- a/src/util/util/MFA.ts +++ b/src/util/util/MFA.ts @@ -1,9 +1,10 @@ import crypto from "crypto"; +import { Config } from "."; import { BackupCode } from "../entities/BackupCodes"; export function generateMfaBackupCodes(user_id: string) { let backup_codes: BackupCode[] = []; - for (let i = 0; i < 10; i++) { + for (let i = 0; i < Config.get().security.mfaBackupCodeCount; i++) { const code = BackupCode.create({ user: { id: user_id }, code: crypto.randomBytes(4).toString("hex"), // 8 characters -- cgit 1.5.1 From 48be9bddba1a7c372f7cddd2d4968113f196f627 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 24 Aug 2022 14:09:24 +0200 Subject: Dont even bother loading mappings for assets. --- src/api/middlewares/TestClient.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/api/middlewares/TestClient.ts b/src/api/middlewares/TestClient.ts index 2784c8ab..2c195994 100644 --- a/src/api/middlewares/TestClient.ts +++ b/src/api/middlewares/TestClient.ts @@ -45,6 +45,9 @@ export default function TestClient(app: Application) { res.set(name, value); }); } else { + if(req.params.file.endsWith(".map")) { + return res.status(404).send("Not found"); + } console.log(`[TestClient] Downloading file not yet cached! Asset file: ${req.params.file}`); response = await fetch(`https://discord.com/assets/${req.params.file}`, { agent, -- cgit 1.5.1 From 2a553e2ef9b3e4ce24e6b8aa5c75bdf5ff739452 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 24 Aug 2022 15:29:23 +0200 Subject: Add missing SKU --- .../skus/#sku_id/subscription-plans.ts | 176 ++++++++++++++++++++- 1 file changed, 168 insertions(+), 8 deletions(-) diff --git a/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts b/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts index fdd775b7..f8c78bc5 100644 --- a/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts +++ b/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts @@ -9,7 +9,7 @@ const skus = new Map([ [ { id: "511651856145973248", - name: "Individual Premium Tier 2 Monthly (Legacy)", + name: "Individual Premium Tier 3 Monthly (Legacy)", interval: 1, interval_count: 1, tax_inclusive: true, @@ -20,7 +20,7 @@ const skus = new Map([ }, { id: "511651860671627264", - name: "Individiual Premium Tier 2 Yearly (Legacy)", + name: "Individiual Premium Tier 3 Yearly (Legacy)", interval: 2, interval_count: 1, tax_inclusive: true, @@ -36,7 +36,7 @@ const skus = new Map([ [ { id: "511651871736201216", - name: "Individual Premium Tier 1 Monthly", + name: "Individual Premium Tier 2 Monthly", interval: 1, interval_count: 1, tax_inclusive: true, @@ -47,7 +47,7 @@ const skus = new Map([ }, { id: "511651876987469824", - name: "Individual Premum Tier 1 Yearly", + name: "Individual Premum Tier 2 Yearly", interval: 2, interval_count: 1, tax_inclusive: true, @@ -58,7 +58,7 @@ const skus = new Map([ }, { id: "978380684370378761", - name: "Individual Premum Tier 0", + name: "Individual Premum Tier 1", interval: 2, interval_count: 1, tax_inclusive: true, @@ -74,7 +74,7 @@ const skus = new Map([ [ { id: "642251038925127690", - name: "Individual Premium Tier 2 Quarterly", + name: "Individual Premium Tier 3 Quarterly", interval: 1, interval_count: 3, tax_inclusive: true, @@ -85,7 +85,7 @@ const skus = new Map([ }, { id: "511651880837840896", - name: "Individual Premium Tier 2 Monthly", + name: "Individual Premium Tier 3 Monthly", interval: 1, interval_count: 1, tax_inclusive: true, @@ -96,7 +96,7 @@ const skus = new Map([ }, { id: "511651885459963904", - name: "Individual Premium Tier 2 Yearly", + name: "Individual Premium Tier 3 Yearly", interval: 2, interval_count: 1, tax_inclusive: true, @@ -134,6 +134,166 @@ const skus = new Map([ price: 0, price_tier: null } + ], + ], + [ + "978380684370378762", + [ + [ + { + "id": "978380692553465866", + "name": "Premium Tier 0 Monthly", + "interval": 1, + "interval_count": 1, + "tax_inclusive": true, + "sku_id": "978380684370378762", + "currency": "usd", + "price": 299, + "price_tier": null, + "prices": { + "0": { + "country_prices": { + "country_code": "US", + "prices": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + }, + "payment_source_prices": { + "775487223059316758": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "736345864146255982": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "683074999590060249": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + } + }, + "3": { + "country_prices": { + "country_code": "US", + "prices": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + }, + "payment_source_prices": { + "775487223059316758": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "736345864146255982": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "683074999590060249": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + } + }, + "4": { + "country_prices": { + "country_code": "US", + "prices": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + }, + "payment_source_prices": { + "775487223059316758": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "736345864146255982": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "683074999590060249": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + } + }, + "1": { + "country_prices": { + "country_code": "US", + "prices": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + }, + "payment_source_prices": { + "775487223059316758": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "736345864146255982": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ], + "683074999590060249": [ + { + "currency": "usd", + "amount": 0, + "exponent": 2 + } + ] + } + } + } + } + ] ] ] ]); -- cgit 1.5.1 From 15a9a8f7a0707cbbe5a01b64c9ee50604fe8e6b3 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 24 Aug 2022 19:02:51 +0200 Subject: Configurable backup code length --- src/util/config/types/SecurityConfiguration.ts | 1 + src/util/util/MFA.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/config/types/SecurityConfiguration.ts b/src/util/config/types/SecurityConfiguration.ts index 868f5f0a..a2cebbd3 100644 --- a/src/util/config/types/SecurityConfiguration.ts +++ b/src/util/config/types/SecurityConfiguration.ts @@ -15,4 +15,5 @@ export class SecurityConfiguration { forwadedFor: string | null = null; ipdataApiKey: string | null = "eca677b284b3bac29eb72f5e496aa9047f26543605efe99ff2ce35c9"; mfaBackupCodeCount: number = 10; + mfaBackupCodeBytes: number = 4; } diff --git a/src/util/util/MFA.ts b/src/util/util/MFA.ts index d0a5722a..b9af6d23 100644 --- a/src/util/util/MFA.ts +++ b/src/util/util/MFA.ts @@ -7,7 +7,7 @@ export function generateMfaBackupCodes(user_id: string) { for (let i = 0; i < Config.get().security.mfaBackupCodeCount; i++) { const code = BackupCode.create({ user: { id: user_id }, - code: crypto.randomBytes(4).toString("hex"), // 8 characters + code: crypto.randomBytes(Config.get().security.mfaBackupCodeBytes).toString("hex"), // 8 characters consumed: false, expired: false }); -- cgit 1.5.1