This is a pCloud client written in Go for cross-platform compatibility, such as a Raspberry Pi in my use-case.
NOTE: I'm not affiliated to pCloud so this project is as good or as bad as it gets.
See SDK.
See Tracker.
See Sync.
The original driver for this project is to create a pCloud client for my Raspberry Pi4.
While pCloud's console client seemed to tick the boxes, I wasn't able to use it for two reasons:
- it creates a virtual drive - files are not stored on my local storage as I require. In my set-up, cloud storage is a convenience (backup and remote access), not an extension / replacement of my local storage.
- I elected to create a mirror from the pCloud virtual drive (that the console-client creates) to my local storage. While this would work well for my needs (using pCloud as the primary source of truth, and the mirror as a local replica), I found that both
rsync
andunison
were confronted to an I/O deadlock when downloading data. The console-client appears to have an issue in its internal cache management and that blocks all I/O. Recovery involves restarting the pCloud console-client daemon but the story repeats again and the mirror cannot complete.
-
✅ implement a Go version of the SDK.
-
implement a sync command.
-
CLI for basic pCloud interactions (copy, move, etc)
-
Fuse integration (Linux)
The official pCloud API is documented at: