Google Messages
SMS/RCS through Google Messages for web.
- Bot
@gmessagesbot:matrix.isaacstuff.com- Start
login google
Meta
Facebook, Messenger, and Instagram through mautrix-meta.
- Bot
@metabot:matrix.isaacstuff.com- Start
login facebook,login messenger, orlogin instagram
Signal
Linked-device QR flow from the Signal mobile app.
- Bot
@signalbot:matrix.isaacstuff.com- Start
login
Slack
Workspace login with token plus browser cookie.
- Bot
@slackbot:matrix.isaacstuff.com- Start
login-token <xoxc-token> <d-cookie>
Discord
Discord DMs, servers, channels, replies, reactions, and media.
- Bot
@discordbot:matrix.isaacstuff.com- Start
login
Google Chat
Google Chat spaces, DMs, threads, reactions, read receipts, and media.
- Bot
@googlechatbot:matrix.isaacstuff.com- Start
login
GroupMe
GroupMe groups and DMs through the Beeper GroupMe bridge.
- Bot
@groupmebot:matrix.isaacstuff.com- Start
login
Browser Tools
Console helpers
Google Messages login
Use a private window. Open DevTools Network, reload messages.google.com/web/config, then copy the /web/config request as cURL and paste it to the bot.
(() => {
const cookies = Object.fromEntries(document.cookie.split(/;\s*/).filter(Boolean).map(c => {
const i = c.indexOf("=");
return [decodeURIComponent(c.slice(0, i)), decodeURIComponent(c.slice(i + 1))];
}));
const out = JSON.stringify(cookies, null, 2);
console.log(out);
copy(out);
return out;
})()
Meta readable cookies
JavaScript cannot read HttpOnly cookies like xs. If they are missing, copy a Messenger/Facebook graphql request as cURL.
(() => {
const wanted = ["datr", "c_user", "sb", "xs", "sessionid", "csrftoken", "mid", "ig_did", "ds_user_id"];
const cookies = Object.fromEntries(document.cookie.split(/;\s*/).filter(Boolean).map(c => {
const i = c.indexOf("=");
return [decodeURIComponent(c.slice(0, i)), decodeURIComponent(c.slice(i + 1))];
}).filter(([key]) => wanted.includes(key)));
const missing = wanted.filter(key => !(key in cookies));
const out = JSON.stringify(cookies, null, 2);
console.log("Copied cookies:", out);
console.log("Missing, possibly HttpOnly:", missing.join(", ") || "none");
copy(out);
return out;
})()
Slack login-token command
Run inside the Slack web client after opening the workspace.
(() => {
const cfg = JSON.parse(localStorage.localConfig_v2 || "{}");
const teamId = location.pathname.match(/^\/client\/([A-Z0-9]+)/)?.[1] || Object.keys(cfg.teams || {})[0];
const token = cfg.teams?.[teamId]?.token;
const cookie = document.cookie.match(/(?:^|;\s*)d=([^;]+)/)?.[1];
const command = `login-token ${token || "<missing-xoxc-token>"} ${cookie || "<missing-d-cookie>"}`;
console.log(command);
copy(command);
return command;
})()
Admin
Invite users
Create a private Matrix account and send the printed login block to the new user.
ssh -i ~/.ssh/syncra_deploy_ed25519 -p 2206 [email protected] '/opt/synchra/scripts/invite-user.sh alex'
192.168.3.106:8093