slimebeep

SlimeBeep

SlimeBeep

Made by SlimeQueenSamantha.

A bubble gum beep messenger for Bondage Club: chat with each friend, see who’s online and where, and send one beep to a group.

Install

Easiest: the install page has every way. Pick one.

All of them run the same SlimeBeep and always load its newest version, so there’s nothing to update by hand.

Use

Click the pink slime (drag it anywhere you like; it stays there). A pink dot on it counts unread beeps.

A new beep pops a 💌 card (click it to reply); on game versions with notifications (R133 and later) these use the game’s own notifications, in SlimeBeep’s colours, with an optional desktop notification when the game is in the background. Your chats are kept in your browser, per account, so they’re still there after you log out (⚙ Settings can turn that off or clear them).

For other add-ons

SlimeBeep has an API at window.SlimeBeep.api (groups, friends with SlimeBeep, opening chats, invites, theme matching, events). It’s all in API.md.

What is stored, and where

SlimeBeep runs its own small server on Cloudflare (a Worker with Durable Objects, free plan; the code is in the relay/ folder). It stores:

That’s all. Beeps to someone online are ordinary game beeps and never touch the server. In your browser, SlimeBeep keeps your chat history (if keep is on), options, friends’ pictures, your keys and your groups’ keys.

End-to-end encryption: group messages and mailbox beeps are encrypted in your browser and only opened by the people they are for, so the server stores data it cannot read. It uses the browser’s own WebCrypto: each SlimeBeep has an encryption key (ECDH P-256) next to its sign-in key, keys are agreed with HKDF-SHA-256 and messages sealed with AES-GCM. A mailbox beep is sealed to the friend’s key. A group has a shared key that members pass to each other sealed and signed; when someone leaves or is removed, a new key is made that they never get. Group names, member names, pictures and songs are not encrypted.

Group chats and mailboxes need the game’s https address (signing in uses the browser’s WebCrypto, which plain http pages don’t have); everything else works on either. They also connect to slimebeep-relay.slimebeep-relay.workers.dev: if you use NoScript, uMatrix or another strict blocker, allow that address (SlimeBeep tells you when it can’t reach it). The server only accepts connections from the Bondage Club sites and enforces every rule itself (roles, sizes, rate limits). Nobody can post as someone else: each SlimeBeep signs in with its own key, and a mailbox beep can only be read by the key it was addressed to.

Updates in the room chat

After an update, a small pink line in the room chat (only you see it) says SlimeBeep was updated, with the news.json item whose id is that version. Versions you skipped are left out, and Settings can turn the note off.

News

news.json holds announcements. Add an item (a new id, a title and a text) and push: every player sees it once, as a notification, on their next reload (only the newest unseen item, and not one whose id is the version they run: the room-chat note covers that). Nobody has to update anything.

Updates

You install once. The installed script is a tiny loader that fetches the newest SlimeBeep from this repository every time the game loads, so any change pushed here reaches everybody on their next reload or relog. The tool itself is slimebeep.js; release with node release.js <x.y.z>, which sets the version shown in its header. The installed loader never changes, so nobody ever has to reinstall.