Plugins for Total Commander and Yazi

Hi,

Two simple plugins that allow for the integration of restic functionality into Total Commander and Yazi.

TotalCmd: Link
Yazi: Link

byz

5 Likes

Hi all,

first of all, many thanks to Pietro Partescano (@goldfix) for the idea of a restic plugin for Total Commander and for the original Restic WFX Plugin. Browsing repositories and snapshots, copying with F5 and the read-only design with passwords kept only in memory are all his work, and they are still the core of the plugin.

However, I have been working on a fork – TCResticBrowser – shortly after I learnt of the existence of the original plugin as I considered it great idea and had bunch of ideas for improvements immediately in my mind. Meanwhile, we agreed with Pietro we have different targets with the plugin and it make sense to develop the original plugin and my fork as two standalone implementations.

It began as an effort to get reproducible builds (the same way I have for my other two plugins: TCOfficeView and TCNewPlus and has grown a lot since. The main improvements:

  • Fast browsing of large and remote repositories: the snapshot list is cached and refreshed in the background, and once a snapshot has been read, all of its folders open instantly instead of running restic for each one.
  • Snapshots arranged as restic mount shows them: snapshots, ids, hosts and tags folders with latest. Folder names follow a configurable time format.
  • File versions (Alt+Enter on a file): every version of a file across the snapshots, in one folder – a killer feature for investigating ‘from when it is broken, where is the last good copy’, even restic itself does not have a good equivalent –, ready to view (F3) or copy (F5). Alt+Enter on a snapshot shows its details: host, paths, tags, size, new and changed files, data added and duration.
  • snapshots.csv, snapshots.json and repository_id.txt in each repository folder.
  • Per-repository settings (non-sensitive items only!): password file, password command (password managers) and S3 credentials. Also rclone: and S3 repositories, tested end to end. S3 secret access key is asked interactively for (and protected in memory) in the same way as restic password is asked.
  • Better password handling: passwords are encrypted in memory and wiped after a configurable timeout, and a “Forget passwords” entry wipes them on demand.
  • Safer extraction: an existing file is replaced atomically, so it is never damaged by a failed or interrupted copy. ESC cancels promptly, including restic’s helper processes.
  • 32-bit and 64-bit builds, an optional diagnostic log and an entry in TC’s connection log.
  • Reproducible builds: the same sources and the pinned toolchain produce a byte-identical release ZIP, so anyone can verify that a published binary was built from the published source.

The plugin is still strictly read-only and runs only the official restic.exe.

Feedback and bug reports are welcome, here or in the GitHub issue tracker.

1 Like