Remote hosts
Source Zero runs beside the files. To browse another machine, start it there with
--remote, then run the command it prints on your computer. The
desktop app opens that machine in a window of its own.
Install Source Zero on the host
Install the CLI alone on the remote machine; it needs no desktop app (Getting started):
curl -fsSL https://raw.githubusercontent.com/flexdinesh/srcz/main/scripts/install.sh | sh -s -- --cli-onlyThe script needs no sudo and puts srcz in ~/.local/bin (or ~/bin).
Release archives (srcz_<version>_linux_<amd64|arm64>.tar.gz) work too;
put srcz in ~/.local/bin.
Serve from the host
srcz ~/code/foo --remote srcz 1.4.0
serving directory: /home/dee/code/foo
on your computer, run:
srcz connect 10.0.0.5:7971/<credential>
stops 10 min after this if nothing connects, and 5 min after the last UI closes. `srcz remote stop` stops it now.It returns to your shell and keeps serving in the background, so you can close
the SSH session. It binds every interface unless --host names one, on the
first free port from 7971 to 7980 unless --port sets it. It serves every
directory Source Zero already serves on that machine, and prints them all.
Without --remote, srcz on a machine with no UI (an SSH session, or Linux
without a display) prints a reminder and exits. It never opens a port by itself.
Connect from your computer
srcz connect 10.0.0.5:7971/<credential>The desktop app opens that machine in its own window, with its own tabs and
settings. Connect to several machines and each gets a window. Source Zero saves the
connection, so srcz://<id>/ links reopen it. --no-open saves it and prints
the link instead.
The printed addresses are a guess at what your computer can reach. If they are
wrong, edit the string, or pass --host:
ssh -L 7971:localhost:7971 <host>
srcz connect --host localhost 10.0.0.5:7971/<credential>Security
The string is a password: anyone who has it and can reach the port can read the served files. Traffic uses TLS with a certificate pinned by the string, so a machine pretending to be the server is refused, and every request carries the string's token. The string has no expiry. It keeps working across restarts until you replace it:
srcz remote rotate # old strings stop workingPages from a remote server cannot reach your computer: they get no folder dialog and no Reveal in File Manager, and cannot read another window's data.
When it stops
The server stops 10 minutes after starting if no window or browser connects, and 5 minutes after the last one closes. A hidden or minimized window still counts.
srcz remote status # state, clients, and the string again
srcz remote stop # stop nowBrowser
srcz ~/code/foo --remote --webalso prints a web: link. Open it in any browser; it signs in with a cookie and
removes the token from the address bar. Browsers warn about the self-signed
certificate, because they cannot pin it. That link is a password too.
Notifications
A connection's window notifies you as a local one does (Desktop app), with its own settings. Each notification starts with the connection's label, so you can tell it from one about this computer. If the host goes away, they resume when it returns.
Walkthroughs
Agents on the host publish with srcz walkthrough publish
(Walkthroughs). While the host serves with --remote, it
prints a srcz:// link that opens on the connected computer.