Linux Apps

CloudCross – Synchronize Files and Directories with Multiple Cloud Storages

CloudCross – Synchronize with Google Drive
Written by Martins D. Okoi

CloudCross is an open source cross-platform productivity tool that enables the synchronization of local files and folders across several cloud services.

At the moment it has available support for Google Drive, Cloud Mail, Dropbox, Yandex, and Microsoft’s OneDrive.

It is developed by Kamensky Vladimir in pure Qt and contains no third-party libraries. All you require to run it on your workstation is >= Qt5.

Features in CloudCross

  • FOSS – Free & open source and licensed under the GNU GPL v2.
  • Supports several cloud providers including Dropbox, Yandex, and Google Drive.
  • Direct file upload to cloud via URL (optional).
  • Specify file upload priorities for both local and remote synchronization.
  • Automatic bidirectional documents conversion from MS Office and Open Office document format to Google Docs.

Install CloudCross on Linux Systems

CloudCross is available to install via repository on various Linux distributions.

On Ubuntu 17.04

$ sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/MasterSoft24/xUbuntu_17.04/ /' > /etc/apt/sources.list.d/cloudcross.list" 
$ sudo apt-get update 
$ sudo apt-get install cloudcross

On Debian 8

$ sudo echo 'deb http://download.opensuse.org/repositories/home:/MasterSoft24/Debian_8.0/ /' > /etc/apt/sources.list.d/cloudcross.list  
$ sudo apt-get update 
$ sudo apt-get install cloudcross

On Fedora 25

$ sudo dnf config-manager --add-repo http://download.opensuse.org/repositories/home:MasterSoft24/Fedora_25/home:MasterSoft24.repo 
$ sudo dnf install cloudcross
RedHat RHCSA and RHCE Certification Exam Study Ebook

For older and other Linux distributions, visit CloudCross download section.

How to Use CloudCross in Linux

To start using CloudCross you’ll need to authenticate its access to your Dropbox account (or any other cloud service it supports).

  Nuclear - An Electron-Based Music Streaming App for Linux

Do this by running CloudCross with -a option (for provider definition use option --provider PROVIDER_NAME).

In our case, it is Dropbox, so:

$ ccross -a --provider dropbox

As a response, the application will return something like this:

-------------------------------------
Please go to this URL and confirm application credentials
https://accounts.google.com/ServiceLogin?passive=1209600&continue=https://accounts.google.com/o/oauth2/v2/auth?scope%3Dhttps://www.googleapis.com/auth/drive%2Bhttps://www.googleapis.com/auth/userinfo.email%2Bhttps://www.googleapis.com/auth/userinfo.profile%2Bhttps://docs.google.com/feeds/%2Bhttps://docs.googleusercontent.com/%2Bhttps://spreadsheets.google.com/feeds/%26redirect_uri%3Dhttp://127.0.0.1:1973%26response_type%3Dcode%26client_id%3D834415955748-oq0p2m5dro2bvh3bu0o5bp19ok3qrs3f.apps.googleusercontent.com%26access_type%3Doffline%26approval_prompt%3Dforce%26state%3D1%26from_login%3D1%26as%3D54ba027c9bc26031<mpl=nosignup&oauth=1&sarp=1&scc=1

Copy the URL into your browser and follow it, enter your password and select accept.

Next, enter your login and password details like so:

$ ccross -a --provider mailru --login your_login --password=your_password

After this, CloudCross will be ready for use. The next step is to initiate a sync.

Do this by entering ccross or running it alone or with a defined --provider option. i.e.

$ ccross --provider dropbox

Remember to use the --prefer=remote option or --force option (if you’re using >= version 1.0.4) if you want to sync into an empty folder.

Head over to the GitHub page to see a list of the synchronization options OR you can see them within the terminal by running --help.

If you are in need of such an alternative desktop client for Google Drive on Linux then you might just be in luck because you can give CloudCross a test drive while you share the article with your friends. and don’t forget to comment on your experience in the comments section below.

  Kdenlive - An Open Source Non-Linear Video Editor for Pros & Beginners

Join Our Community Of 250,000+ Linux Lovers by liking us on Facebook, or follow us on Twitter, Google+ and Instagram.

If you liked this article, sign up for the fossmint newsletter for handpicked selection of stories from FossMint delivered to your inbox every day.


Top Deals

About the author

Martins D. Okoi

Martins Jr. (Dillivine) Okoi is a graduate of Computer Science with a passion for Linux and the Open Source community. He works as a Web designer & developer, technical writer, and programmer.

  • August Pamplona

    Not working for me on Linux Mint 18.2.

    It installs OK but when trying to run (for example ‘ccross –help’) it claims to need Qt libraries that it thinks I do not have.
    ccross: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.7' not found (required by ccross)
    ccross: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by ccross)
    ccross: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5: version `Qt_5' not found (required by ccross)

    Mint seems to actually have Qt installed but it’s at 5.5 (the latest version at the Ubuntu Xenial repositories). I’m guessing that might be the problem?

    • Martins Divine Okoi

      Yes. It seems your Qt version is having an incompatibility problem.

      Try these links for a solution to your issue:
      https://stackoverflow.com/questions/43707722/cant-run-qt-apps-version-qt-5-not-found

      • August Pamplona

        Thanks, that was helpful! I don’t know if I did things “the right way” but it looks like I’m on the right path to at least having things work.

        I am not even sure of how one is supposed to add a more current install of the Qt libraries than that which is provided with the default Xenial ppa repository. Doing something like ‘sudo apt-get install build-essential qt5-default qtbase5-dev qt5-qmake’ does not work because, again, there’s nothing new enough for ccross at the Xenial ppa. I thus went to https://www1.qt.io/download-open-source/#section-2 and picked an online installer (which I think is geared more toward actual development). This left me with the requisite library files but located at /opt/Qt/5.9.1/gcc_64/lib/ rather than at the normal location of /usr/lib/x86_64-linux-gnu/ . However, after this was done the OS still had no way of “knowing” that they were there and that I wanted those files to be used rather than the ones at /usr/lib/x86_64-linux-gnu . Therefore, if I tried to run something like ‘ccross –help’ it would give me the message I quoted above.

        Hypothetically, I suppose I could have manually set all the libQt5* symbolic links at /usr/lib/x86_64-linux-gnu/ to point to the 5.9 versions of the target files at /opt/Qt/5.9.1/gcc_64/lib/ but, in addition to being horribly cumbersome (and prone to causing mistakes), I suspect it would have resulted in something breaking (either then or at some future time).

        As a result of your reply, I ended up going to https://codeyarns.com/2014/01/14/how-to-add-library-directory-to-ldconfig-cache/ and using their second suggestion. To do this, I added the line ‘/opt/Qt/5.9.1/gcc_64/lib/’ to the file at /etc/ld.so.conf .

        The file on my system was as follows:
        include /etc/ld.so.conf.d/*.conf

        That appears to tell the OS to read files with the .conf extension as found in the related /etc/ld.so.conf.d/ subdirectory to build a path where libraries should be found (which means that I also could have added a .conf file there with that line, as I have seen suggested elsewhere —with the caveat that, as I found out below, depending on how a path is traversed, having the correct directory included does not guarantee proper function).

        Since I did not know what I was doing, I tried both prepending and appending the new library directory in that file so that /etc/ld.so.conf became as follows:
        /opt/Qt/5.9.1/gcc_64/lib/
        include /etc/ld.so.conf.d/*.conf

        or
        include /etc/ld.so.conf.d/*.conf
        /opt/Qt/5.9.1/gcc_64/lib/

        Both succeeded in adding the directory to the path but only the prepending version actually works properly. Apparently, the appended version makes it so that the properly installed (but not current) version is (as expected) found first and then fails when the version check gives something older than what ccross needs.

        • Martins Divine Okoi

          Wow. The time you have put into this issue is awe inspiring. Thanks for your contribution.

          If at this stage your issue hasn’t been resolved I think it is better you report the issue to the developers and let them have a go at it.

          • August Pamplona

            I start from a position of ignorance and I wanted to learn what is going on. Attempting to document it helped me. Also, Google searches from others might lead here and be helpful.

            I’m not yet sure if I like what it does but, yes, I have had a chance to test ccross. It does work.

            I’m still not satisfied that there’s no real way to update the system files for Qt5 to a more current version. That seems weird.

            Thank you for your help as it gave me a start.

Show Buttons
Hide Buttons