mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-10 12:42:44 +01:00
Fast connect but send identify
This commit is contained in:
parent
5b849749d5
commit
3dfd864aff
@ -46,7 +46,80 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- fast connect -->
|
<!-- 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>
|
<!-- <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 -->
|
<!-- preload plugin marker -->
|
||||||
</head>
|
</head>
|
||||||
|
@ -119,6 +119,12 @@ const doPatch = (content) => {
|
|||||||
"console.log('Prevented deletion of localStorage')"
|
"console.log('Prevented deletion of localStorage')"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// fast identify
|
||||||
|
content = content.replaceAll(
|
||||||
|
"e.isFastConnect=t;t?e._doFastConnectIdentify():e._doResumeOrIdentify()",
|
||||||
|
"e.isFastConnect=t; if (t !== undefined) e._doResumeOrIdentify();"
|
||||||
|
);
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user