On your machines
Sharing by link
Show someone a session or a whole machine. They join from a browser or Muxin, straight to your computer, and do only what you allow.
Need a second pair of eyes on what an agent is doing? Share it. Muxin makes a link for a session, or for a whole machine. Whoever opens it joins from a browser or from Muxin, and connects straight to your computer. You let each person in, and you decide what they can do.
Share a session
On a session’s page, click Share. The link is made and copied, ready to paste into a chat. It looks like https://muxin.dev/s#1.….
Out of the box, you let each person in, they can only watch, and the share lasts an hour. Change any of that in the same window, while it runs:
- Ask me before letting someone in. On by default. Turn it off and anyone with the link can watch.
- They can type. Their keys go to the session, as you. Only for people you let in.
- How long. 15 minutes, an hour, 8 hours or a day.
Share a machine
On a machine’s page, Share does the same for the whole machine. Guests see its sessions, including ones started later, and open any of them. In the same window you can also share:
- Its desktop. View shows them the screen. Control lets the people you choose use its mouse and keyboard.
- Its servers. Pick which of the web servers running there they can open. They open in Muxin, at
localhoston their computer. - Starting and ending sessions. Off by default. Turned on, the people you let in who can type can start a terminal or an agent there, and end or restart sessions.
Nothing else is shared: no files, no other ports, no shell of its own.
A terminal runs anything, as you. Let someone start sessions, or type in a shell, only if you’d hand them your keyboard.
Let people in
When someone opens the link, a card shows over whatever page you’re on: their name, whether they’re in a browser or in Muxin, and a 6-digit code. They see the same code. Ask them to read it out, then click Let in, or Deny.
A link that leaked gets someone a code nobody reads to you, so it gets them nowhere.
While you share
The Share button turns into Shared · Sam watching, or how many are there. Click it to:
- Let someone type, use the desktop, or start and end sessions, or stop them.
- Remove someone.
- Copy the link, add an hour, or change the options.
- Stop sharing.
A shared session has an eye next to it in the sidebar. A dot means someone is waiting to be let in.
Join a share
In a browser. Open the link, type your name, and click Join. Nothing to install. You see the sessions, and the desktop when it’s shared. Pick its quality under it: Low, Medium, High or Max.
On a phone or tablet. The same link, in its browser. The page fits the screen: one header row, the session below it. On a tablet a session’s text fits its width; on a phone it’s as wide as it can be read, and you swipe sideways for the rest (or turn the phone). On a shared desktop you’re let use, touch works like a mouse:
- Tap to click, touch and hold to right-click.
- Drag with one finger to drag (select text, move a window).
- Two fingers up or down to scroll.
- Keyboard, under the screen, brings up your keyboard: what you type goes to their screen.
While you’re only watching, touch scrolls and zooms the page as usual.
In Muxin. Click + next to Shared with you in the sidebar and paste the link. Machines › Join a Share… in the menu bar and ⇧⌘P › Join a share… do the same, and a share link pasted into Add a machine is joined too.
A shared machine then sits in your sidebar like one of your own, its sessions, desktop and servers under it. Right-click any of them for what you can do there: open a session, start a terminal or an agent, end one, set the desktop’s quality, open a server here, or leave. What you aren’t allowed to do shows dimmed, with who to ask.
Sessions show at the size the sharer’s terminal is. Your window doesn’t resize theirs.
Peer to peer
-
01
The link
It carries the share’s secret after the #. Browsers never send that part to a server.
-
02
muxin.dev introduces you
Two short messages so the two computers can find each other. It never sees the secret or what’s shared.
-
03
Straight to your computer
An encrypted connection (WebRTC), checked against the certificate in the link, so nobody can sit in the middle.
The two computers connect directly: over your network or Tailscale when they share one, across the internet otherwise.
How it stays secure
- The secret stays in the link. It’s after the
#, the part browsers never send to a server. muxin.dev only passes two messages between the computers, and never sees the secret, the session or the screen. - Encrypted end to end. The connection is encrypted between the two computers (WebRTC, DTLS). When a relay carries it, the relay only forwards bytes it can’t read.
- Nobody can sit in the middle. The link names your computer’s certificate for this share. A guest refuses any other, so not even the server introducing them can stand in.
- Proof of the link. A guest proves it has the secret, bound to this exact connection. A wrong or copied proof gets nowhere, and a share that sees many wrong ones stops answering.
- You let each person in. You both see the same 6-digit code, made from the secret and their connection. Ask them to read it out before you click Let in.
- Your computer decides what gets through. Guests never reach the machine itself. Muxin on your computer passes only what you allow: keys while you let them type, the mouse while you let them use the desktop, the servers you picked. The machine’s agent also gives watchers a view that can’t type or resize.
- It doesn’t last. A share ends when its time runs out, when you stop it, or when you quit Muxin, and its link never works again. Every link is new: sharing again makes a new one.
- Nothing to sign up for, nothing kept. No accounts or cookies. muxin.dev keeps the two messages only for the minutes it takes to connect.
Anyone you let type, use the desktop or start sessions acts as you on that machine. Give those only to people you trust with your keyboard.
When it ends
A share ends when its time runs out, when you click Stop sharing, or when you quit Muxin. Everyone is let go and the link stops working for good.
Your computer hosts the share, so Muxin needs to be open and your computer awake while it lasts.
Your own server
To introduce the two sides through a server of your own instead of muxin.dev, run share-server/ from Muxin’s repository and add it to config.toml:
[settings.share]
server = "https://share.example.com"