# sudo-sync

Cross-platform file compare and sync for local and SSH folders, including sudo and doas.

sudo-sync is a cross-platform desktop app (Windows, macOS, and Linux) for comparing and syncing local and remote SSH folders.

You pick two sides. Each side can be a local folder or an SSH host. Recursive compare runs in the main process: a directory’s status comes from its children, size and mtime are checked first, then an explicit hash pass. Sync preview supports Mirror and Update left-to-right; you can drop rows before execute. Deletes move into a per-volume backup area outside the compared tree. Overwrites copy the previous version first.

Elevated remote work uses a nonce-tagged sudo/doas broker and a long-lived control agent. Writes stream into an exclusive 0600 temp file and commit with a metadata copy (atomic rename by default). File operations are appended to a redacted local JSONL journal. Text diff opens from a file row and reads through that side, including elevation.

The renderer never touches Node APIs. Filesystem and SSH work stay in the main process behind a typed preload.

Roadmap items that are not claimed here: keychain storage, known_hosts prompts, ProxyJump, filters, Update Both, rsync bulk copies, 3-way merge, and hex/image/table compare.

Source: https://github.com/codescrapbook/sudo-sync

Platforms: Windows, macOS, Linux.
Status: published.
Copy status: final.
Pricing status: draft (storefront placeholders until Stripe prices are mapped).

## Pricing

- Personal (one_time): $49.00
- Shop (one_time): $149.00

## FAQ

### Which platforms does sudo-sync run on?

It is an Electron desktop app packaged with electron-builder for Windows, macOS, and Linux.

### Does it work without a network after purchase?

Compare and sync of local folders do not need this site. SSH sides need a network path to the host. License activation still talks to whatdoyouwant.io to enforce machine limits; the signed key can be verified offline.

### How does sudo on SSH work?

The elevation broker authenticates sudo, sudo -u, or doas once per session, then runs a control agent and an elevated sftp-server. A wrong password closes the channel. Secrets are not left in process arguments.
