GithubHelp home page GithubHelp logo

degoo's Introduction

Degoo CLI Util(s)

Degoo are a cloud storage provider based in Sweden, who provide fairly good phone apps and web interface along with affordable plans, of up 10 TB storage.

https://degoo.com/

Unfortunately the apps (phone and web) are pitched to a very particular demography of user, and are rounded with great tools for storing photos, videos, music and documents in the cloud.

This makes it very difficult to use the cloud storage for flexible backup of data.

Here's a fairly impartial review you might find useful: Degoo Review 2020 - This Is Why You Shouldn't Use It

Support seems hit and miss. They are a small company: https://degoo.com/about

And have (only) two people on Customer Support so if they have 15 million users, then clearly they'd struggle to deliver customer support well. It's called outgrowing your boots.

They have also chopped and churned, originally using P2P storage then moving away from that after a load of poor reviews. They had a Windows desktop client, but no more. They are still, it seems clearly trying to find their niche in this market and establish a service model that secures a lasting future.

My interest is in keeping server data backed-up in the cloud.

And so, by studying their web app (which is written in Angular JS and managed with Webpack, communicating with a backend over a graphQL interface) I've written a simple CLI (command line interface) to the cloud storage.

It is written in Python and being developed under Linux. Being Python it's very likely highly portable, but there may be some small issues running on other systems. The only issues I can think of currently are:

  • It tries to use os.sep intelligently to give you a natural feel if say you're using Windows where it's \ rather than Linux of MacOS where it's /. But that's untested so far on Windows.

  • It uses python-magic to determine file types (needed for upload, as the API seems to demand this metadata). That may have some system dependencies.

  • It uses a custom patched version of python-wget as the one that pip provides is lacking some crucial features and the package seems sadly unmaintained and dead to the world. This patched version stands as an open Pull Request on the upstream with no action.

A work in progress, it's not complete but at present it can reliably:

  • log you in (if you provide valid credentials)

  • list files and folders on the cloud drive (ls, tree)

  • navigate the cloud drive (cd, pwd)

  • manipulate the cloud drive (mkdir, rm)

  • download files from the cloud drive (get)

  • upload files to the cloud drive (put)

Not implemented yet:

  • Top Secret Cloud Storage

    • Degoo provide a good security focused solution with their Top Secret vault, that they claim is 100% NSA proof. Only available on their phone app for now, not the web app. Will take some effort to analyze the client-server interactions to provide CLI support.
  • Device creation

    • Top level directories on your Degoo cloud drive are reserved for devices. Different licenses provide different numbers of devices. Currently you can delete a device but there is no facility for adding one again, or if you're an Ultimate license holder adding new devices (which should be possible, but the web interface provides no such facility).

Using these tools

This is a work in progress (WIP) still and may or may not work well. Works for me ;-). But here are some quick tips if you're wanting to try it.

  • Requires Python 3.9

  • Requires the python packages in requirements.txt, install them with pip install -r requirements.txt

  • The core of it is all implemented in three files currently:

    • degoo/API.py which defines the basic Python API
    • degoo/util.py which defines the functions for a CLI
    • commands.py which implements a command line tool (that is sensitive to its name)
  • To build the command line tools there:

    • build.py - which just creates a pile of links to commands.py named as a command line tools. That's a dirty trick of sorts I used to give me a pile of CLI commands to work with so I can write bash scripts etc.
  • There's no system installer yet, it's all working in the local dir as I work on it. I haven't yet put this to use as a serious backup strategy and am working on some areas to get there (slowly, when time permits)

  • If you want to debug, personally I can't recommend Eclipse+PyDev more highly, that's what I use. PyCharm is popular but freemium; it might be easier to get started with.

  • If you're wanting to look at how it's been engineered:

    • Surf to degoo.com in Firefox or Chrome
    • Open the Developer tools (F12)
    • Click the Network tab
    • Log in to degoo and watch the traffic.
    • You can save all that into text files and then start diagnosing.

degoo's People

Contributors

bernd-wechner avatar mdkpredator avatar growtopiajaw avatar kcchouette avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.