Mirror of pcloudcc-lneely, an independent fork of pcloudcom/console-client hosted on Github.
Go to file
Chris82111 047e27aca2 Retry opening without the O_NOATIME flag
According to the description at [man7.org](https://man7.org/linux/man-pages/man2/open.2.html),
you must either be the owner of the file or have sudo privileges for
the `O_NOATIME` flag:

- The effective UID of the process matches the owner UID
  of the file.

- The calling process has the CAP_FOWNER capability in its
  user namespace and the owner UID of the file has a
  mapping in the namespace.

The pCloud library code checks the file permissions and handles them
accordingly, but the library cannot open another user's file due to
the flag. To work around this, it first tries to open the file with
the flag, and if that fails, it tries again without the flag.
2026-02-26 20:00:31 +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 98 create a pdbg namespace (#139) 2025-03-13 20:28:09 +01:00
pclsync Retry opening without the O_NOATIME flag 2026-02-26 20:00:31 +01:00
.clang-format manual formatting (#136) 2025-03-11 21:36:26 +01:00
.envrc enable direnv for dev shell 2025-04-13 08:47:23 +02:00
.gitignore Merge branch 'main' into nix-shell 2025-04-13 08:52:37 +02:00
CLI11.hpp Revert "Streamline CLI11.hpp to functionality actually used by pcloudcc" (#81) 2024-12-10 21:48:15 +01:00
Makefile Allow custom flags (#141) 2025-03-18 19:55:15 +01:00
README.md Update README.md (#145) 2025-04-08 14:45:08 +02:00
control_tools.cpp Fix #8: Add pending transfer check feature 2026-02-14 19:43:13 +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
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 84 security enhancements (#133) 2025-03-11 15:05:43 +01:00
pclsync_lib.cpp Fix #95: Remove unused get_token() wrapper from pclsync_lib 2026-02-14 20:08:01 +01:00
pclsync_lib.h Fix #95: Remove unused get_token() wrapper from pclsync_lib 2026-02-14 20:08:01 +01:00
rpcclient.cpp 98 create a pdbg namespace (#139) 2025-03-13 20:28:09 +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!

Pending Transfers

Stopping the daemon will break pending background transfers! pcloudcc does not currently provide a command to check for pending transfers. You can currently check this by ensuring there is only one file named cached in ~/.pcloud/Cache. Usually this is a large file.

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.