Skip to content

Releases: ColinMario/Protondrive-for-Linux

v0.2.5

29 Jun 11:24

Choose a tag to compare

Fixed

  • Prevent auto sync from silently falling back to rclone mirror semantics when Proton's official CLI is unavailable.
  • Avoid passing Proton credentials through rclone process arguments during configuration.
  • Forward Flatpak host-tool environment such as RCLONE_CONFIG and Proton cache/config paths through flatpak-spawn.
  • Route Flatpak unmount helpers through the host so mounted paths can be detached correctly.
  • Make persistent mount removal idempotent when the service is already stopped.
  • Increase bootstrap download timeout for slow GitHub release assets while retaining size limits.

Changed

  • Rename Flatpak metadata and app ID to lowercase: io.github.colinmario.protondriveforlinux.

Validation

  • Tested on Linux with a real Proton account: login, browse, upload, download, rclone import/sync, FUSE mount, Flatpak upload/download, Flatpak mount/unmount, persistent systemd user mount, bootstrap for proton-drive and rclone.
  • Passed go test, race test, go vet, staticcheck, govulncheck, gosec, AppStream validation, desktop-file validation, Flatpak build and Flatpak run.

Protondrive CLI 0.2.4

29 Jun 08:29

Choose a tag to compare

Added

  • Added OpenRC user-service support for persistent Linux mounts via --persist-manager openrc.

Protondrive CLI 0.2.3

29 Jun 07:52

Choose a tag to compare

Protondrive CLI 0.2.3

This patch release fixes rclone configuration for Proton accounts that use a separate mailbox password.

Highlights

  • Added --mailbox-password and --mailbox-password-stdin for rclone-backed configuration.
  • Passes mailbox_password to rclone using rclone-obscured secret values.
  • Stores the optional mailbox password in the encrypted credential vault when --store-credentials is used.
  • Reuses the mailbox password during credential-vault refresh.
  • Documents stdin ordering for headless two-password accounts.
  • Leaves local_path out of configure; sync local paths remain handled by positional args or JSON sync configs.

PR / issue triage

  • The relevant part of PR #4 was implemented cleanly in main.
  • PR #4 was not merged because it included unrelated local_path configuration changes, a credential debug print, and no tests.

Validation

  • Verified rclone provider metadata exposes mailbox_password for Proton Drive and does not expose local_path.
  • go test ./...
  • go vet ./...
  • Local rclone-config smoke test with fake credentials and --mailbox-password-stdin
  • Linux builds for amd64 and arm64
  • macOS builds for amd64 and arm64
  • Archive checksum verification

Protondrive CLI 0.2.2

29 Jun 07:36

Choose a tag to compare

Protondrive CLI 0.2.2

This patch release adds an explicit dependency bootstrap command so Flatpak and normal binary users do not have to manually locate Proton's official Drive CLI or rclone.

Highlights

  • Added protondrive bootstrap for managed helper dependency installation.
  • protondrive bootstrap --all --yes downloads both Proton's official proton-drive CLI and rclone into a per-user managed binary directory.
  • Proton Drive CLI downloads are resolved from Proton's official download index and verified against Proton's published SHA-512 checksums.
  • rclone downloads are resolved from the current upstream GitHub release and verified against the release SHA256SUMS file.
  • Future runs automatically use managed proton-drive and rclone binaries when they are not available on PATH or through the Flatpak host.
  • Missing dependency errors now point users to the matching bootstrap command.
  • Command-specific help now exits cleanly with status 0.

Flatpak usage

After installing the Flatpak package, run:

flatpak run io.github.ColinMario.ProtondriveForLinux bootstrap --all --yes

The Flatpak still packages only this GPLv3 wrapper. It does not silently download executable code during Flatpak installation. Bootstrap is explicit and checksum-verified.

Validation

  • go test ./...
  • go vet ./...
  • Live bootstrap download test for Proton Drive CLI 0.4.6 on macOS arm64
  • Live bootstrap download test for rclone 1.74.3 on macOS arm64
  • Managed binary auto-discovery smoke test
  • Flatpak manifest YAML parse
  • AppStream XML parse
  • Linux cross-builds for amd64 and arm64
  • macOS builds for amd64 and arm64
  • Archive checksum verification

Protondrive CLI 0.2.1

29 Jun 07:18

Choose a tag to compare

Protondrive CLI 0.2.1

This patch release adds Flatpak packaging support for Protondrive-for-Linux and keeps the package honest about what it ships: the GPLv3 wrapper only. Proton's official proton-drive CLI and rclone remain host-installed tools.

Highlights

  • Added Flatpak manifest metadata for io.github.ColinMario.ProtondriveForLinux.
  • Added AppStream metadata, a desktop entry, and a neutral project icon for packaging and Flathub preparation.
  • Added vendored Go dependencies so Flatpak builds can run with GOFLAGS=-mod=vendor without fetching Go modules during the build.
  • Added Flatpak host-tool forwarding: when the wrapper runs inside a Flatpak sandbox, it can resolve host-installed proton-drive and rclone through flatpak-spawn --host.
  • Documented Flatpak build/install steps and runtime expectations.

Notes

  • This is not an official Proton Flatpak. It prepares this project for Flatpak packaging while relying on Proton's official CLI installed on the host.

Validation

  • go test ./...
  • go vet ./...
  • Flatpak manifest YAML parse
  • AppStream/SVG XML parse
  • macOS builds for amd64 and arm64
  • Linux cross-builds for amd64 and arm64
  • Archive checksum verification

Protondrive CLI 0.2.0

28 Jun 22:34

Choose a tag to compare

Protondrive CLI 0.2.0

This release modernizes Protondrive-for-Linux around Proton's official proton-drive CLI while keeping rclone for the workflows Proton's CLI does not provide yet, especially mounts and exact rclone sync behavior.

Highlights

  • Added backend selection with auto, proton, and rclone modes.
  • Added support for Proton's official proton-drive CLI for login, status, browse, upload, and download workflows.
  • Added browserless/headless setup via configure --headless, which initializes rclone Proton tokens and writes a compatible Proton CLI session.
  • Added session bridge commands:
    • configure --from-proton-cli-session
    • configure --from-rclone-session
  • Added support for Proton CLI's PROTON_DRIVE_UNSAFE_SECRETS plaintext session file mode for headless systems without Secret Service.
  • Added macOS mounting through local rclone WebDAV plus mount_webdav, avoiding macFUSE in default mode.
  • Added persistent Linux mounts through generated systemd --user services with optional lingering.
  • Added Proton transfer conflict flags and thumbnail control for official CLI uploads/downloads.

Notes

  • rclone is still required for mount, custom rclone remotes, rclone dry-runs, and rclone-specific sync flags.
  • On macOS, default mounts use WebDAV instead of macFUSE. Force FUSE with --mount-method fuse only if macFUSE is installed and working.
  • On Linux, persistent mounts use FUSE/fusermount and systemd --user.

Validation

  • go test ./...
  • go vet ./...
  • macOS build
  • Linux cross-builds for amd64 and arm64
  • Archive checksum verification
  • Real Proton CLI session validation through the official plaintext session store

Protondrive CLI 0.1.0

15 Nov 02:37

Choose a tag to compare

Highlights

  • Erste Proton Drive CLI mit rclone-basiertem Setup zum Konfigurieren, Synchronisieren, Durchsuchen sowie Mounten/Unmounten von Proton-Remotes.
  • Verschlüsselter Credential-Vault mit automatischer Token-Erneuerung und Remote-State-Tracking für Auth-Historie und Mounts.
  • Watch-fähige Sync-Workflows, JSON-Konfigurationsvorlagen und gebündelte Beispiele (paperless-ngx-export, photo-drop-upload, shared-media-downloader).
  • Umfangreiche README mit Installations-, Nutzungs-, Vorlagen- und Troubleshooting-Hinweisen.

Hinweise

  • Release enthält noch keine vorgefertigten Binaries. Baue bitte lokal mit go build ./cmd/protondrive und liefere das Binärartefakt bei Bedarf mit.