From e88903d5ff25474e54c4119ba42e63f9c298acff Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Fri, 21 Aug 2026 04:09:58 +0200 Subject: [PATCH] chore(branding) added branding, best practice to repo --- .github/ISSUE_TEMPLATE/bug_report.yml | 76 +++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 +++ .github/ISSUE_TEMPLATE/feature_request.yml | 37 +++++++++ .github/PULL_REQUEST_TEMPLATE.md | 26 +++++++ .github/workflows/release.yml | 11 +-- CODE_OF_CONDUCT.md | 32 ++++++++ CONTRIBUTING.md | 70 +++++++++++++++++ Cargo.toml | 5 ++ README.md | 74 +++++++++++++++++- SECURITY.md | 34 +++++++++ crates/pdfs-cli/Cargo.toml | 2 + crates/pdfs-core/Cargo.toml | 2 + crates/pdfs-fuse/Cargo.toml | 2 + crates/pdfs-gui/Cargo.toml | 3 + crates/pdfs-gui/src/app/main.rs | 16 ++-- images/logo.svg | 26 +++++++ packaging/PKGBUILD | 4 +- .../io.narl.proton-drive-linux-tray.desktop | 6 +- packaging/io.narl.proton-drive-linux.desktop | 6 +- packaging/io.narl.proton-drive-linux.svg | 30 +++++--- packaging/proton-drive-linux.spec | 9 ++- packaging/proton-drive.service | 2 +- 22 files changed, 448 insertions(+), 36 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 SECURITY.md create mode 100644 images/logo.svg diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..0033db7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,76 @@ +name: Bug report +description: Something in the client misbehaves +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Please check [`docs/BUGS.md`](../blob/main/docs/BUGS.md) first — the issue may already be + tracked there with context. + + **Do not report a security vulnerability here.** See [SECURITY.md](../blob/main/SECURITY.md). + - type: textarea + id: what + attributes: + label: What happened + description: What you did, what you expected, and what happened instead. + validations: + required: true + - type: textarea + id: repro + attributes: + label: Steps to reproduce + placeholder: | + 1. … + 2. … + validations: + required: true + - type: input + id: version + attributes: + label: Version + description: Output of `pdfs --version`, and how you installed it (deb / rpm / AUR / source). + validations: + required: true + - type: input + id: environment + attributes: + label: Distribution and desktop + placeholder: "Fedora 44, GNOME 48 (Wayland)" + validations: + required: true + - type: dropdown + id: surface + attributes: + label: Where does it happen + multiple: true + options: + - FUSE mount / file operations + - Sync or backed-up folders (Computers) + - CLI (pdfs) + - Desktop app (pdfs-app) + - Tray (pdfs-tray) + - Search launcher (pdfs-prompt) + - Login / keyring + - Photos + - Packaging / installation + validations: + required: true + - type: textarea + id: diagnose + attributes: + label: "`pdfs diagnose` output" + description: Redact paths or the account address if you prefer. + render: console + - type: textarea + id: logs + attributes: + label: Daemon logs + description: "`journalctl --user -u proton-drive.service -n 200 --no-pager`" + render: console + - type: checkboxes + id: dataloss + attributes: + label: Data + options: + - label: This bug involved missing, truncated, or overwritten file content. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..6140d48 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Security vulnerability + url: https://github.com/narrrl/proton-drive-linux/security/advisories/new + about: Report privately — never in a public issue. + - name: Known issues + url: https://github.com/narrrl/proton-drive-linux/blob/main/docs/BUGS.md + about: The authoritative ledger of tracked bugs and their status. + - name: Proton Drive service problems + url: https://proton.me/support + about: This is an unofficial client. Account or service issues go to Proton AG. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..d509322 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,37 @@ +name: Feature request +description: Suggest a capability or an improvement +labels: ["enhancement"] +body: + - type: textarea + id: problem + attributes: + label: The problem + description: What are you trying to do that the client makes hard or impossible today? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: What you'd like to see + validations: + required: true + - type: dropdown + id: surface + attributes: + label: Which part of the client + multiple: true + options: + - FUSE mount + - Sync / Computers + - CLI (pdfs) + - Desktop app (pdfs-app) + - Tray (pdfs-tray) + - Search launcher (pdfs-prompt) + - Photos + - Packaging + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives you considered diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e5b6771 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ +## What this changes + + + +**Crates touched:** +**Related `docs/BUGS.md` entries:** + +## Verification + +```bash +cargo fmt --all -- --check +cargo clippy --workspace --all-targets -- -D warnings +cargo test --workspace --locked +``` + + + +## Implications + +- [ ] Adds a SQLite migration (new `MIGRATION_V*`, `SCHEMA_VERSION` bumped — no shipped migration edited) +- [ ] Touches recovery, staging, or anything that can be the only copy of user data +- [ ] Changes packaging, the systemd unit, or desktop entries +- [ ] Changes the control protocol (daemon and front ends updated together) +- [ ] None of the above + + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8f69d38..c22a82d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -124,11 +124,12 @@ jobs: Maintainer: Nils Pukropp Depends: fuse3, libgtk-4-1 (>= 4.12.0), libadwaita-1-0 (>= 1.5.0), libsecret-1-0, libwebkitgtk-6.0-4 Installed-Size: ${INSTALLED_SIZE} - Description: Proton Drive client for Linux - Proton Drive client for Linux featuring: - - FUSE files-on-demand mount - - Command-line interface (CLI) - - GTK4 system tray, desktop application, and search launcher + Homepage: https://github.com/narrrl/proton-drive-linux + Description: Unofficial Proton Drive client for Linux + Files-on-demand Proton Drive for the Linux desktop, unaffiliated with Proton AG: + - FUSE virtual mount with block-level caching + - Scriptable command-line interface (pdfs) + - GTK4 desktop application, system tray, and search launcher EOF # Build Debian package diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..b2a9c11 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,32 @@ +# Code of Conduct + +## Our pledge + +We want participation in this project to be a harassment-free experience for everyone, regardless +of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socioeconomic status, nationality, personal appearance, race, +religion, or sexual identity and orientation. + +## Standards + +Examples of behavior that helps: + +- being respectful of differing viewpoints and experience levels, +- giving and accepting constructive feedback gracefully, +- focusing on what is best for the project and its users. + +Examples of unacceptable behavior: + +- sexualized language or imagery, and unwelcome sexual attention, +- trolling, insulting or derogatory comments, and personal or political attacks, +- public or private harassment, +- publishing others' private information without explicit permission. + +## Scope and enforcement + +This applies in all project spaces — issues, pull requests, discussions — and when representing the +project in public. Report unacceptable behavior to . Reports are handled +confidentially. Maintainers may edit, remove, or reject contributions that violate this document, +and may temporarily or permanently ban any contributor for behavior they deem inappropriate. + +Adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..bab2ad5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,70 @@ +# Contributing + +Thanks for taking the time. This is an unofficial Proton Drive client that people trust with real +files, so the bar for changes that touch the filesystem, the sync engine, or the database is +deliberately high — everything else is ordinary Rust review. + +## Before you start + +- Read [`AGENTS.md`](AGENTS.md) for repository conventions and + [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) for how the daemon, front ends, and SDK fit + together. +- Check [`docs/BUGS.md`](docs/BUGS.md) — it is the authoritative issue ledger, and your problem may + already be tracked there with context. +- For anything larger than a fix, open an issue first so the design can be discussed before you + spend the time. + +## Development setup + +```bash +git clone https://github.com/narrrl/proton-drive-linux.git +cd proton-drive-linux +cargo build --workspace +``` + +GUI and FUSE targets need the GTK4, libadwaita, WebKitGTK 6, libsecret, D-Bus, and FUSE3 +development packages listed in the [README](README.md#prerequisites). Minimum supported Rust +version is 1.96. + +## Quality gates + +CI runs exactly these, and they must pass with zero warnings: + +```bash +cargo fmt --all -- --check +cargo clippy --workspace --all-targets -- -D warnings +cargo test --workspace --locked +scripts/fuse-acceptance.sh --offline-only +``` + +Changes to the FUSE layer, sync, or the pending-operation queue should also be exercised against a +real mount before review — see [`docs/TESTING.md`](docs/TESTING.md). Live runs are destructive: +use a dedicated test account, never one holding data you cannot lose. + +## Making changes + +- **Keep shared logic in `pdfs-core`.** The CLI and GUI never touch the database or the network; + they speak the control protocol to the daemon. +- **The SQLite schema is forward-only.** Never edit a shipped migration — add a new one and bump + `SCHEMA_VERSION` in `crates/pdfs-core/src/db/migrations.rs`. +- **Typed errors and `?` over panics** on runtime paths. Blocking filesystem, keyring, or + control-socket work stays off GTK's main thread. +- **`staging/` and `recovery/` may hold the only copy of user data.** Nothing may clear or purge + them opportunistically. + +## Commits and pull requests + +Commits follow scoped [Conventional Commits](https://www.conventionalcommits.org), e.g. +`fix(fuse,core): keep truncate composable with queued revisions`. + +A pull request should state: + +- the user-visible effect and which crates it touches, +- the `docs/BUGS.md` entries it fixes or affects, +- the commands you ran to verify it, +- screenshots for GTK changes, +- and, explicitly, any migration, recovery, data-loss, or packaging implications. + +## Security + +Do not open a public issue for a vulnerability — see [SECURITY.md](SECURITY.md). diff --git a/Cargo.toml b/Cargo.toml index 6da9058..3534367 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,11 @@ edition = "2024" license = "MIT" authors = ["Nils Pukropp "] rust-version = "1.96" +repository = "https://github.com/narrrl/proton-drive-linux" +homepage = "https://github.com/narrrl/proton-drive-linux" +readme = "README.md" +keywords = ["proton", "drive", "fuse", "sync", "linux"] +categories = ["filesystem", "command-line-utilities"] [workspace.dependencies] proton-sdk = { version = "0.6.1" } diff --git a/README.md b/README.md index a33b675..568e769 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,63 @@ -# Proton Drive client for Linux (unofficial) +
-A fast, unofficial Proton Drive client for Linux. This client features an advanced files-on-demand FUSE virtual mount with block-level caching, a command-line interface (CLI), and a fully non-blocking GTK4 desktop application with system tray integration. + + +# Proton Drive for Linux + +**Files-on-demand Proton Drive for the Linux desktop** — a FUSE virtual mount with block-level +caching, a scriptable CLI, and a native GTK4 app with tray and search launcher. + +[![CI](https://github.com/narrrl/proton-drive-linux/actions/workflows/ci.yml/badge.svg)](https://github.com/narrrl/proton-drive-linux/actions/workflows/ci.yml) +[![Release](https://img.shields.io/github/v/release/narrrl/proton-drive-linux?sort=semver)](https://github.com/narrrl/proton-drive-linux/releases/latest) +[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) +[![Rust 1.96+](https://img.shields.io/badge/rust-1.96%2B-orange.svg)](https://www.rust-lang.org) +[![Platform: Linux](https://img.shields.io/badge/platform-linux-lightgrey.svg)](#prerequisites) + +The GTK4 file browser + +
+ +> [!IMPORTANT] +> This is an **unofficial**, community-built client. It is not affiliated with, endorsed by, or +> supported by Proton AG. "Proton" and "Proton Drive" are trademarks of Proton AG, used here only +> to describe what the software talks to. Use a test account first, and read +> [`docs/RECOVERY.md`](docs/RECOVERY.md) before trusting it with data you cannot lose. + +## Install + +```bash +# Debian / Ubuntu +sudo apt install ./proton-drive-linux_*.deb + +# Fedora +sudo dnf install ./proton-drive-linux-*.rpm + +# Arch Linux +cd packaging && makepkg -fi +``` + +Packages for each release are attached to the [latest +release](https://github.com/narrrl/proton-drive-linux/releases/latest); see +[Installation & Packages](#installation--packages) for details and +[Building from Source](#building-from-source) to compile it yourself. + +```bash +pdfs login # sign in (SRP + 2FA, credentials go to the system keyring) +pdfs status # mount state, queued writes, cache usage +pdfs-app # the desktop app +``` + +## Contents + +- [Features](#features) · [Quick search](#quick-search-and-media-opening) · [Opening files](#choosing-how-files-open) +- [Selective sync](#selective-sync-pdfsignore) · [Diagnostics](#diagnostics--maintenance) · [Scripting](#scripting---json) +- [Performance](#performance--caching) · [Filesystem safety](#filesystem-safety) · [Screenshots](#screenshots) +- [Prerequisites](#prerequisites) · [Building](#building-from-source) · [Packages](#installation--packages) · [Releases](#automated-releases-cicd) + +**Documentation:** [Architecture](docs/ARCHITECTURE.md) · [Testing](docs/TESTING.md) · +[Recovery](docs/RECOVERY.md) · [Development](docs/DEVELOPMENT.md) · +[Known issues](docs/BUGS.md) · [Changelog](docs/CHANGELOG.md) · +[Contributing](CONTRIBUTING.md) · [Security policy](SECURITY.md) ## Features @@ -302,7 +359,7 @@ Ensure you have Rust and Cargo installed (minimum supported Rust version is 1.96 1. Clone the repository and navigate into the project directory: ```bash - git clone https://github.com/narl/proton-drive-linux.git + git clone https://github.com/narrrl/proton-drive-linux.git cd proton-drive-linux ``` 2. Build the workspace in release mode: @@ -372,6 +429,15 @@ This project has a GitHub Actions CI workflow configured under `.github/workflow --- +## Contributing + +Bug reports, packaging fixes, and patches are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for +the workflow and the quality gates CI enforces, and [SECURITY.md](SECURITY.md) for reporting a +vulnerability privately. + ## License -This project is licensed under the [MIT License](LICENSE). +Released under the [MIT License](LICENSE). + +Proton Drive is a service of Proton AG. This project is an independent client and carries no +affiliation with or endorsement from Proton AG. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..02be990 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,34 @@ +# Security Policy + +## Supported versions + +Fixes land on the latest release. Please reproduce on the most recent version before reporting. + +## Reporting a vulnerability + +**Do not open a public issue.** Report privately through GitHub's +[private vulnerability reporting](https://github.com/narrrl/proton-drive-linux/security/advisories/new), +or by email to . + +Please include the version (`pdfs --version`), your distribution and desktop environment, what an +attacker gains, and a reproduction if you have one. You can expect an acknowledgement within a few +days; a fix ships in the next release, and you are credited in the advisory unless you ask +otherwise. + +## Scope + +This client holds Proton account credentials and decrypted file content on the local machine, so +the interesting boundaries are: + +- **Credentials.** Sessions and the mailbox password live in the system Secret Service. Anything + that writes them elsewhere — logs, temp files, crash dumps — is a vulnerability. +- **The control socket.** Anything that can connect to `control.sock` has the daemon's + authenticated session. It is `0600`, and the state, cache, and config directories must be real, + current-user-owned `0700` directories; the daemon fails closed otherwise. Reports that defeat + those checks are in scope. +- **Local cache and staging.** Decrypted block content and staged writes on disk. +- **Cryptography.** Key derivation, signature handling, and anything that could publish plaintext + or the wrong key material to Proton. + +Out of scope: vulnerabilities in Proton's own service (report those to Proton AG), and issues that +require an attacker who already has your user account on the machine. diff --git a/crates/pdfs-cli/Cargo.toml b/crates/pdfs-cli/Cargo.toml index f562761..56985e2 100644 --- a/crates/pdfs-cli/Cargo.toml +++ b/crates/pdfs-cli/Cargo.toml @@ -5,6 +5,8 @@ edition.workspace = true license.workspace = true authors.workspace = true rust-version.workspace = true +repository.workspace = true +homepage.workspace = true description = "CLI for the Proton Drive Linux client" [[bin]] diff --git a/crates/pdfs-core/Cargo.toml b/crates/pdfs-core/Cargo.toml index 5eb3c2e..624dae1 100644 --- a/crates/pdfs-core/Cargo.toml +++ b/crates/pdfs-core/Cargo.toml @@ -5,6 +5,8 @@ edition.workspace = true license.workspace = true authors.workspace = true rust-version.workspace = true +repository.workspace = true +homepage.workspace = true description = "Core auth/session/config for the Proton Drive Linux client" [dependencies] diff --git a/crates/pdfs-fuse/Cargo.toml b/crates/pdfs-fuse/Cargo.toml index f4564d7..6b31b60 100644 --- a/crates/pdfs-fuse/Cargo.toml +++ b/crates/pdfs-fuse/Cargo.toml @@ -5,6 +5,8 @@ edition.workspace = true license.workspace = true authors.workspace = true rust-version.workspace = true +repository.workspace = true +homepage.workspace = true description = "FUSE on-demand filesystem for Proton Drive" [dependencies] diff --git a/crates/pdfs-gui/Cargo.toml b/crates/pdfs-gui/Cargo.toml index 9784288..8893e4d 100644 --- a/crates/pdfs-gui/Cargo.toml +++ b/crates/pdfs-gui/Cargo.toml @@ -5,6 +5,9 @@ edition.workspace = true license.workspace = true authors.workspace = true rust-version.workspace = true +repository.workspace = true +homepage.workspace = true +description = "GTK4 desktop app, tray, and search launcher for the Proton Drive Linux client" [[bin]] name = "pdfs-tray" diff --git a/crates/pdfs-gui/src/app/main.rs b/crates/pdfs-gui/src/app/main.rs index b2545a9..4c0b2ec 100644 --- a/crates/pdfs-gui/src/app/main.rs +++ b/crates/pdfs-gui/src/app/main.rs @@ -914,7 +914,7 @@ fn toast_failure(ui: &Rc, what: &str, message: &str, kind: ErrorKind) { fn build_primary_menu() -> gtk4::MenuButton { let menu = gio::Menu::new(); menu.append(Some("Keyboard Shortcuts"), Some("win.shortcuts")); - menu.append(Some("About Proton Drive"), Some("win.about")); + menu.append(Some("About Proton Drive for Linux"), Some("win.about")); gtk4::MenuButton::builder() .icon_name("open-menu-symbolic") .tooltip_text("Main menu") @@ -933,11 +933,17 @@ fn install_window_actions(window: &adw::ApplicationWindow) { let win = window.clone(); about.connect_activate(move |_, _| { let dialog = adw::AboutDialog::builder() - .application_name("Proton Drive") - .application_icon("folder-remote-symbolic") + .application_name("Proton Drive for Linux") + .application_icon("io.narl.proton-drive-linux") .version(pdfs_core::config::APP_VERSION) - .developer_name("proton-drive-linux") - .comments("On-demand Proton Drive sync for Linux.") + .developer_name("Nils Pukropp") + .website("https://github.com/narrrl/proton-drive-linux") + .issue_url("https://github.com/narrrl/proton-drive-linux/issues") + .license_type(gtk4::License::MitX11) + .comments( + "Files-on-demand Proton Drive for the Linux desktop.\n\n\ + Unofficial client — not affiliated with, endorsed by, or supported by Proton AG.", + ) .build(); dialog.present(Some(&win)); }); diff --git a/images/logo.svg b/images/logo.svg new file mode 100644 index 0000000..c84b4f9 --- /dev/null +++ b/images/logo.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packaging/PKGBUILD b/packaging/PKGBUILD index 95d6c0f..5a49d20 100644 --- a/packaging/PKGBUILD +++ b/packaging/PKGBUILD @@ -11,9 +11,9 @@ pkgname=proton-drive-linux pkgver=1.9.0 pkgrel=1 -pkgdesc="Proton Drive client for Linux: FUSE files-on-demand mount, CLI, GTK4 app + tray" +pkgdesc="Unofficial Proton Drive client for Linux: files-on-demand FUSE mount, CLI, GTK4 app + tray" arch=('x86_64') -url="https://github.com/narl/proton-drive-linux" +url="https://github.com/narrrl/proton-drive-linux" license=('MIT') depends=('fuse3' 'gtk4' 'libadwaita' 'webkitgtk-6.0') makedepends=('cargo' 'git') diff --git a/packaging/io.narl.proton-drive-linux-tray.desktop b/packaging/io.narl.proton-drive-linux-tray.desktop index 92d53ea..f1cf285 100644 --- a/packaging/io.narl.proton-drive-linux-tray.desktop +++ b/packaging/io.narl.proton-drive-linux-tray.desktop @@ -1,11 +1,11 @@ [Desktop Entry] Type=Application -Name=Proton Drive (Tray) +Name=Proton Drive for Linux (Tray) GenericName=Cloud Drive Tray -Comment=Proton Drive system tray icon +Comment=Proton Drive status and quick actions (unofficial client) Exec=pdfs-tray Icon=io.narl.proton-drive-linux Terminal=false Categories=Network;FileTransfer;GTK; -Keywords=proton;drive;cloud;sync;storage; +Keywords=proton;drive;cloud;sync;storage;files;backup; NoDisplay=true diff --git a/packaging/io.narl.proton-drive-linux.desktop b/packaging/io.narl.proton-drive-linux.desktop index 06a1987..f2cd1b0 100644 --- a/packaging/io.narl.proton-drive-linux.desktop +++ b/packaging/io.narl.proton-drive-linux.desktop @@ -1,12 +1,12 @@ [Desktop Entry] Type=Application -Name=Proton Drive +Name=Proton Drive for Linux GenericName=Cloud Drive -Comment=Proton Drive files-on-demand for Linux +Comment=Files-on-demand Proton Drive (unofficial client) Exec=pdfs-app Icon=io.narl.proton-drive-linux Terminal=false Categories=Network;FileTransfer;GTK; -Keywords=proton;drive;cloud;sync;storage; +Keywords=proton;drive;cloud;sync;storage;files;backup; StartupNotify=true SingleMainWindow=true diff --git a/packaging/io.narl.proton-drive-linux.svg b/packaging/io.narl.proton-drive-linux.svg index 8bd280f..c84b4f9 100644 --- a/packaging/io.narl.proton-drive-linux.svg +++ b/packaging/io.narl.proton-drive-linux.svg @@ -1,14 +1,26 @@ - + - - - + + + - - - - - + + + + + + + + + + + + + + + + + diff --git a/packaging/proton-drive-linux.spec b/packaging/proton-drive-linux.spec index df23818..849e573 100644 --- a/packaging/proton-drive-linux.spec +++ b/packaging/proton-drive-linux.spec @@ -12,9 +12,9 @@ Name: proton-drive-linux Version: %{version} Release: 1%{?dist} -Summary: Proton Drive client for Linux (FUSE, CLI, GTK4 app + tray) +Summary: Unofficial Proton Drive client for Linux (FUSE, CLI, GTK4 app + tray) License: MIT -URL: https://github.com/narl/proton-drive-linux +URL: https://github.com/narrrl/proton-drive-linux ExclusiveArch: x86_64 BuildRequires: cargo @@ -43,8 +43,9 @@ Recommends: kwallet Provides: pdfs = %{version}-%{release} %description -Unofficial Proton Drive client featuring a FUSE files-on-demand mount, -CLI, GTK4/Libadwaita GUI, system tray, and search launcher. +Files-on-demand Proton Drive for the Linux desktop: a FUSE virtual mount with +block-level caching, a scriptable CLI, and a GTK4/Libadwaita desktop app with +system tray and search launcher. Unofficial and not affiliated with Proton AG. %prep # In-tree build: no Source tarball. Pass --define "git_dir /path/to/checkout". diff --git a/packaging/proton-drive.service b/packaging/proton-drive.service index faee49e..6677747 100644 --- a/packaging/proton-drive.service +++ b/packaging/proton-drive.service @@ -1,6 +1,6 @@ [Unit] Description=Proton Drive Files-On-Demand mount -Documentation=https://github.com/narl/proton-drive-linux +Documentation=https://github.com/narrrl/proton-drive-linux # Tie the mount to the desktop session: start after it is up and stop with it. After=graphical-session.target PartOf=graphical-session.target