Back to Blog

gotify-commander 0.3: Gotify 3 and a locked panel

Builds for Gotify 3.1.1 and 2.9.1, a control panel with a password from the first start, commands that stop on time and SSH that checks host keys.

Built for Gotify 3

The 0.2.0 file loaded only in Gotify 2.6. A Gotify plugin has to be built against the exact module versions of the server that loads it, so 0.3.0 ships one file per Gotify version and architecture: Gotify 3.1.1 (which also covers 3.0.x) and 2.9.1, on amd64, arm64 and armv7. The README has a table to pick the right file.

On Gotify 3 the phone app posts commands with your client token and the app ID, so the plugin no longer needs an application token. The Android app must be 2.10.1 or newer to talk to Gotify 3.

A panel that is locked from the start

The web control panel can run any of the plugin's commands, so it should never be open by accident. When web_password is empty, the plugin now creates a random password the first time it is enabled and shows it only on the plugin page inside Gotify. It never appears in a log or a message.

The panel accepts that password only as a Bearer header; the old ?token= parameter is gone. Only Gotify administrators get a working plugin instance; other users see a notice.

Commands that stop on time

When a command passes its time limit, the plugin stops it and every process it started, so a pipeline stops as a whole. Output is capped at 64 KiB.

certs, analytics and locate no longer go through bash -c, and commands sent to other machines are quoted word by word. SSH host keys are now checked against known_hosts. Before upgrading, add the key of each SSH target to the known_hosts file of the user that runs Gotify:

ssh-keyscan -p 22 your-host >> ~/.ssh/known_hosts

Until then, commands to that machine fail with a host key error.

0.4.0 the same evening

A second release followed a few hours later, with four new commands and commands that wait for the plugin to come back. It has its own post.

Download

The latest files and their checksums are on the gotify-commander page, which always points at the current release. The v0.3.0 release page has the upgrade notes for this post, and the changelog lists every change.

Back to Blog