Skip to content

ProxCtrl 1.4.2

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Oct 20:41
8990dc0

What's new

Crash fixes for closing and leaving the app, safer dialogs with the app lock, fixes for creating containers and moving disks, and plain HTTP for a Proxmox server behind a reverse proxy on your home network, after a warning. (These changes were prepared as 1.4.1 and 1.4.2; 1.4.1 was never released on its own.)

Fixed

  • No crash when closing ProxCtrl with the app lock on. With Lock again set to "As soon as you leave", pressing Back on the first screen or swiping ProxCtrl away from recent apps could crash it, because the lock screen (or a dialog) tried to open on a screen that was already closing. The app still locks; it just doesn't try to show anything while it closes, and opens locked next time.
  • The fingerprint prompt can't crash ProxCtrl. If Android refuses to show the fingerprint prompt (for example while you're leaving the app), the lock screen and Settings now show the usual error message instead of crashing, and the PIN keeps working.
  • Dialogs no longer stay on top of the lock screen. A dialog, menu or bottom sheet that was open when ProxCtrl locked (or when a PIN or Confirm changes screen came up) used to stay on top of the lock screen, where it could still be tapped. It now waits behind the lock and comes back, as it was, after you unlock.
  • A console is hidden while ProxCtrl is locked. An open console or node shell is now hidden behind the lock screen and the PIN screens too, and shows again after unlocking.
  • Odd answers from a server or a proxy are an error message, not a crash. A connection that breaks while an answer is being read, or an answer that isn't what Proxmox normally sends (for example from a reverse proxy), now shows the usual error card everywhere, including at sign-in.
  • Background work can't crash the app. A failure in work that runs on its own (refreshing the widgets and the tile, saving a setting, handling a push from ntfy, starting up) is now ignored until the next try instead of closing ProxCtrl, also while it's closing.
  • Links from other apps can't crash ProxCtrl. A link, widget button or shared file from another app whose contents can't be read is now ignored.
  • New container: the root password isn't lost silently. If Android closed ProxCtrl in the background while you were in the container wizard, the password you typed (which is never saved) was gone but the wizard still let you create the container without it. The wizard now goes back to Login to ask for it again, and Create stays off until the login step is complete.
  • "ID already in use" only when it really is. In the create wizards and the clone dialog, a network hiccup (or typing the ID quickly) could flag a free ID as already in use. Now only Proxmox's own answer that the ID is taken does.
  • Moving a TPM disk. Proxmox can't move a VM's TPM state while the VM is running, so its Move button now only shows while the VM is stopped. The format choice no longer shows for TPM state either, because it's always raw.

Changed

  • Internal cleanup: removed 19 unused texts.
  • http:// addresses are accepted. Proxmox itself always uses HTTPS, but if you reach it through a reverse proxy that only speaks plain HTTP on your home network, you can now enter an address like http://pve.lan (port 80 unless you type another one) instead of getting "Proxmox VE only uses HTTPS". Leaving the scheme out still means HTTPS on port 8006, and https:// addresses work as before, including trusting a self-signed certificate by its fingerprint.
  • A warning before the first unencrypted connection. When you tap Connect for an http:// address, ProxCtrl first asks Use an unencrypted connection?: your API token or password, your session and everything you see and change (consoles and ISO uploads too) would travel unencrypted, which is fine on your home network or a VPN but risky anywhere else. Nothing, not even the sign-in options, is sent to the address until you tap Use HTTP. Your answer is remembered for that server, so editing it later doesn't ask again.
  • "Not encrypted (HTTP)" label. A server with an http:// address shows Not encrypted (HTTP) under Settings › Servers and under the server on the You page, and the address field says so while you type one.
  • Consoles, uploads, widgets and notifications work with an HTTP server. Container and VM consoles and the node shell connect without encryption to such a server, and ISO uploads (also when sharing an ISO to ProxCtrl), the widgets, the Quick Settings tile and the background checks for notifications use it as well.

Security

  • Push from ntfy is checked more strictly. Nothing is accepted before ntfy has given ProxCtrl a push address, and the secret token in every push is compared in a way that doesn't leak how much of it was right.
  • One unneeded component removed. WorkManager's diagnostics receiver (only useful for developer dumps over USB) is no longer part of the app.
  • HTTP only where you chose it. ProxCtrl checks every connection, including consoles, uploads and background checks: plain HTTP only goes to a server address you accepted it for, an HTTPS server is never switched to HTTP, and nothing that started over HTTPS can end up on HTTP. Anything else is refused with "Blocked an unencrypted (HTTP) connection" and nothing is sent.
  • Logins never follow a changed address. As before, a saved token secret is only sent to the exact address it was saved for: changing a server from https:// to http:// (or the other way round) needs the secret typed again, and a pinned certificate is dropped for an http:// address, where it can't apply.

Full diff: v1.4.0...v1.4.2