Share this cabinet
In Companion, open Settings and choose Share this cabinet. It shows a six-digit code and this computer's network address.
Your laptop's agents can use the cabinet on your desktop. Sharing is off until you turn it on, each computer pairs once with a six-digit code, and nothing on the network can change how Core itself is set up.
Normally Core only answers on 127.0.0.1:7437: this computer and nothing else.
Turning sharing on opens a second listener on port 7438 that other computers on your local
network can reach. Every request on it must carry a credential from pairing; the normal
:7437 listener doesn't change.
The shared listener speaks plain HTTP, not HTTPS. Use it on a network you trust. A paired computer can read and write the cabinet's memory, so only pair your own machines.
POST /pair and gets back a long random token, which it sends on every
request after that as x-grounded-client-token.sharing.json in its home folder, never the token itself.Some actions change how Core is set up rather than what it remembers. The shared listener refuses
them with 403 LOCAL_ONLY, even for a paired computer:
Stop network sharing in Companion closes port 7438 at once, and it stays closed across restarts. Paired computers are remembered: if you share again, they reconnect without a new code.
Core has no button yet to forget a single computer. To forget all of them, stop sharing, stop Core,
delete sharing.json from the Grounded home folder
(~/.grounded), and start Core again.
These routes answer only on the computer running Core (127.0.0.1:7437).
| Method | Path | Purpose |
|---|---|---|
| GET | /sharing | Status: whether the listener is up, whether a code is open (and the code), how many computers are paired, and this computer's LAN addresses. |
| POST | /sharing | Turn sharing on and open a pairing window. Optional {"minutes": 1..60}, default 3. Calling it again opens a fresh code. |
| DEL | /sharing | Turn sharing off and close the listener. |
On port 7438, POST /pair with the header
x-grounded-share-code returns {"token"}. A closed
window answers 410, a wrong code 401, a lockout
429. GET /health on the host includes a
sharing block without the code.