3. Client Setup

Keywords

openme client setup, openme knock, openme CLI install, openme config

This step covers the CLI client, which works on Linux, macOS and Windows.

TipPrefer a native app?
Platform App Download
macOS openme menu-bar app Download →
Windows openme system-tray app Download →
iOS / iPadOS openme for iOS App Store →
Android openme for Android Google Play →

Install the CLI

Linux — Debian / Ubuntu package

curl -LO https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme_0.7.0_amd64.deb
sudo dpkg -i openme_0.7.0_amd64.deb
curl -LO https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme_0.7.0_arm64.deb
sudo dpkg -i openme_0.7.0_arm64.deb
curl -LO https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme_0.7.0_armhf.deb
sudo dpkg -i openme_0.7.0_armhf.deb
curl -LO https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme_0.7.0_i386.deb
sudo dpkg -i openme_0.7.0_i386.deb
curl -LO https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme_0.7.0_riscv64.deb
sudo dpkg -i openme_0.7.0_riscv64.deb

Linux — pre-built binary

curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-linux-amd64
chmod +x openme
sudo mv openme /usr/local/bin/
curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-linux-arm64
chmod +x openme
sudo mv openme /usr/local/bin/
curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-linux-arm
chmod +x openme
sudo mv openme /usr/local/bin/
curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-linux-386
chmod +x openme
sudo mv openme /usr/local/bin/
curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-linux-riscv64
chmod +x openme
sudo mv openme /usr/local/bin/

macOS

curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-darwin-arm64
chmod +x openme && sudo mv openme /usr/local/bin/
curl -Lo openme https://github.com/merlos/openme/releases/download/cli-v0.7.0/openme-darwin-amd64
chmod +x openme && sudo mv openme /usr/local/bin/
Tip

Prefer a native menu-bar app? Download openme for macOS →

Windows

Download the binary for your architecture:

Then add it to your PATH (run in PowerShell as Administrator):

$dest = "$env:ProgramFiles\openme"
New-Item -ItemType Directory -Force -Path $dest | Out-Null
Move-Item .\openme-windows-amd64.exe "$dest\openme.exe"   # adjust filename for ARM64
[Environment]::SetEnvironmentVariable(
    "Path", $env:Path + ";$dest", [EnvironmentVariableTarget]::Machine)
Write-Host "Restart your terminal, then run: openme --version"
Tip

Prefer a native system-tray app? Download openme for Windows →

From source

go install github.com/merlos/openme/cli/cmd/openme@latest

Add Your Profile Config

openme add on the server prints a ready-to-use YAML block. Copy it to ~/.openme/config.yaml on your client machine:

profiles:
  default:
    server_host: "myserver.example.com"
    server_udp_port: 54154
    server_pubkey: "base64..."   # server's Curve25519 public key
    private_key:   "base64..."   # your Ed25519 private key
    public_key:    "base64..."   # your Ed25519 public key
    post_knock:    "ssh user@myserver.example.com"  # optional

The profile named default is used when no profile name is given. See Client Configuration reference for all fields.


Knock

# Verify the server is reachable (requires a prior valid knock)
openme status

# Send a knock using the default profile
openme knock

# Knock then immediately check health — full end-to-end test
openme status --knock

If post_knock is set, it runs automatically after a successful knock:

openme knock   # opens SSH, then connects automatically

Named profiles and advanced usage:

openme knock home               # named profile
openme knock --ip 10.0.0.5      # open firewall for a specific IP
openme knock home && ssh user@home.example.com  # inline without post_knock

Further Reading

Topic Link
All CLI flags CLI reference
Native apps (iOS, Android, macOS, Windows) Clients
Firewall hardening Server → Firewall
Server configuration Server → Configuration