Newer
Older
percord / assets / client_test / index.html
<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<title>Fosscord Test Client</title>
	<link rel="stylesheet" href="/assets/fosscord.css" />
	<link id="logincss" rel="stylesheet" href="/assets/fosscord-login.css" />
	<link id="customcss" rel="stylesheet" href="/assets/user.css" />

	<script>
		window.__OVERLAY__ = /overlay/.test(location.pathname);
		window.__BILLING_STANDALONE__ = /^\/billing/.test(location.pathname);
		window.GLOBAL_ENV = {
			API_ENDPOINT: "/api",
			API_VERSION: 9,
			GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.hostname}:3002`,
			WEBAPP_ENDPOINT: "",
			CDN_HOST: `${location.hostname}`,
			ASSET_ENDPOINT: "",
			MEDIA_PROXY_ENDPOINT: "https://media.understars.dev",
			WIDGET_ENDPOINT: `//${location.host}/widget`,
			INVITE_HOST: `${location.hostname}/invite`,
			GUILD_TEMPLATE_HOST: `${location.host}`,
			GIFT_CODE_HOST: `${location.hostname}`,
			RELEASE_CHANNEL: "Slowcord",
			MARKETING_ENDPOINT: "//understars.dev",
			BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
			STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
			NETWORKING_ENDPOINT: "//router.understars.dev",
			RTC_LATENCY_ENDPOINT: `//${location.hostname}/rtc`,
			PROJECT_ENV: "Slowcord",
			REMOTE_AUTH_ENDPOINT: `//auth.understars.dev`,
			SENTRY_TAGS: { buildId: "75e36d9", buildType: "normal" },
			MIGRATION_SOURCE_ORIGIN: `https://${location.hostname}`,
			MIGRATION_DESTINATION_ORIGIN: `https://${location.hostname}`,
			HTML_TIMESTAMP: Date.now(),
			ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
		};
		window.localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
		window.localStorage.setItem(
			"DeveloperOptionsStore",
			`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
		);
	</script>

	<!-- fast connect -->
	<!-- <script>!function () { if (null != window.WebSocket) { if (function (n) { try { var e = localStorage.getItem(n); return null == e ? null : JSON.parse(e); } catch (n) { return null; } }("token") && !window.__OVERLAY__) { var n = null != window.DiscordNative || null != window.require ? "etf" : "json", e = window.GLOBAL_ENV.GATEWAY_ENDPOINT + "/?encoding=" + n + "&v=" + window.GLOBAL_ENV.API_VERSION + "&compress=zlib-stream"; console.log("[FAST CONNECT] connecting to: " + e); var o = new WebSocket(e); o.binaryType = "arraybuffer"; var t = Date.now(), i = { open: !1, identify: !1, gateway: e, messages: [] }; o.onopen = function () { console.log("[FAST CONNECT] connected in " + (Date.now() - t) + "ms"), i.open = !0; }, o.onclose = o.onerror = function () { window._ws = null; }, o.onmessage = function (n) { i.messages.push(n); }, window._ws = { ws: o, state: i }; } } }();</script> -->

	<!-- fast identify -->
	<script>
		(() => {
			if (window.WebSocket == null) return;
			if (window.__OVERLAY__) return;

			const getStorage = (key) => {
				try {
					return JSON.parse(localStorage.getItem(key));
				}
				catch (e) {
					return undefined;
				}
			};

			const token = getStorage("token");
			if (!token) return;

			const encoding = window.DiscordNative != null || window.require != null ? "etf" : "json";
			const url = window.GLOBAL_ENV.GATEWAY_ENDPOINT +
				"/?encoding=" +
				encoding +
				"&v=" +
				window.GLOBAL_ENV.API_VERSION +
				"&compress=zlib-stream";

			console.log("[FAST IDENTIFY] connecting to:", url);

			const socket = new WebSocket(url);
			socket.binaryType = "arraybuffer";
			const start = Date.now();
			const state = { open: false, identity: false, gateway: url, messages: [] };

			socket.onopen = function () {
				console.log(`[FAST IDENTIFY] connected in ${Date.now() - start}ms`);
				state.open = true;

				console.log("[FAST IDENTIFY] Sending payload");
				state.identity = true;
				const payload = {
					op: 2,
					d: {
						token: token,
						capabilities: 509,
						properties: {
							...(getStorage("deviceProperties") || {}),
							browser_user_agent: navigator.userAgent,
						},
						compress: false,
						presence: {
							status: getStorage("UserSettingsStore")?.status || "online",
							since: 0,
							activities: [],
							afk: false,
						},
					}
				};
				socket.send(JSON.stringify(payload));
			};

			socket.onclose = socket.onerror = (e) => {
				console.log("[FAST IDENTIFY] Failed", e);
				window._ws = null;
			};

			socket.onmessage = (message) => {
				state.messages.push(message);
			};

			window._ws = { ws: socket, state };
		})();
	</script>

	<!-- preload plugin marker -->
</head>

<body>
	<div id="app-mount"></div>
	<script src="/assets/83ace7450e110d16319e.js"></script>
	<script src="/assets/e02290aaa8dac5d195c2.js"></script>
	<script src="/assets/4f3b3c576b879a5f75d1.js"></script>
	<script src="/assets/699456246fdfe7589855.js"></script>
	<!-- plugin marker -->
</body>

</html>