Help › Devices
The agent and the tray icon
What gets installed on each computer, the bananana.dev icon by the clock, commands for people at the computer, updates, and how to uninstall.
Every node runs bananana-node: one small program, installed as a system service, that starts with the computer and connects out to the relay. It doesn't open any ports.
What's installed where
| Windows | macOS | Linux | |
|---|---|---|---|
| Program | C:\Program Files\bananana-node\bananana-node.exe | /usr/local/bin/bananana-node | /usr/local/bin/bananana-node |
| Service | Windows service bananana-node | launchd dev.bananana.node (plus dev.bananana.node.screen per user for screen control) | systemd bananana-node |
| Identity and settings | C:\ProgramData\bananana-node\config.json | /Library/Application Support/bananana-node/config.json | /etc/bananana-node/config.json |
| Runs as | SYSTEM | root | root |
The settings file holds the computer's private key, which never leaves it, and the features it allows. It's readable by administrators only.
On Unraid and other NAS systems the agent runs as the bananana-node container instead (see the Docker image): the program is in the image, its identity in /data/config.json in the bananana-node volume, and it runs as root with access to the host. Commands at the computer work through Docker, for example docker exec bananana-node bananana-node status.
The tray icon
On Windows (and Macs and Linux desktops) a bananana.dev icon sits by the clock, so whoever uses the computer knows it's looked after and can ask for help. Right-click (or click on a Mac) for the menu:
| Item | Shows or does |
|---|---|
| Status | "Managed by your brain · connected", "· not connected" (it keeps retrying), or "the agent isn't running" (the service is stopped). The icon itself changes with the state too. |
| Being viewed | Whenever someone has this computer's screen or terminal open, the icon changes and the menu says who. People can always tell. |
| My computers… | Opens the dashboard's My computers page. |
| Request help… | A short note that appears on IT's dashboard straight away, with this computer's name. |
| About this computer | The agent version and the computer's id, for support. |
Commands at the computer
Run these in an administrator PowerShell (Windows) or with sudo (Mac, Linux).
| Command | Does |
|---|---|
bananana-node status | Name, relay, features, and whether the brain has accepted it. |
bananana-node enable screenbananana-node disable terminal | Turn a feature on or off (terminal, files, services, screen). The computer decides; the brain sees the change in a few seconds. |
bananana-node update | Download the newest agent, check its checksum, and restart. |
bananana-node uninstall | Remove the service but keep the identity, so bananana-node install-service brings it back as the same device. |
bananana-node uninstall --purge | Remove everything, including the identity. |
bananana-node version | Which version is installed. |
Updates
Agents update themselves. Every hour the brain checks which agent version is published for Windows, macOS and Linux. Every few minutes it updates any online device that's behind:
- The device downloads the new version from bananana.dev, checks it against the published checksums (it refuses anything that doesn't match), swaps it in and restarts. It's back online in about ten seconds, with the same identity, features and records.
- A device is skipped while someone has its terminal or screen open, because the restart would end the session. It updates a few minutes after they close it.
- Offline devices update when they come back. If an update fails, that device waits a day before bananana.dev tries again.
- Every update is in the audit log ("agent updated").
At the top of the Nodes page you see whether automatic updates are on and which devices are behind. Update all now updates every online device that's behind straight away (needs "Deploy apps and agent updates"). Turn off stops automatic updates (needs "Enrollment, approvals and device details"); you can still update devices one at a time with Update agent to … on each device's Overview tab.
Newly added computers always get the newest agent, because the installer downloads it at install time.
What the agent sends, and when
| What | How often |
|---|---|
| CPU, memory, disks, network, temperature, uptime | Every 5 seconds while connected |
| Hardware inventory | When it joins, then daily |
| Security status (antivirus, firewall, encryption, updates, screen lock) | Every 6 hours, and after each security action |
| Installed apps | Every 6 hours, and after each install |
| Processes, services, files | Only when someone opens them |
All of it travels end-to-end encrypted to your brain only: How bananana.dev keeps things safe.