diff --git a/.gitignore b/.gitignore
index 93650145b..e01ce4d2e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,6 @@ database.db
tsconfig.tsbuildinfo
files/
assets/cache
-.env
config.json
assets/cacheMisses
@@ -17,6 +16,5 @@ build
*.log
*.log.ansi
*.tmp
-#tmp/
dump/
package-lock.json
diff --git a/scripts/rights.js b/scripts/rights.js
index 473d48505..29452eb10 100644
--- a/scripts/rights.js
+++ b/scripts/rights.js
@@ -44,3 +44,13 @@ discordLike -= Rights.FLAGS.EDIT_FLAGS;
discordLike -= Rights.FLAGS.SELF_EDIT_FLAGS;
discordLike -= Rights.FLAGS.MANAGE_GROUPS;
console.log(`Discord.com-like rights:`, discordLike);
+
+//start 1760002018
+discordLike -= Rights.FLAGS.SELF_ADD_DISCOVERABLE;
+discordLike -= Rights.FLAGS.SELF_DELETE_DISABLE;
+discordLike -= Rights.FLAGS.DEBTABLE;
+discordLike -= Rights.FLAGS.POGGERS;
+discordLike -= Rights.FLAGS.SELF_EDIT_NAME;
+//end 1760002018
+
+console.log(`1760002018-like rights: ${discordRights}`);
diff --git a/src/api/start.ts b/src/api/start.ts
index 7975d0856..79b9df142 100644
--- a/src/api/start.ts
+++ b/src/api/start.ts
@@ -26,13 +26,14 @@ config();
import { FosscordServer } from "./Server";
import cluster from "cluster";
import os from "os";
-let cores = 1;
+const cores = 1;
+/*
try {
cores = Number(process.env.THREADS) || os.cpus().length;
} catch {
console.log("[API] Failed to get thread count! Using 1...");
}
-
+*/
if (cluster.isPrimary && process.env.NODE_ENV == "production") {
console.log(`Primary ${process.pid} is running`);
diff --git a/src/cdn/start.ts b/src/cdn/start.ts
index c36a6b73a..9880eeef1 100644
--- a/src/cdn/start.ts
+++ b/src/cdn/start.ts
@@ -20,7 +20,7 @@ require("module-alias/register");
import "dotenv/config";
import { CDNServer } from "./Server";
-const server = new CDNServer({ port: Number(process.env.PORT) || 3003 });
+const server = new CDNServer({ port: Number(process.env.PORT) || 3001 });
server
.start()
.then(() => {
diff --git a/src/gateway/start.ts b/src/gateway/start.ts
index 79448f91b..df05029f9 100644
--- a/src/gateway/start.ts
+++ b/src/gateway/start.ts
@@ -25,7 +25,7 @@ import { config } from "dotenv";
config();
let port = Number(process.env.PORT);
-if (isNaN(port)) port = 3002;
+if (isNaN(port)) port = 3001;
const server = new Server({
port,
diff --git a/src/util/config/types/ApiConfiguration.ts b/src/util/config/types/ApiConfiguration.ts
index 3ed8c860a..b8f113613 100644
--- a/src/util/config/types/ApiConfiguration.ts
+++ b/src/util/config/types/ApiConfiguration.ts
@@ -15,10 +15,14 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
-
+import fs from "fs";
export class ApiConfiguration {
defaultVersion: string = "9";
activeVersions: string[] = ["6", "7", "8", "9"];
- useFosscordEnhancements: boolean = true;
- endpointPublic: string = "";
+ useFosscordEnhancements: boolean = false;
+ endpointPublic: string =
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
}
diff --git a/src/util/config/types/EndpointConfiguration.ts b/src/util/config/types/EndpointConfiguration.ts
index e7afe4947..2d8c686c2 100644
--- a/src/util/config/types/EndpointConfiguration.ts
+++ b/src/util/config/types/EndpointConfiguration.ts
@@ -15,9 +15,21 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
-
+import fs from "fs";
export class EndpointConfiguration {
- endpointClient: string | null = null;
- endpointPrivate: string | null = null;
- endpointPublic: string | null = null;
+ endpointClient: string | null =
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
+ endpointPrivate: string | null =
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
+ endpointPublic: string | null =
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
}
diff --git a/src/util/config/types/GeneralConfiguration.ts b/src/util/config/types/GeneralConfiguration.ts
index ba7503b75..dd6604001 100644
--- a/src/util/config/types/GeneralConfiguration.ts
+++ b/src/util/config/types/GeneralConfiguration.ts
@@ -17,15 +17,22 @@
*/
import { Snowflake } from "@fosscord/util";
-
+import fs from "fs";
export class GeneralConfiguration {
- instanceName: string = "Fosscord Instance";
- instanceDescription: string | null =
- "This is a Fosscord instance made in the pre-release days";
- frontPage: string | null = null;
- tosPage: string | null = null;
- correspondenceEmail: string | null = null;
- correspondenceUserID: string | null = null;
+ instanceName: string = "CE1CECL";
+ instanceDescription: string | null = "ChrisEric1 CECL";
+ frontPage: string | null =
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
+ tosPage: string | null =
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
+ correspondenceEmail: string | null = "christopherericlentocha@gmail.com";
+ correspondenceUserID: string | null = "christopherericlentocha@gmail.com";
image: string | null = null;
instanceId: string = Snowflake.generate();
}
diff --git a/src/util/config/types/GifConfiguration.ts b/src/util/config/types/GifConfiguration.ts
index 0e5583faf..690635280 100644
--- a/src/util/config/types/GifConfiguration.ts
+++ b/src/util/config/types/GifConfiguration.ts
@@ -17,7 +17,7 @@
*/
export class GifConfiguration {
- enabled: boolean = true;
+ enabled: boolean = false;
provider = "tenor" as const; // more coming soon
- apiKey?: string = "LIVDSRZULELA";
+ apiKey?: string = "";
}
diff --git a/src/util/config/types/RegionConfiguration.ts b/src/util/config/types/RegionConfiguration.ts
index ac7760d10..e23a2d7dd 100644
--- a/src/util/config/types/RegionConfiguration.ts
+++ b/src/util/config/types/RegionConfiguration.ts
@@ -20,17 +20,17 @@ import fs from "fs";
import { Region } from ".";
export class RegionConfiguration {
- default: string = "fosscord";
+ default: string = "cecl";
useDefaultAsOptimal: boolean = true;
available: Region[] = [
{
- id: "fosscord",
- name: "Fosscord",
+ id: "cecl",
+ name: "CECL",
endpoint:
fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
- "localhost:3004",
- vip: false,
- custom: false,
+ "localhost:3001",
+ vip: true,
+ custom: true,
deprecated: false,
},
];
diff --git a/src/util/config/types/RegisterConfiguration.ts b/src/util/config/types/RegisterConfiguration.ts
index b8db00779..fe2c7a995 100644
--- a/src/util/config/types/RegisterConfiguration.ts
+++ b/src/util/config/types/RegisterConfiguration.ts
@@ -28,12 +28,12 @@ export class RegisterConfiguration {
dateOfBirth: DateOfBirthConfiguration = new DateOfBirthConfiguration();
password: PasswordConfiguration = new PasswordConfiguration();
disabled: boolean = false;
- requireCaptcha: boolean = true;
+ requireCaptcha: boolean = false;
requireInvite: boolean = false;
guestsRequireInvite: boolean = true;
- allowNewRegistration: boolean = true;
+ allowNewRegistration: boolean = false;
allowMultipleAccounts: boolean = true;
- blockProxies: boolean = true;
- incrementingDiscriminators: boolean = false; // random otherwise
- defaultRights: string = "875069521787904"; // See `npm run generate:rights`
+ blockProxies: boolean = false;
+ incrementingDiscriminators: boolean = true; // random otherwise
+ defaultRights: string = "30297756269806"; // See `npm run generate:rights`
}
diff --git a/src/util/config/types/SecurityConfiguration.ts b/src/util/config/types/SecurityConfiguration.ts
index 7ae311e4b..2bc5b18a0 100644
--- a/src/util/config/types/SecurityConfiguration.ts
+++ b/src/util/config/types/SecurityConfiguration.ts
@@ -22,7 +22,7 @@ import { CaptchaConfiguration, TwoFactorConfiguration } from ".";
export class SecurityConfiguration {
captcha: CaptchaConfiguration = new CaptchaConfiguration();
twoFactor: TwoFactorConfiguration = new TwoFactorConfiguration();
- autoUpdate: boolean | number = true;
+ autoUpdate: boolean | number = false;
requestSignature: string = crypto.randomBytes(32).toString("base64");
jwtSecret: string = crypto.randomBytes(256).toString("base64");
// header to get the real user ip address
diff --git a/src/util/config/types/SentryConfiguration.ts b/src/util/config/types/SentryConfiguration.ts
index ea8899054..ac686ebf6 100644
--- a/src/util/config/types/SentryConfiguration.ts
+++ b/src/util/config/types/SentryConfiguration.ts
@@ -17,11 +17,14 @@
*/
import { hostname } from "os";
-
+import fs from "fs";
export class SentryConfiguration {
enabled: boolean = false;
endpoint: string =
- "https://05e8e3d005f34b7d97e920ae5870a5e5@sentry.thearcanebrony.net/6";
+ fs.readFileSync("./tmp/PROT", { encoding: "utf8" }) +
+ "://" +
+ fs.readFileSync("./tmp/HOST", { encoding: "utf8" }) ||
+ "http://localhost:3001";
traceSampleRate: number = 1.0;
environment: string = hostname();
}
diff --git a/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts b/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts
index 797ef4eea..2b7a4bb80 100644
--- a/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts
+++ b/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts
@@ -18,5 +18,5 @@
export class ClientReleaseConfiguration {
useLocalRelease: boolean = true; //TODO
- upstreamVersion: string = "0.0.264";
+ upstreamVersion: string = "0.0.0";
}
diff --git a/src/util/config/types/subconfigurations/guild/AutoJoin.ts b/src/util/config/types/subconfigurations/guild/AutoJoin.ts
index aabead63b..4a12a006f 100644
--- a/src/util/config/types/subconfigurations/guild/AutoJoin.ts
+++ b/src/util/config/types/subconfigurations/guild/AutoJoin.ts
@@ -19,5 +19,5 @@
export class AutoJoinConfiguration {
enabled: boolean = true;
guilds: string[] = [];
- canLeave: boolean = true;
+ canLeave: boolean = false;
}
diff --git a/src/util/config/types/subconfigurations/guild/Discovery.ts b/src/util/config/types/subconfigurations/guild/Discovery.ts
index 25a0cb4b7..00ca979e9 100644
--- a/src/util/config/types/subconfigurations/guild/Discovery.ts
+++ b/src/util/config/types/subconfigurations/guild/Discovery.ts
@@ -20,5 +20,5 @@ export class DiscoveryConfiguration {
showAllGuilds: boolean = false;
useRecommendation: boolean = false; // TODO: Recommendation, privacy concern?
offset: number = 0;
- limit: number = 24;
+ limit: number = 100;
}
diff --git a/src/util/config/types/subconfigurations/register/DateOfBirth.ts b/src/util/config/types/subconfigurations/register/DateOfBirth.ts
index debe8c446..6be9313f1 100644
--- a/src/util/config/types/subconfigurations/register/DateOfBirth.ts
+++ b/src/util/config/types/subconfigurations/register/DateOfBirth.ts
@@ -17,6 +17,6 @@
*/
export class DateOfBirthConfiguration {
- required: boolean = true;
- minimum: number = 13; // in years
+ required: boolean = false;
+ minimum: number = 0; // in years
}
diff --git a/src/util/config/types/subconfigurations/register/Email.ts b/src/util/config/types/subconfigurations/register/Email.ts
index 4f95caf1d..0ef81bc62 100644
--- a/src/util/config/types/subconfigurations/register/Email.ts
+++ b/src/util/config/types/subconfigurations/register/Email.ts
@@ -17,9 +17,9 @@
*/
export class RegistrationEmailConfiguration {
- required: boolean = false;
+ required: boolean = true;
allowlist: boolean = false;
- blocklist: boolean = true;
+ blocklist: boolean = false;
domains: string[] = []; // TODO: efficiently save domain blocklist in database
// domains: fs.readFileSync(__dirname + "/blockedEmailDomains.txt", { encoding: "utf8" }).split("\n"),
}
diff --git a/src/util/config/types/subconfigurations/register/Password.ts b/src/util/config/types/subconfigurations/register/Password.ts
index ca04e9e42..409faa8a2 100644
--- a/src/util/config/types/subconfigurations/register/Password.ts
+++ b/src/util/config/types/subconfigurations/register/Password.ts
@@ -17,9 +17,9 @@
*/
export class PasswordConfiguration {
- required: boolean = false;
- minLength: number = 8;
- minNumbers: number = 2;
- minUpperCase: number = 2;
+ required: boolean = true;
+ minLength: number = 1;
+ minNumbers: number = 0;
+ minUpperCase: number = 0;
minSymbols: number = 0;
}
diff --git a/src/util/entities/UserSettings.ts b/src/util/entities/UserSettings.ts
index 4c273591b..c81d31520 100644
--- a/src/util/entities/UserSettings.ts
+++ b/src/util/entities/UserSettings.ts
@@ -34,10 +34,10 @@ export class UserSettings extends BaseClassWithoutId {
animate_emoji: boolean = true;
@Column({ nullable: true })
- animate_stickers: number = 0;
+ animate_stickers: number = 1;
@Column({ nullable: true })
- contact_sync_enabled: boolean = false;
+ contact_sync_enabled: boolean = true;
@Column({ nullable: true })
convert_emoticons: boolean = false;
@@ -49,16 +49,16 @@ export class UserSettings extends BaseClassWithoutId {
default_guilds_restricted: boolean = false;
@Column({ nullable: true })
- detect_platform_accounts: boolean = false;
+ detect_platform_accounts: boolean = true;
@Column({ nullable: true })
developer_mode: boolean = true;
@Column({ nullable: true })
- disable_games_tab: boolean = true;
+ disable_games_tab: boolean = false;
@Column({ nullable: true })
- enable_tts_command: boolean = false;
+ enable_tts_command: boolean = true;
@Column({ nullable: true })
explicit_content_filter: number = 0;
@@ -67,10 +67,10 @@ export class UserSettings extends BaseClassWithoutId {
friend_source_flags: FriendSourceFlags = { all: true };
@Column({ nullable: true })
- gateway_connected: boolean = false;
+ gateway_connected: boolean = true;
@Column({ nullable: true })
- gif_auto_play: boolean = false;
+ gif_auto_play: boolean = true;
@Column({ nullable: true, type: "simple-json" })
guild_folders: GuildFolder[] = []; // every top guild is displayed as a "folder"
@@ -106,10 +106,10 @@ export class UserSettings extends BaseClassWithoutId {
show_current_game: boolean = true;
@Column({ nullable: true })
- status: "online" | "offline" | "dnd" | "idle" | "invisible" = "online";
+ status: "online" | "offline" | "dnd" | "idle" | "invisible" = "dnd";
@Column({ nullable: true })
- stream_notifications_enabled: boolean = false;
+ stream_notifications_enabled: boolean = true;
@Column({ nullable: true })
theme: "dark" | "light" = "dark"; // dark
diff --git a/src/util/entities/VoiceState.ts b/src/util/entities/VoiceState.ts
index 734ec3f1b..fec0ac1ed 100644
--- a/src/util/entities/VoiceState.ts
+++ b/src/util/entities/VoiceState.ts
@@ -85,7 +85,7 @@ export class VoiceState extends BaseClass {
self_stream?: boolean;
@Column({ nullable: true })
- self_video: boolean;
+ self_video?: boolean;
@Column()
suppress: boolean; // whether this user is muted by the current user
diff --git a/src/webrtc/start.ts b/src/webrtc/start.ts
index cceb399bc..3fc3b9367 100644
--- a/src/webrtc/start.ts
+++ b/src/webrtc/start.ts
@@ -23,7 +23,7 @@ import { config } from "dotenv";
import { Server } from "./Server";
config();
-const port = Number(process.env.PORT) || 3004;
+const port = Number(process.env.PORT) || 3001;
const server = new Server({
port,
diff --git a/tmp/HOST b/tmp/HOST
index 527a63837..a654047d8 100644
--- a/tmp/HOST
+++ b/tmp/HOST
@@ -1 +1 @@
-localhost:3001
+localhost:3001/spacebar
\ No newline at end of file
diff --git a/tmp/IPv4 b/tmp/IPv4
index 7b9ad531d..e56ea71e3 100644
--- a/tmp/IPv4
+++ b/tmp/IPv4
@@ -1 +1 @@
-127.0.0.1
+127.0.0.1
\ No newline at end of file
diff --git a/tmp/NAME b/tmp/NAME
index 2fbb50c4a..d18580b3c 100644
--- a/tmp/NAME
+++ b/tmp/NAME
@@ -1 +1 @@
-localhost
+localhost
\ No newline at end of file
diff --git a/tmp/PORT b/tmp/PORT
index be10e3b71..6fc99cfbb 100644
--- a/tmp/PORT
+++ b/tmp/PORT
@@ -1 +1 @@
-3001
+3001
\ No newline at end of file