azaek/cntrl

A lightweight agent that turns your PC into a scriptable IoT device. Monitor stats, control media, and trigger automation from any device on your local network.

Rust

18

185 commits

updated Oct 16, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built a way to watch and fix my servers from my phone without opening a port (r/SideProject)

One winter night I left my PC running because I was too lazy to walk over and put it to sleep. I wanted a way to do that without getting up, so I made a desktop app for it. It worked, but it wasn't plug and play. You had to set it up and build your own dashboard on top. So I built Cntrl Console.…

1

Oct 14, 2026

README

Cntrl Console: manage your servers and devices from anywhere. No VPN, no open ports. Explore Console.

Cover

License Release Bridge Ai-assisted

Cntrl Console and the agent

Cntrl Console shows your servers and devices live from anywhere, and lets you act on them. Each machine runs the open-source agent in crates/cntrl-agent, written in Rust. It opens one TLS connection out to Console, so nothing on the machine listens and there's no port to forward.

  • Try it: the live demo, with made-up machines and no account, or console.cntrl.pw, free for 3 machines with no card.
  • Add a machine: one command from Console, on Linux, macOS or Windows (beta). See Add a device.
  • What Console can ask a machine to do: every operation is in crates/cntrl-protocol/src/ops.rs, each behind a permission the machine's own policy grants. See Permissions.
  • Signed commands: a machine can require every change to be signed in a browser you trust, and checks the signature itself. See Signed commands and Security.

Cntrl Bridge

The programmable API for your desktop. Script your workspace with standard HTTP/WebSockets.

Apps

AppDescription
bridgeTauri desktop agent for Windows/macOS - runs a local API server

Packages

PackageDescription
@cntrl-pw/sdkTypeScript SDK for interacting with Cntrl Bridge
@cntrl-pw/uiShared UI components

Development

Prerequisites

Setup

# Install dependencies
pnpm install

# Run all apps in dev mode
pnpm dev

# Run specific apps
pnpm dev:bridge   # Tauri desktop app
pnpm dev:hub      # Dashboard
pnpm dev:docs     # Documentation
pnpm dev:web      # Website

Building

# Build all apps
pnpm build

# Build Bridge desktop app
pnpm build:bridge

Bridge App

The Bridge app is a Tauri 2 desktop application that:

  • Runs a local HTTP/WebSocket agent for programmable control
  • Provides system stats, media control, and power management APIs
  • Supports auto-updates with stable and beta channels

Auto-Update Channels

Updates are delivered through GitHub Releases:

ChannelVersion PatternExample
Stablev1.0.0Regular releases
Betav1.0.0-beta.1Pre-release testing

The app automatically selects the update channel based on its version:

  • Stable versions check latest-stable.json
  • Beta versions check latest-beta.json

Releasing

# Release stable version
git tag v1.0.0
git push origin v1.0.0

# Release beta version
git tag v1.0.0-beta.1
git push origin v1.0.0-beta.1

GitHub Actions will automatically build and publish to the appropriate channel.

Tech Stack

License

MIT

ai-assisted
homelab
macos
tray-app
websocket
windows

azaek/cntrl

A lightweight agent that turns your PC into a scriptable IoT device. Monitor stats, control media, and trigger automation from any device on your local network.

Rust

18

185 commits

updated Oct 16, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built a way to watch and fix my servers from my phone without opening a port (r/SideProject)

One winter night I left my PC running because I was too lazy to walk over and put it to sleep. I wanted a way to do that without getting up, so I made a desktop app for it. It worked, but it wasn't plug and play. You had to set it up and build your own dashboard on top. So I built Cntrl Console.…

1

Oct 14, 2026

README

Cntrl Console: manage your servers and devices from anywhere. No VPN, no open ports. Explore Console.

Cover

License Release Bridge Ai-assisted

Cntrl Console and the agent

Cntrl Console shows your servers and devices live from anywhere, and lets you act on them. Each machine runs the open-source agent in crates/cntrl-agent, written in Rust. It opens one TLS connection out to Console, so nothing on the machine listens and there's no port to forward.

  • Try it: the live demo, with made-up machines and no account, or console.cntrl.pw, free for 3 machines with no card.
  • Add a machine: one command from Console, on Linux, macOS or Windows (beta). See Add a device.
  • What Console can ask a machine to do: every operation is in crates/cntrl-protocol/src/ops.rs, each behind a permission the machine's own policy grants. See Permissions.
  • Signed commands: a machine can require every change to be signed in a browser you trust, and checks the signature itself. See Signed commands and Security.

Cntrl Bridge

The programmable API for your desktop. Script your workspace with standard HTTP/WebSockets.

Apps

AppDescription
bridgeTauri desktop agent for Windows/macOS - runs a local API server

Packages

PackageDescription
@cntrl-pw/sdkTypeScript SDK for interacting with Cntrl Bridge
@cntrl-pw/uiShared UI components

Development

Prerequisites

Setup

# Install dependencies
pnpm install

# Run all apps in dev mode
pnpm dev

# Run specific apps
pnpm dev:bridge   # Tauri desktop app
pnpm dev:hub      # Dashboard
pnpm dev:docs     # Documentation
pnpm dev:web      # Website

Building

# Build all apps
pnpm build

# Build Bridge desktop app
pnpm build:bridge

Bridge App

The Bridge app is a Tauri 2 desktop application that:

  • Runs a local HTTP/WebSocket agent for programmable control
  • Provides system stats, media control, and power management APIs
  • Supports auto-updates with stable and beta channels

Auto-Update Channels

Updates are delivered through GitHub Releases:

ChannelVersion PatternExample
Stablev1.0.0Regular releases
Betav1.0.0-beta.1Pre-release testing

The app automatically selects the update channel based on its version:

  • Stable versions check latest-stable.json
  • Beta versions check latest-beta.json

Releasing

# Release stable version
git tag v1.0.0
git push origin v1.0.0

# Release beta version
git tag v1.0.0-beta.1
git push origin v1.0.0-beta.1

GitHub Actions will automatically build and publish to the appropriate channel.

Tech Stack

License

MIT

ai-assisted
homelab
macos
tray-app
websocket
windows