This repository has been archived on 2026-03-19. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galvanic-corrosion/src/routes/nameserver.ts
zombieb 83440a9245
All checks were successful
Galvanic Corrosion Cross-Compile / build (push) Successful in 1m50s
build config changes
* Commit hash shipped with builds
* Post & pre-build events
* Objective fixes
* Orientation challenge filler
* Custom Rooms base
    - Currently cannot save rooms (CDN not set up)
* Moved root path to path.ts
* Room cloning
* Rewrote instances - the whole thing
* Relationships are still untested
* Charades Words
* AG Room fetch
* Private room matchmaking
* Socket fixes
2025-05-12 09:07:59 -04:00

58 lines
2.1 KiB
TypeScript

/* Galvanic Corrosion - Rec Room custom server for communities.
<https://gitea.proxnet.dev/zombieb/galvanic-corrosion>
Copyright (C) 2025 @zombieb (Discord / proxnet Gitea)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
import { APIUtils } from "../apiutils.ts";
import { Config } from "../config.ts";
const config = Config.getConfig() as Config.GalvanicConfiguration;
const protocol = config.web.api.securepublichost ? "https" : "http";
export const route = APIUtils.createRouter("/ns");
type NameserverHosts = {
Accounts: string;
Auth: string;
API: string;
WWW: string;
Notifications: string;
Images: string;
CDN: string;
Commerce: string;
Matchmaking: string;
Storage: string;
Chat: string;
Leaderboard: string;
};
const nameserver: NameserverHosts = {
Accounts: `${protocol}://${config.web.api.publichost}/accounts`,
Auth: `${protocol}://${config.web.api.publichost}/auth`,
API: `${protocol}://${config.web.api.publichost}`,
WWW: `${protocol}://${config.web.api.publichost}`,
Notifications: `${protocol}://${config.web.api.publichost}/notify`,
Images: `${protocol}://${config.web.api.publichost}/img`,
CDN: `${protocol}://${config.web.api.publichost}/cdn`,
Commerce: `${protocol}://${config.web.api.publichost}/commerce`,
Matchmaking: `${protocol}://${config.web.api.publichost}/match`,
Storage: `${protocol}://${config.web.api.publichost}/storage`,
Chat: `${protocol}://${config.web.api.publichost}/chat`,
Leaderboard: `${protocol}://${config.web.api.publichost}/leaderboard`,
};
route.router.get("*", (_rq, rs) => {
rs.json(nameserver);
});