Mirror of pcloudcc-lneely, an independent fork of pcloudcom/console-client hosted on Github.
Go to file
Levi Neely a59e536bb5 Fix pcl-1ib: correct FUSE 3.x handler signatures and loop_mt call
- Replace FUSE_MINOR_VERSION >= 12 checks with FUSE_USE_VERSION >= 30
  for getattr/chmod/chown/utimens handler signatures; FUSE 3.x always
  requires the extra struct fuse_file_info* parameter — the wrong
  signature caused type mismatches and "Transport endpoint is not
  connected" failures
- Replace non-existent fuse_loop_mt_312 extern with correct conditional:
  FUSE_USE_VERSION >= 32 uses fuse_loop_mt(f, &config), else
  fuse_loop_mt_31(f, clone_fd)
- Fix inverted return logic in is_fuse3_installed_on_system(): was
  returning 0 on success (when fusermount3 found), now correctly
  returns non-zero

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 20:52:59 +01:00
.github/workflows upgrade to mbedtls 3.x (#118) 2025-03-09 15:16:46 +01:00
dev arm64 arch devhost 2025-07-20 16:01:47 +02:00
doc Fix MBEDTLS-3.x.md: Add LIBLDFLAGS update to linker path (#168) 2026-02-27 08:44:38 +01:00
pclsync Fix pcl-1ib: correct FUSE 3.x handler signatures and loop_mt call 2026-03-09 20:52:59 +01:00
tests Add signal safety test suite (#365) 2026-03-08 12:07:30 +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 enable direnv for dev shell 2025-04-13 08:47:23 +02:00
.gitignore Fix log file permissions: use mode 0600 (#359) 2026-03-07 19:20:51 +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 CI/CD: Add fallback for systems without pkg-config 2026-03-09 20:52:59 +01:00
README.md Remove obsolete Pending Transfers section from README (#174) 2026-03-02 20:17:10 +01:00
control_tools.cpp Add memory accounting per subsystem (#371) 2026-03-08 21:47:22 +01:00
control_tools.h non interactive command processing (#123) 2025-03-09 19:18:38 +01:00
default.nix nix dev shell (#146) 2025-04-11 00:44:35 +02:00
detect_fuse.sh Enhance FUSE detection for non-standard locations 2026-03-09 20:52:59 +01:00
flake.lock Nix shell uses flakes (#147) 2025-04-11 20:55:58 +02:00
flake.nix add watchexec to dev shell 2025-04-18 11:32:16 +02:00
main.cpp Add memory accounting per subsystem (#371) 2026-03-08 21:47:22 +01:00
pcloudcc.logrotate Refactor logging, add cache-size, fs-event-log (#163) 2026-02-27 08:38:28 +01:00
pclsync_lib.cpp Add memory accounting per subsystem (#371) 2026-03-08 21:47:22 +01:00
pclsync_lib.h Fix #90, #109: Support 2FA when running as a daemon (#175) 2026-03-02 21:36:33 +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.

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.