Skip to content

nearwood/profuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

profuse

Go Version FUSE License AUR

⚠️ Unofficial - Not affiliated with or endorsed by Proton AG or Proton Drive. ⚠️

A read-only Proton Drive FUSE client for Linux. Mounts your Proton Drive as a local filesystem using the OS keyring (libsecret) for secure, unattended startup.

Requirements

  • fuse3
  • libsecret (plus a running Secret Service daemon — GNOME Keyring or KWallet)
  • A Proton account

General Idea

This installs a binary and user service. You use the binary to login, the user service then handles mounting automatically at login.

Installation

From AUR

Clone the repo, and then inside the repo directory run: makepkg -si

Or, using a helper:

yay -S profuse-git

Usage

First-time setup

# Authenticate — stores session tokens on disk and key password in keyring
profuse auth login

# Create a mountpoint and mount
mkdir -p ~/ProtonDrive
profuse mount ~/ProtonDrive

To unmount:

profuse unmount ~/ProtonDrive

Auth commands

profuse auth login     # Authenticate (prompts for username, password, 2FA if needed)
profuse auth logout    # Revoke session and remove all stored credentials
profuse auth status    # Show currently logged-in username

Running in the background (systemd)

Install the user service:

# If installed from AUR the service file is already in place; otherwise:
install -Dm644 contrib/systemd/profuse.service ~/.config/systemd/user/profuse.service

systemctl --user enable --now profuse

The service starts at login, reads the key password silently from the keyring, and mounts at ~/ProtonDrive. Logs are available via:

journalctl --user -u profuse -f

Stored credentials

What Where
Session tokens ~/.config/profuse/session.json
Key password OS keyring (profuse service, libsecret)

Neither file contains your plaintext password.


AUR Maintenance

Updating the package

Every time PKGBUILD changes (new pkgrel, updated deps, etc.):

# 1. Validate the build locally
makepkg -si
namcap PKGBUILD
namcap profuse-git-*.pkg.tar.zst

# 2. Generate the required metadata file
makepkg --printsrcinfo > .SRCINFO

# 3. Commit to main
git add PKGBUILD .SRCINFO
git commit -m "Update to r2.abc1234"
git push origin main

# 4. Sync the aur branch and push to AUR
git checkout aur
git checkout main -- PKGBUILD .SRCINFO
git commit -m "Update to r2.abc1234"
git push aur
git checkout main

The aur branch is an orphan containing only PKGBUILD and .SRCINFO — the AUR rejects repos with subdirectories. git push aur maps it to the master branch that AUR expects.

Common namcap warnings

  • SKIP checksum — expected for -git packages, not an error.
  • ELF file outside allowed dirs — make sure the binary goes to /usr/bin/, not /usr/local/bin/.
  • Dependency not listed — if namcap flags a linked library, add the package that owns it to depends.

Releases

No releases published

Contributors