Persistent remote access for devices on the local network
This is Paperboard's backend, written in Go. Its purpose is to execute terminal commands and transfer files remotely, similar to SSH. However, Crane is designed to separate multiple processes into their own respective directories, while also being relatively lightweight on its own.
A benefit of using Crane over normal SSH is uptime. When a client disconnects, Crane keeps its process running and allows the client to reconnect any time. Additionally, a client can send ad-hoc requests without creating a new instance.
Crane is not a replacement or competitor for SSH. Its purpose is more-so to be integrated with software than to be used via a CLI, unless you want to type JSON manually, which you don't.
Crane uses WebSockets and HTTP for data transfer. A client for Crane would have to be created separately, which is what I'm working on and what this entire project is for (Paperboard).
Fortunately-unfortunately, Crane was "vibe-coded" in a few hours with my specific design with only a very quick code review. Therefore, Crane is nowhere near a state where using it seriously, even on a local network, can be considered "safe". Wait for a 1.0 release.
Crane is young, it lacks many features.
- Most basic functionality complete!
- File transfer over HTTP
- Killing processes via the client
- Local network discovery (mDNS?)
There are no releases for Crane available yet. You have to compile it. It's Go, though, so compiling is super easy.
git clone https://github.com/Paperboard-dev/Crane.git
cd Crane
go buildOnce compiled, you can run the Crane binary normally, or with your own specified port. Running Crane without a port specified will make it default to port 28342.
./crane./crane --port 6767From here, you need a way to send WebSockets, like Insomnia. For some basic AI-generated documentation on how to actually use Crane, take a look at guide.md.
If you have any questions, comments, or problems, you can submit an Issue, contact me on Discord (@pxltail) or send me an email at tails@pxltail.com.