syndicate-pty-driver: Interactive subprocesses over Syndicate
I’ve just released syndicate-pty-driver, a small Rust program that responds to a Syndicate protocol for allocating PTYs and spawning subprocesses attached to them.
This allows programs collaborating using Syndicate to run interactive subprocesses on the machine that’s running the PTY driver.
As an example, I’m playing around with a “VR”-like environment for use in a browser on a cellphone with a Cardboard headset and a bluetooth keyboard, loosely based on an idea by John Dean and Joan Creus-Costa (“BonelessVR: A lightweight, high-productivity desktop environment for Google Cardboard”):
The phone runs Syndicate/js in the browser, speaks the Syndicate
protocol across a websocket, and a syndicate-server
instance at the other end supervises a syndicate-pty-driver
. The whole thing is secured by
Syndicate’s object capabilities and its use of the Noise
protocol
for secure transport.