Clean architecture
A strict domain / data / presentation split with the repository pattern, so protocol work never leaks into the interface.
SysOp started as a simple question: why should controlling your own computer from your own phone require an account, a cloud relay and a subscription? It shouldn't — so this app doesn't have any of them.
SysOp is a native Android client for VNC, the remote framebuffer protocol standardised as RFB 3.8 (RFC 6143). Point it at a VNC server on your own network and you get the machine's screen on your phone or tablet, with mouse, keyboard, clipboard and — on TightVNC servers — file transfer.
It is a direct, peer-to-peer tool. There is no intermediary service between your device and your computer, no account to create, and no data sent anywhere except to the server whose address you typed.
The entire RFB protocol — the handshake, the DES-based VNC authentication cipher and every image encoding — is implemented by hand in Dart. No third-party VNC library is involved, which keeps the app small, dependency-free at the protocol layer and fully auditable by its author.
Networking and image decoding run on a background isolate, separate from the interface thread. Decompressing a full-screen JPEG or ZRLE update therefore never stalls scrolling or input, and decoded regions are handed to the interface with a zero-copy transfer.
The TightVNC file-transfer extension has no published specification; its wire format was reconstructed from the TightVNC 2.x server sources, including two undocumented quirks — servers compress large directory listings even when compression level zero is requested, and every string field carries a trailing NUL byte inside its declared length.
A strict domain / data / presentation split with the repository pattern, so protocol work never leaks into the interface.
Socket I/O and frame decoding live off the interface thread, keeping the app responsive under heavy screen updates.
Unit tests cover the encodings, the DES known-answer vector and the file-transfer wire format, plus integration tests over a loopback socket.
dev.svsarts.sysopandroid.permission.INTERNET)Planned directions, shaped by what users ask for:
Every message is read by the person who wrote the app.
SysOp is free, with no advertising, no in-app purchases and no subscription — and it stays that way. If it saves you time, a one-off contribution on Ko-fi helps keep the work going. Nothing in the app is gated behind it.