Plakar

The backup solution powered by Kloset and ptar.

Latest v1.1.6 · Sep 11, 2026
Documented 2 releases

v1.1.6

stable

A security release. Authenticating with `plakar login` now requires a confirmation code typed into the terminal that started it, and the API server stops accepting the previous flow on 18 September 2026.

Security

  • plakar login authenticates through a hardened flow. The confirmation page served by the Plakar API displays a code that has to be typed into the terminal the login was started from, so an authentication request can only be approved by whoever holds that terminal. This closes phishing attacks that rely on someone else approving the confirmation.
Warning

From Friday 18 September 2026, the API rejects authentication requests that do not use the new flow. Upgrade to v1.1.6 before then to keep plakar login working.

v1.1.5

stable

A security-focused patch release. Plakar now refuses to open an unencrypted Kloset store unless you opt in, plugins are signature-checked at install time, and the HTTP store and server were hardened.

Security

  • Plakar refuses to open an unencrypted Kloset store unless PLAKAR_INSECURE_PLAINTEXT is set in the environment.
  • Plugins are signature-checked at install time. Pass plakar pkg add -allow-unsigned to opt out.
  • sync no longer hands the peer passphrase down to the peer store connector.
  • The fs exporter confines restores to the target directory.
  • The HTTP store now requires insecure=true before it will send auth_token over plaintext HTTP, and it rejects https to http redirects. Assorted other protocol hardening landed alongside it.
  • ptar over HTTP was hardened.

New

  • plakar server -token requires clients to present an Authorization: Bearer token. Requests are now logged.
  • plakar pkg add and plakar pkg show accept -devel to use the integration devel tree.
  • The http and https stores accept new auth_token, insecure, timeout and tls_no_verify options, documented in plakar-store(1).

Fixes

  • backup reports the real cause of a failure when a packfile temporary file cannot be created, a full /tmp for instance, instead of a bare cancellation.
  • The fs importer opens files with O_NONBLOCK, so a FIFO no longer stalls a backup.
  • The fs exporter restores file permissions, and hardlink restoration is fixed.
  • The tar exporter no longer hands hard-link names over as symlink targets.
  • ls displays the uid and gid recorded in the snapshot instead of resolving them against the local system.
  • mount sets a valid modification time on the root directory.
  • config rejects invalid configuration names.
  • The UI browses cold-storage (Glacier) repositories again, and flags unreadable entries as such.
  • The UI reports login rate limiting from the auth API as a 429.
  • Removing the disabled-security-check cookie no longer fails when it is not there.
  • The gRPC integration reports errors correctly in Import() and Export(), serializes the context Flags field on the wire, and supports custom metadata.
  • make install installs the manpages correctly.