Mirror of pcloudcc-lneely, an independent fork of pcloudcom/console-client hosted on Github.
Go to file
Levi Neely 4f219806be
fix makefile for gentoo systems (#397)
2026-05-03 12:29:41 +02:00
.github/workflows Add GitHub Actions CI workflow for unit tests (#379) 2026-03-10 17:48:42 +01:00
dev Resolve #394: Replace Boost.Program_options with CLI11 (#396) 2026-05-01 15:02:23 +02:00
doc Resolve #394: Replace Boost.Program_options with CLI11 (#396) 2026-05-01 15:02:23 +02:00
pclsync relax sqlite version checks to avoid panic on startup (#395) 2026-05-01 15:02:02 +02:00
tests Fix bad-free heap corruption in ppathstatus and psyncer (#392) 2026-03-24 12:12:50 +01:00
.clang-format manual formatting (#136) 2025-03-11 21:36:26 +01:00
.clang-tidy Add clang-tidy signal safety checks (pcl-2s2.2) (#367) 2026-03-08 13:41:51 +01:00
.envrc direnv (#150) 2025-04-13 08:53:41 +02:00
.gitignore Add testability infrastructure: unit tests, extracted modules, CI integration (#381) 2026-03-11 07:52:35 +01:00
CLI11.hpp Revert "Streamline CLI11.hpp to functionality actually used by pcloudcc" (#81) 2024-12-10 21:48:15 +01:00
LOG-MANAGEMENT.md Refactor logging, add cache-size, fs-event-log (#163) 2026-02-27 08:38:28 +01:00
Makefile fix makefile for gentoo systems (#397) 2026-05-03 12:29:41 +02:00
README.md Update README.md (#376) 2026-03-10 14:10:51 +01:00
control_tools.cpp Resolve #394: Replace Boost.Program_options with CLI11 (#396) 2026-05-01 15:02:23 +02:00
control_tools.h non interactive command processing (#123) 2025-03-09 19:18:38 +01:00
default.nix Resolve #394: Replace Boost.Program_options with CLI11 (#396) 2026-05-01 15:02:23 +02:00
detect_fuse.sh Migrate to FUSE 3.x API (#350) 2026-03-09 21:51:00 +01:00
flake.lock Nix shell uses flakes (#147) 2025-04-11 20:55:58 +02:00
flake.nix Resolve #394: Replace Boost.Program_options with CLI11 (#396) 2026-05-01 15:02:23 +02:00
main.cpp Resolve #394: Replace Boost.Program_options with CLI11 (#396) 2026-05-01 15:02:23 +02:00
pcloudcc.logrotate Refactor logging, add cache-size, fs-event-log (#163) 2026-02-27 08:38:28 +01:00
pclsync_lib.cpp Fix authsave to save both username and password (#390) 2026-03-11 22:39:08 +01:00
pclsync_lib.h Add authsave command to save authentication credentials (#389) 2026-03-11 22:23:09 +01:00
rpcclient.cpp Add memory accounting per subsystem (#371) 2026-03-08 21:47:22 +01:00
rpcclient.h 130 use trustworthy location for log and socket (#134) 2025-03-11 19:03:58 +01:00

README.md

Introduction

pcloudcc is simple linux console client for pCloud cloud storage derived from the console-client developed by pCloud. This version is independently maintained by me, whose only affiliation with pCloud is as a user of their services. Due credit goes to Anton Titov, Ivan Stoev, and pCloud.

Supported Platforms & Distributions

The target operating system and platform for this program is linux/amd64, and has been reported to work on linux/aarch64. Program behavior on 32-bit architectures is considered undefined.

I aim to support as many distributions as possible. I maintain a package for AUR and Nix. I do not plan on providing or maintaining any other packages, but encourage anyone interested in doing so for their own distributions.

Compatibility Matrix

Distribution FUSE
Debian trixie 2.x
Debian trixie 3.x
Arch Linux (rolling) 3.x latest
Fedora 41 3.x
Fedora (latest) 3.x latest
Debian forky 3.18+
Slackware 15 3.10.5

All configurations require mbedTLS 3.x. Runtime mount testing was performed manually on FUSE 2 (libfuse 2.9.x), FUSE 3 (libfuse3 3.10.5), and FUSE 3.18+ (Debian forky container).

Notices

Security Notice

My code audits are best-effort, and I make security enhancements as I identify problems. However, I do not promise that this program is free of even older and well-known security vulnerabilities. Therefore, I recommend using this program only on a trusted single-user system. Security-related code audits and contributions are most welcome!

See Also

  • Contributing: Read this if you're interested in helping out. Short version: do your best to write good code, be courteous to maintainers, and most importantly: have fun!

  • Building: Read this if you're not sure how to build pcloudcc. For most users, make and make install are enough.

  • mbedtls 3.x migration notes: Read this if you use an older distribution such as debian:bookworm and encounter build problems.

  • Device Validation Guide: Read this if you're running pcloudcc and encounter device validation-related errors.

  • Usage Guide: Read this if you're unsure how to start using pcloudcc.

  • Log Management Guide: Read this to configure log rotation, cache size limits, and custom log paths. To set up automatic log rotation, copy pcloudcc.logrotate to /etc/logrotate.d/pcloudcc.

  • pcloudcc-service: Container-based systemd service for running pcloudcc in userspace with podman. Includes multi-stage Dockerfile that builds pcloudcc from source and Quadlet systemd unit for automated background syncing.