• Stars
    star
    431
  • Rank 100,866 (Top 2 %)
  • Language
    C
  • Created over 8 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

pCloud Console Client

This is a simple linux console client for pCloud cloud storage.

Required libraries

Zlib A Massively Spiffy Yet Delicately Unobtrusive Compression Library.
Boost Boost system and boost program options libraries used.
Pthread
Fuse Filesystem in Userspace.

Also requires
CMake build system.

On Ubuntu you can run the following command:

sudo apt-get install cmake zlib1g-dev libboost-system-dev libboost-program-options-dev libpthread-stubs0-dev libfuse-dev libudev-dev

Build steps

sudo apt-get install cmake zlib1g-dev libboost-system-dev libboost-program-options-dev libpthread-stubs0-dev libfuse-dev libudev-dev fuse build-essential git mkdir console-client
git clone https://github.com/pcloudcom/console-client.git ./console-client/
cd ./console-client/pCloudCC/
cd lib/pclsync/
make clean
make fs
cd ../mbedtls/
cmake .
make clean
make
cd ../..
cmake .
make
sudo make install
sudo ldconfig
pcloudcc -u username -p

Usage

Terminal command is pcloudcc and -h option prints short options description.

./pcloudcc -h
pCloud console client v.2.0.1
Allowed options:
-h [ --help ] produce help message
-u [ --username ] arg pCloud account name
-p [ --password ] pCloud account password
-c [ --crypto ] arg Crypto password
-y [ --passascrypto ] arg Use user password as crypto password also.
-d [ --daemonize ] Daemonize the process.
-o [ --commands ] Parent stays alive and processes commands.
-m [ --mountpoint ] arg Mount point where drive to be mounted.
-k [ --commands_only ] Daemon already started pass only commands.
-n [ --newuser ] Switch if this is a new user to be registered.
-s [ --savepassword ] Save password in database.

Also there are several commands that the running service can execute. Commands are passed using

pcloudcc -k

or starting the daemon with -o.

Available commands are : startcrypto , stopcrypto, finalize, q, quit

  • startcrypto - starts cripto using given password.
  • stopcrypto – stops the crypto.
  • finalize – stops the running daemon.
  • quit, q - exits the current client. Daemon stays alive.

Example usage scenario:

  • Start the service manually

pcloudcc -u [email protected] -p -s

Enter password and use -s switch to save the password.

  • Verify that file system starts and mounts normally. If you don't have existing user use -n switch to register new user:

pcloudcc -u [email protected] -p -s -n

Notice that a new user may take a while to mount. Please, be patient.

  • Start the daemon service:

pcloudcc -u [email protected] -d

  • Verify file system is mounted.

  • At that point you can test passing some commands.

pcloudcc -u [email protected] -k

Or starting the daemon with -o. Test unlocking and locking crypto if you have subscription for it.

  • Quit the client. Congratulations, your pcloud console client works properly. You can now add β€œpcloudcc -u [email protected] -d” command in you startup scripts and thous mount the file system on startup.

Notice that stopping daemon will break pending background transfers!

Current version of pcloudcc doesn't support command to check if threre are pending transfers. Locally cached files are located under ~/.pcloud/Cache dir. When there is only one file ~/.pcloud/Cache/cached (ususally big sized) this mean that transfers are completed.

Debian

To create a debian package form the source use:

debuild -i -us -uc -b

Older pre-built packages (no EU server supprt)