LinkOPSLinkOPS

// the hardware

Ready to ship

LinkOPS Box

A network console that lives in the rack, not on your laptop.

A standalone appliance: a Raspberry Pi in a fanless enclosure that boots straight into its own dedicated app. There is nothing to install, nothing to activate and no licence to buy — plug in power and one network cable and the box is on your network doing its job, for as long as you own it.

Boots into its own appRaspberry Pi insideNo licence · yours for lifeOne-time price
terminal interface·sealed credentials·live metrics·no runtime
LinkOPS Box — the complete unit1 GB RAM · 8 GB

// specifications

What is in the enclosure

Every unit is assembled, imaged and soak-tested before it is boxed, so the first boot goes straight into the app instead of a setup wizard.

BoardRaspberry Pi 3 Model Bthe whole computer on a single board
Processor4 × ARM Cortex-A53 · 1.2 GHz64-bit quad-core, silent and cool under load
Memory1 GB RAMshared with the GPU — the app is built to run comfortably inside it
Storage8 GBthe system, the app and years of history — no disk to fail
Networking1 × 10/100 Ethernet · Wi-Fi 802.11n · Bluetooth 4.1the uplink to your network
USB4 × USB 2.0console cables, cellular modems, adapters
VideoHDMI output up to 1080pa display is optional — the box is managed over the network
PowerMicro-USB supply includeda decent phone charger works in a pinch
AppDedicated · starts by itselfinstalled and set up before shipping — working the moment you plug it in
OwnershipYours for lifeno licence key, no subscription, no expiry

In the box

  • The unit itself, assembled and soak-tested before shipping
  • Power supply and the wall-mount hardware
  • Its own app installed and ready to run on first boot
  • A quick-start card with the address, the login and the first steps

A question about the unit itself? Questions about the box

// ordering

One box, one price

The box is a product of its own: not a plan, not a subscription and not a licence. You order the unit once, it arrives working, and it keeps working for as long as you own it. The 3, 6 and 12-month plans on the pricing page are for running LinkOPS on machines you already own.

complete unit · 1 GB RAM
$149$19920% off

One-time purchase · no licence · no subscription · yours for life

  • The complete unit, assembled around a Raspberry Pi
  • Its own dedicated app, installed and ready to run
  • No licence, no subscription, no expiry — yours for life
  • Software updates and email support
  • Power supply and the wall-mount hardware
Order the box

Message us on Telegram or Instagram and we will confirm stock, shipping and payment, then send the tracking number.

What the box does by itself

Its own app

A dedicated app that starts itself at boot — nothing to install and no keyboard to plug in

Always on

Fanless and silent, with no disk: nothing in the rack to wear out or start humming

On your network

Ethernet or Wi-Fi with a fixed address, managed from another machine on the same LAN

A product of its own

Independent of the LinkOPS desktop client: no licence key, no subscription and no dependency on it

One price covers the hardware and its app. Shipping and any local duties are quoted when you order; the boxes are assembled to order and typically leave within a few working days.

Licence plans for machines you already own

// questions

Questions about the box

The ones that come up before a unit goes into a production rack.

What exactly arrives?

The assembled unit, its power supply, the wall-mount hardware and a quick-start card. The app is already installed, so the first boot goes straight to a working console — you never sit in front of it with a keyboard.

Do I need a licence for the box?

No. The box is a standalone product running its own dedicated app: there is no key to buy, nothing to activate and nothing that expires. Buy the unit once and it is yours to keep using.

Is this the same app as LinkOPS Desktop?

No — it is a separate product with its own app, built for this hardware. It starts by itself when the box boots, needs no LinkOPS Desktop licence, and does not depend on the desktop client at all.

Is 1 GB of RAM enough?

Yes, by design. The app is built to run comfortably in a few dozen megabytes, so the rest of the memory stays free for the system and years of history.

Do I need a monitor and a keyboard for it?

No. The unit is headless: it comes up on your network and you reach it from another machine. The HDMI port is there if you ever want to look at it directly, but nothing requires it.

How do updates work?

The app updates itself from the release feed and keeps running while it does. If you never update it, the box simply keeps doing what it already does — nothing stops working and nothing nags you to pay.

Can I run Box Lite without buying the box?

Yes. Box Lite is the companion build for your own machines — download it from this page and run it on a Raspberry Pi, a server or a VPS instead.

// box lite

Box Lite — the terminal toolbox in one file

Box Lite is a separate download for machines you already own: a Raspberry Pi, a home server or a VPS with no display. Copy one static binary across and run it — no runtime, no packages, no browser, about 7 MB of RAM while it runs. It is unrelated to the app that ships on the box itself.

What it does on the machine

  • Live monitoring: CPU, temperature, memory, disks, network throughput and the processes actually using the host
  • A protocol engine for SSH, Telnet, Rlogin and Raw TCP sessions, with prompt detection and paging handled for you
  • systemd control, the journal, package upgrades and every log on the machine
  • Wi-Fi: scan the neighbourhood, join, leave, renew a lease or pin a static address
  • Power menu: shut down, reboot, schedule either five minutes out with a wall message, or cancel a pending shutdown
  • 18 themes, an ASCII glyph set for serial consoles, and a full-screen shell for vim, htop and apt menus

Box Lite is free to use with a LinkOPS licence and shares the same device inventory and history as the desktop app — it is a companion for your own hardware, not the software that runs on the box.

download · v1.0.0

linux · darwin · windows
  • Raspberry Pi OS 64-bitlinux / arm64Raspberry Pi 3, 4, 5 and Zero 2 W running the 64-bit image2.7 MB
  • Raspberry Pi OS 32-bitlinux / armv7Raspberry Pi 2, 3 and 4 running the 32-bit image2.9 MB
  • Linux servers & VPSlinux / amd64Debian, Ubuntu, Alpine or any x86-64 Linux host2.9 MB
  • macOS (Apple silicon)darwin / arm64For a Mac on the desk or over SSH from a terminal2.7 MB
  • Windows · x64windows / amd64Run it in Windows Terminal or over SSH3.1 MB

Every build is a stripped static binary: unpack the archive, copy the file anywhere on the target and run it.

Install in one line

bash
tar -xzf linkops-lite_1.0.0_linux_arm64.tar.gz
./linkops-lite doctor
./linkops-lite

doctor checks the terminal, the config directory, the local shell, sudo and the network backend before you trust the host to it — then the app writes its own config directory and starts.

Read the guide
6.6 MBone static binaryarm64, stripped
~20 mscold starton a Raspberry Pi 3
~7 MBmemory while runningthe whole interface
<1 %idle CPUone core

What the host needs

  • Any Linux host with SSH: Raspberry Pi OS, Debian, Ubuntu, Alpine, DietPi
  • A terminal: ssh from anywhere, a serial console, or a keyboard on the board
  • Nothing to install: copy one binary, chmod +x, run
  • Optional — a sudo password or NOPASSWD sudo, for power, service and Wi-Fi changes
  • Optional — NetworkManager (nmcli) or wpa_supplicant + iw, for the Network screen

Real frames, straight from the app

Not mockups: these are frames rendered by the binary itself, with the sample inventory, at the size a terminal window really is. Pick a screen — the keys that switch them are the ones the app uses.

Dashboard Inventory, templates, the last commands and the machine’s own temperature on one screen — plus a quick-connect list you open with ↵.

keysctrl+p palettectrl+g themectrl+x full-screen shellctrl+f searchctrl+s save log? helpq quit

// themes

A theme for the screen you actually have

Monochrome for a serial console, paper and ice for daylight, contrast for a bright room or tired eyes, OLED black for a dark one, and a dozen coloured palettes in between. The gallery previews each one against the interface, and the choice is remembered with the rest of the settings.

dark
darkmonochrome, terminal background
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
light background
lightmonochrome, for a light terminal
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
terminal default
monothe terminal's own 16 colours
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
midnighttrue black, easy on OLED panels
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
contrastmaximum contrast for a bright room
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
amberwarm sepia, amber accents
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
oceandeep blue, cyan accents
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
forestdark green, mint accents
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
violetdark purple, lavender accents
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
nordcool slate blue, calm contrast
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
gruvboxretro warm, high legibility
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
tokyonight blue with soft neon
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
draculadark violet with bright accents
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
rosedusty pink, gentle on the eyes
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
dark
sunsetwarm orange, dim-room friendly
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
light background
solarlight sand, solarized warmth
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
light background
icelight cool blue for daylight
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed
light background
paperlight warm neutral, like paper
✓ linkops-lite 1.0.0
wlan0 192.168.1.6/24 · 51.4°C
! disk 78% ✗ unit failed

Generated from the application: every swatch below is a value the renderer uses, read out of the binary itself.

What is inside

The same engine as the desktop app — the protocol layer, the device store and the command runner are shared — behind an interface that fits an 80×24 terminal and a 1 GHz processor.

Sessions

  • SSH, Telnet, Rlogin, Raw TCP
  • Prompt detection (IOS, VRP, bash)
  • Pager and confirmation auto-answer
  • Interactive logins: Username / Password
  • Per-device timeouts and saved logs

Inventory & runs

  • Devices with categories
  • Credentials sealed with AES-256-GCM
  • Command templates
  • Batch runs across hosts
  • Audit history of every command

Monitoring

  • CPU, load, frequency, governor
  • Temperature, throttling and voltage
  • Memory, swap and disks
  • Per-interface rates and Wi-Fi signal
  • Processes ranked by interval CPU

Operations

  • Shutdown / reboot, now or in N minutes
  • Cancel a scheduled power-off
  • Service start, stop, restart, enable, mask
  • Wi-Fi scan, join, leave, renew, static IP
  • Metrics log for cron and graphs

On the Pi itself

  • Local shell with banner and handover
  • ASCII glyph set for serial consoles
  • 18 themes, from mono to truecolor
  • 12 screens, 80 columns and up
  • Auto-detected terminal, locale and colour

How you get it

Three commands on a workstation; nothing to install on the Pi.

bash
# build every target on your workstation (needs Docker, not Go)
box/lite/scripts/build.sh
# copy the right binary to the Pi and run it
scp box/lite/dist/linkops-lite-linux-arm64 pi@raspberrypi:~/
ssh pi@raspberrypi './linkops-lite doctor'

Builds for Windows, macOS, Linux (x86-64) and both ARM flavours come from that one command; scripts/deploy.sh copies the binary to a Pi, verifies the SHA-256 and smoke-tests it in one go.

// deployment

Getting it onto a box

Four steps, none of which needs a package manager on the target. The first run tells you whether the machine can do what the interface promises.

1

Copy one file

The build script cross-compiles every target on your workstation, so Go is never needed on the Pi. The deploy helper streams the binary over SSH and verifies its SHA-256 on arrival.

bash
scp dist/linkops-lite-linux-arm64 pi@raspberrypi:~/linkops-lite
# or, with a checksum and a smoke test:
box/lite/scripts/deploy.sh 192.168.1.6 master
2

Check the machine

doctor reads the terminal capabilities, the config directory, the local shell, sudo, the network backend and the tools the features depend on — and prints what to fix.

bash
./linkops-lite doctor
3

Add your devices

The inventory is the same file the desktop app writes, with secrets sealed under a key that never leaves the machine — so a Pi can be set up from a script without a password ever reaching the disk in clear text.

bash
./linkops-lite devices add --name core-1 --host 10.0.0.1 \
  --type network --user netops --password-env SW_PW
./linkops-lite exec --device core-1 --cmd "show version"
4

Put it on a timer

Every screen has a headless twin. The status command exits 0, 1 or 2 by health, which is what makes it usable directly as a monitoring check.

bash
# cron: a health check every five minutes, metrics every hour
*/5 * * * *  /home/pi/linkops-lite status >/dev/null || echo alert
0   * * * *  /home/pi/linkops-lite status --log >/dev/null
*/15 * * * * /home/pi/linkops-lite template daily-health --device pi-lab

As a systemd service

For continuous metrics, run the same binary as a service. It appends JSONL that a dashboard or an alert rule can read.

The same binary is the interface and the CLI, so a cron job and a keyboard session cannot disagree about what the machine is doing.

bash
[Unit]
Description=LinkOPS Lite metrics collector
After=network-online.target

[Service]
User=pi
ExecStart=/home/pi/linkops-lite status --watch 30 --log
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Secrets and safety

A terminal client holds credentials for the whole estate, so where they live matters more than the interface does.

  • Device passwords and the sudo password are sealed with AES-256-GCM under a machine-local key.
  • The config directory is created 0700, and doctor warns the moment it is world-readable.
  • Every value that reaches a command is validated and quoted: a Wi-Fi name with an apostrophe works, a shell metacharacter never runs.
  • Wi-Fi passphrases are read from the environment (or typed in a masked field) and never appear in a command line or the history.
  • Power actions, service changes and Wi-Fi changes prefer sudo with a stored password; NOPASSWD rules for the exact commands are the recommended setup.
  • The audit history records what ran, on which host, when, for how long and what it printed.

New in this release

  • Network screen: scan, join and leave Wi-Fi networks, renew a lease and set a static address — from the terminal that is already open.
  • 18 themes with a live gallery: every palette previews against the real interface as you move through the list.
  • doctor: one command that checks the terminal, config directory, local shell, sudo and network backend before you rely on any of it.
  • The local shell now opens on every board — the pseudo-terminal handshake was wrong, and the fix has a test behind it.
  • Network control from a script: net status · scan · connect · disconnect · radio · renew · ip, all with --json.
What changed in 3.0.1

// box lite questions

Questions that come up

The ones an operator asks before putting a binary on a production box.

Does Box Lite need a licence of its own?

No. It is part of LinkOPS Desktop: one licence covers the desktop app, the terminal app and the Android client, and all three read the same inventory, credentials and history.

Does the Pi need Go, Node or Docker?

None of them. It is a single static binary with no runtime. Go and Docker are used only on your workstation, to build it.

What can it do that the desktop app cannot?

Run without a display. It is built for a Raspberry Pi over SSH, a serial console or a VPS with no desktop — the same protocol engine and the same device store, drawing into a terminal instead of a window.

How do I shut the box down when nobody is at the keyboard?

The System screen has the power menu: s shuts down, b reboots, S and B schedule them five minutes out with a wall message, and c cancels a pending shutdown. The same actions are available as `linkops-lite power shutdown|reboot|cancel`.

Does the Network screen work without NetworkManager?

You always get interfaces, addresses, gateway and DNS. Joining a Wi-Fi network needs nmcli, or wpa_supplicant with iw for the scan — and doctor tells you which of them the host has.

Can I use it from a script or a cron job?

Every screen has a headless twin: status (exit code 0/1/2 by health), exec, template, services, net, history and frame — all with --json output where a dashboard wants it.

What terminal does it need?

Anything 80×24 and up. Icons and colour are detected from the terminal and the locale, and there is a pure-ASCII glyph set for a Linux console, a serial line or a dumb emulator.

Is it safe to leave running?

It holds no open connection while idle, writes only to its own config directory, and seals everything it stores. The metrics collector mode is a single process with a bounded RSS and about a megabyte of disk per day.

Put a box in the rack and forget about it.

One device, its own app, one price — working the moment you plug it in, and yours for life.

Measured on a Raspberry Pi 3 Model B Rev 1.2 (905 MB RAM, Raspberry Pi OS 64-bit) — the slowest board LinkOPS Lite supports.