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.debcurl -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.debcurl -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.debcurl -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.debcurl -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.debLinux — 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:
- x64 (Intel / AMD):
openme-windows-amd64.exe - ARM64:
openme-windows-arm64.exe
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@latestAdd 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" # optionalThe 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 --knockIf post_knock is set, it runs automatically after a successful knock:
openme knock # opens SSH, then connects automaticallyNamed 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_knockFurther Reading
| Topic | Link |
|---|---|
| All CLI flags | CLI reference |
| Native apps (iOS, Android, macOS, Windows) | Clients |
| Firewall hardening | Server → Firewall |
| Server configuration | Server → Configuration |