This repository has been archived on 2026-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
Madeline cc50ebf47b Fix being unable to unset nicknames
Remove unwanted guild profile handler in cdn
Fix rights check for bio/avatars of your own user
2023-02-05 12:35:27 +11:00

139 lines
5.0 KiB
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.host}`,
WEBAPP_ENDPOINT: "",
CDN_HOST: `${location.host}`,
ASSET_ENDPOINT: "",
MEDIA_PROXY_ENDPOINT: `${location.host}/media`,
WIDGET_ENDPOINT: `//${location.host}/widget`,
INVITE_HOST: `${location.host}/invite`,
GUILD_TEMPLATE_HOST: "${location.host}/template",
GIFT_CODE_HOST: `${location.host}/gift`,
RELEASE_CHANNEL: "canary",
MARKETING_ENDPOINT: "//discord.com",
BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
NETWORKING_ENDPOINT: "//router.discordapp.net",
RTC_LATENCY_ENDPOINT: `//${location.host}/rtc`,
ACTIVITY_APPLICATION_HOST: "discordsays.com",
PROJECT_ENV: "production",
REMOTE_AUTH_ENDPOINT: "//localhost:3020",
SENTRY_TAGS: { buildId: "d5b97e42230075cb9634c419c0cf4d2f8f9ada53", buildType: "normal" },
MIGRATION_SOURCE_ORIGIN: `https://${location.host}`,
MIGRATION_DESTINATION_ORIGIN: `https://${location.host}`,
HTML_TIMESTAMP: Date.now(),
ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
};
window.localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
window.localStorage.setItem(
"DeveloperOptionsStore",
`{"trace":false,"canary":true,"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>
<!-- inline plugin marker -->
<!-- preload plugin marker -->
</head>
<body>
<div id="app-mount"></div>
<script src="/assets/b456855ec667950dcf68.js"></script>
<script src="/assets/cfb9efe961b2bf3647bc.js"></script>
<script src="/assets/f98a039261c37f892cbf.js"></script>
<script src="/assets/4470c87bb13810847db0.js"></script>
<!-- plugin marker -->
</body>
</html>