Skip to content

Host Backup #1377

Closed as duplicate
Closed as duplicate

Description

@talongao

Source

https://github.com/talongao/paseo-plugin-host-sync

Categories

  • Daemon management

Encrypted backup of the Paseo host list to the user's own GitHub repository, with merge-on-restore across browsers and machines.

  • Snapshots are appended, never overwritten; a retention setting keeps only the newest N.
  • Encryption is on by default: PBKDF2-SHA256 (310k iterations) + AES-256-GCM, so the repository only ever holds ciphertext.
  • Restore merges instead of replacing, and drops loopback TCP connections that belong to other machines so localhost:6767 cannot point at the wrong daemon.
  • The GitHub token and the password stay in browser localStorage; the daemon never sees them.
  • No runtime dependencies: only host-provided libraries (@getpaseo/plugin, react, react-native).

Entry points: Settings → Hosts → ⋯ → Plugins, plus a ⌘K item and a sidebar icon.

Screenshots for the listing can be added in the review PR once the intake starts.

Activity

  1. talongao commented on Oct 28, 2026

    @talongao
    Author

    Submitted via gh because the issue form could not be opened in a browser here. The CLI cannot apply the submission label itself (no triage permission), so the intake label needs to be added by a maintainer — apologies for the extra step.

    Repository: https://github.com/talongao/paseo-plugin-host-sync (public, main)

    Listing screenshots are not committed yet; I can add them to assets/ and reference them from paseo-plugin.json as soon as the review PR asks for them.

  2. talongao commented on Oct 28, 2026

    @talongao
    Author

    Listing media is now committed to the source repo:

    • assets/backup.png — backup tab with the host list
    • assets/restore.png — snapshot list
    • assets/settings.png — GitHub / encryption settings

    paseo-plugin.json declares them as package-relative media entries, so the first image (assets/backup.png) is the thumbnail. An assets/icon.png (512×512) is also included.

    Still waiting on the submission label before intake can start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions