- Notifications
You must be signed in to change notification settings - Fork13
MDKPredator/degoo_drive
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Because Degoo does not provide a way to use their application as a virtual drive, like Google Drive, I have created a project to make this possible, thanks topyfuse3 andDegoo CLI. Thiswill not work on Windows, only available in unix environments
- pyfuse3 requires thelibfuse3-dev andfuse3 libraries to run. These can be installed via
apt install -y libfuse3-dev fuse3(Available fromUbuntu 20.04) - Degoo CLI requirespython 3.8 and dependencies included inrequirements.txt
- And this project requires both of the above
apt updateapt install -y --no-install-recommends gitapt install -y libfuse3-dev fuse3apt install -y python3.8apt install -y python3-pipapt install -y pkg-configapt install -y python3.8-devpython3.8 -m pip install appdirs wget python-magic humanize humanfriendly python-dateutil requests clint requests_toolbelt pyfuse3 pyjwt
All in one:
apt update&& apt install -y --no-install-recommends git libfuse3-dev fuse3 python3.8 python3-pip pkg-config&& python3.8 -m pip install appdirs wget python-magic humanize humanfriendly python-dateutil requests clint requests_toolbelt pyfuse3
You must clone this repositorygit clone https://github.com/MDKPredator/degoo_drive. Ensure you have installed git:apt install git
Rundegoo_login to create the directory with the configuration to access Degoo. Normally it will be created in~/.config/degoo. In this path you should have the following files:
- default_properties.txt
- schedule.json
- credentials.json
- keys.json
- overlay4.txt
Edit filecredentials.json to enter your credentials (email and password)
IMPORTANT: If you log in with Google (Sign in with Google button) this method does not work. You will have to change it to login with your email and a password.
First you must clone this project withgit clone https://github.com/MDKPredator/degoo_drive. You can then mount your unit by running the commandpython3 fuse_degoo.py. By default, drive is mounted in/home/degoo
The following options are available:
--mountpointPath where drive will be mounted. Default is/home/degoo--degoo-emailEmail to login in Degoo--degoo-passPassword to login in Degoo--degoo-refresh-tokenUsed when token expires. Alternative if login fails--degoo-pathDegoo base path to mount the drive. Default is root/--cache-sizeSize of downloaded chunk--debugDisplays logs--debug-fuseDisplays the filesystem logs--allow-otherAllows other users to access files--refresh-intervalTime, in minutes, that Degoo information is refreshed. Default is 10 minutes--disable-refreshDisables the refresh--flood-sleep-timeWaiting time, in seconds, before resuming requests once the maximum has been reached--flood-max-requestsMaximum number of requests in the period--flood-time-to-checkRequest control period, in minutes--change-hostnameDisable change domain for media files. Default isfalse--modeHow to read the content.Lazy (default) reads as browsing (recommended for large content).Eager to read all content the first time--config-pathPath to the configuration files. Default is~/.config/degoo/--plex-split-file(Experimental) Check if there are split files to cache the first part
This project includes aDockerfile to mount the virtual drive. You will only need to modify thecredentials.json file before creating the image:
- Clone this repository:
git clone https://github.com/MDKPredator/degoo_drive - Modify
degoo_config/credentials.json - Create the image
docker build -t degoo_drive . - Run container
docker run -dit --privileged --name degoo degoo_drive
Here are some examples of how to pass arguments to the mounting drive
- Run container with debug:
docker run -dit --privileged --name degoo degoo_drive --debug - Run container bypassing login (token and refrehs token):
docker run -dit --privileged --name degoo degoo_drive --debug --degoo-refresh-token myRefreshToken - Change default mountpoint:
docker run -dit --privileged --name degoo degoo_drive --debug --mountpoint /degoo_drive
You can use the docker file (Dockerfile-plex) included in the project to mount the container with the latest version of plex, and the virtual drive. Just follow these steps:
- Modify thekeys.json file to includeRefreshToken
- Create the image:
docker build -f Dockerfile-plex -t plex_degoo_drive . - Create the volumes in host
- Create the container:
docker create --name=plex --net=host --memory="2gb" --privileged --cap-add SYS_ADMIN --device /dev/fuse -e VERSION=latest -e PUID=1001 -e PGID=1001 -e TZ=Europe/Madrid -v /path/to/volume/plex/config:/config -v /path/to/volume/plex/tvshows:/data/tvshows -v /path/to/volume/plex/movies:/data/movies -v /path/to/volume/plex/transcode:/transcode plex_degoo_drive - Go tohttp://localhost:32400/web/index.html
If login fails with a429 Too Many Requests, or similar, you can bypass it by using directlyrefreshToken provided by Degoo once logged in. To do so, go tohttps://app.degoo.com/login and open the developer tools to see this data.
Uploading files to Degoo (cp andmv commands) does not work 100% of the time, so it is recommended to use thecp command to avoid losing files. In case the upload is unsuccessful, if you have enabled the logs, you will see the following message:WARN: file [name_of_file.ext] has not been uploaded successfully
About
Mount a virtual drive with Degoo content
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors6
Uh oh!
There was an error while loading.Please reload this page.
