1.5 KiB
1.5 KiB
remchild
A remote child: a separate module that runs on another machine. Veskslop feeds it work, and it returns results. Planned for STT, TTS, and later video and the desktop control app. See plan.md for the protocol, the heartbeat schedule, the naming rule, and the phases.
Layout
| Path | What |
|---|---|
client/main.c |
The PoC client: C11, libc only, no runtime dependencies. |
client/words.h |
Generated from words.json; the client embeds the lists. |
words.json |
The two 128-word lists. The server and the generator read this file. |
server/server.mjs |
The PoC listener: allowlist, heartbeat states, ping test, history. |
plan.md |
The design and the phase list. |
Build and run
cc -O2 -o remchild/client/remchild remchild/client/main.c
# On the machine that runs Veskslop:
node remchild/server/server.mjs --port 8799 --ips 192.168.1.5
# On the remote machine:
./remchild/client/remchild --server 192.168.1.5:8799
The client asks for the address when --server is absent. It prints the assigned name, then
accepts p (ping test) and q (quit).
Non-LAN addresses in the allowlist need the launch argument:
node remchild/server/server.mjs --port 8799 --ips 203.0.113.7 --allow-non-lan
Test
node remchild/server/server.mjs --port 8799 --ips 127.0.0.1 &
./remchild/client/remchild --server 127.0.0.1:8799 --once
--once sends one hello and one ping, prints the welcome and the round trip, and exits. History
lands in server/clients.jsonl (gitignored).