Giter VIP home page Giter VIP logo

mchfuse's Introduction

My Cloud Home FUSE file system

MCHFuse is a FUSE file system for mounting Western Digital My Cloud Home devices.

It exposes the main storage area of your device using the WD My Cloud Home Off-Device API.

⚠️ Deprecation notice ⚠️

Western Digital deprecated My Cloud Home SDK/API in favor of direct local access to the device using Samba (SMB) protocol

MCHFuse will continue to work as long as the API it uses remains available; however, it will not receive any further updates.

Prerequisites

To compile MCHFuse, you need at least go 1.13.

To run MCHFuse on OSX, you need osxfuse extension. You can install it with Homebrew using the command:

brew cask install osxfuse

Installing the latest release

To quickly install the latest pre-built binary of MCHFuse, you can execute the following command:

curl -sSfL https://github.com/mnencia/mchfuse/raw/main/install.sh | sudo sh -s -- -b /usr/local/bin

Installing from source

  • Install the Go compiler suite and make; e.g. on Ubuntu:

    sudo apt-get install git golang-go ca-certificates make
  • Then check out MCHFuse project

    git clone https://github.com/mnencia/mchfuse.git
  • Then change directory to the just-checked-out work tree and build it

    cd mchfuse
    make

    After the build, you find a mchfuse executable in the project root.

  • If you want to make mchfuse available as a system command, install it

    sudo make install

Quickstart

You can mount your device using the following command:

cat > mchfuse.conf << 'EOF'
username = "EMAIL"
password = "PASSWORD"
EOF

chmod 600 mchfuse.conf

mchfuse -c mchfuse.conf DEVICE_NAME MOUNT_POINT

The EMAIL and PASSWORD are the ones used to access https://home.mycloud.com/.

The DEVICE_NAME is the name assigned to the device during the initial configuration. If you happen to use a wrong name, the resulting error message contains the list of valid discovered device names.

Footnote: semi-automatic device names contain a single quote. To enter such a string on a commandline you need to enclose it in double quotes. (No amount of escaping inside single quotes seems to work these days).

Replace MOUNT_POINT with the actual path where you want to see the content of the device. (e.g. /mnt/mydevice)

After the last command, you should see the content of the mounted device available in the mount point folder.

NOTE: the filesystem will be only accessible from the user who executed the mchfuse command unless you specify the flag --allow-other either on the command line or in the configuration file (i.e. allow-other = true)

You can unmount the device using the usual umount command:

umount MOUNT_POINT

Usage

Usage: mchfuse [flags] deviceName[:devicePath] mountpoint
  -c, --config string     config file path
  -u, --username string   mycloud.com username
  -p, --password string   mycloud.com password
  -a, --allow-other       allow other users
  -U, --uid int           set the owner of the files in the filesystem (default disabled)
  -G, --gid int           set the group of the files in the filesystem (default disabled)
  -f, --foreground        do not demonize
  -d, --debug             activate debug output (implies --foreground)
  -h, --help              display this help and exit
  -v, --version           display the version and exit

All the options can be specified in a configuration file with the format:

flag-name = value

You can pass the configuration using the --config flag, otherwise mchfuse loads the options from /etc/mchfuse.conf if it exists and is readable.

If you do not specify a UID or a GID, it inherits the missing setting from the user that runs the command.

The deviceName is the name assigned to the device during the initial configuration. If you happen to use a wrong name, the resulting error message contain the list of valid discovered device names.

By default, MCHFuse mounts the root of the device, but you can append a devicePath after a : separator, to start from a subdirectory. (e.g. myDevice:linuxData uses the linuxData folder inside myDevice root)

The mountpoint is any directory accessible from the current user. If the path doesn't exist, MCHFuse tries to create it.

NOTE: mchfuse demonize itself, eventual errors raised by the background process will end up in the syslog with priority NOTICE and tag "mchfuse".

Persistent Mounts

To keep your volume mounted on your system through reboots, create a persistent mount. This is accomplished by updating your system's /etc/fstab file.

Update fstab

On a new line, add a mount directive to your /etc/fstab file which matches the following syntax:

deviceName[:devicePath] mountpoint fuse.mchfuse noauto,x-systemd.automount,_netdev,allow_other 0 0

You can specify any option available on the command line adding it in the field containing noauto,x-systemd.automount,_netdev,allow_other separated by commas. Please avoid using explicit username and password parameters, because they will be readable both in /etc/fstab file and in the system process list. Use the default configuration file /etc/mchfuse.conf or specify one using config option instead.

NOTE You will need to use sudo privileges to edit this file from your limited user.

After setting the line in /etc/fstab, reboot your system. Then, list the contents of the mounted directory. You should see the content of your device.

Maturity

This project is in alpha state. I've made it to access my device from Linux, and it works quite well for me. There are many things to improve, starting from performances.

Known Limits

  • Write performances need improvements

TODO

  • Performance tests
  • Device list command
  • Support for extended attributes
  • More documentation
  • More testing

Feedback

You can send your feedback through the issue tracker

License

Copyright 2020 Marco Nenciarini [email protected]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Disclaimer

I'm not affiliated in any way with Western Digital.

mchfuse's People

Contributors

dependabot[bot] avatar genzj avatar jlcordeiro avatar mnencia avatar rewolff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mchfuse's Issues

Make access to Family directory

First of all, thank you. You've made this device working. We use the cloud at work to share data among colleagues. While I was the only on on linux, it was a pain only for me. Your app is really promising. However my situation can be solved only by accessing Family folder. Are you planning to add this to your application? Is it even possible?

Thanks

Works only with --foreground or --debug

Thank you for this project. I cloned and installed mchfuse.
It works when I execute with --debug: the directory appears in a file browser (nautilus) and also the directory is not empty.
mchfuse --debug -c .local/lib/mchfuse/mchfuse.conf "Cloudia" ~/Cloud

When I run without --debug, keeping the rest of the command exactly the same, nothing is mounted. The directory is empty and the file browser doesn't show any new directory.
mchfuse -c .local/lib/mchfuse/mchfuse.conf "Cloudia" ~/Cloud

Any idea what might be stopping to mount the drive without debug mode?

Maybe the following is not relevant:
after I stop the connection with Ctrl+C the drive cannot be unmounted with umount, I use fusermount -u.

development suggestion.

Thank you for your hard work but I have a tiny suggestion.
I have found a way to automount on startup
first:
create file
.config/systemd/user/mchfuse.service

[Unit]
Description=NetStorage MCH fuse mounter
Wants=network.target
After=network.target

[Service]
ExecStartPre=sleep 10
ExecStart=mchfuse -f -c %h/.config/mchfuse.conf  NetStorage %h/NetStorage

[Install]
WantedBy=graphical-session.target

then execute
systemctl --user start mchfuse.service
systemctl --user enable mchfuse.service
systemctl --user status mchfuse.service

and reboot
now it will automount on startup

user may need to chnage the device name and mount path as needed and save the conf file in ~/.config

:: EDIT ::

AFTER SLEEP MCH not working so I did unmount before and remount after sleep

mchfuse-sleep.service

[Unit]
Description=Unmount before sleep
Before=sleep.target
Requires=mchfuse.service
Conflicts=sleep.target

[Service]
Type=oneshot
ExecStart=umount %h/NetStorage
RemainAfterExit=No

[Install]
WantedBy=graphical.target

mchfuse-wake.service

[Unit]
Description=remount MCH after wake up from sleep
After=hibernate.target
After=hybrid-sleep.target
After=suspend.target
After=suspend-then-hibernate.target
Requires=mscfuse.service 
[Service]
Type=simple
ExecStart=/bin/systemctl --no-block --user restart mchfuse.service

[Install]
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
WantedBy=suspend.target
WantedBy=suspend-then-hibernate.target

the user can enable using

systemctl --user enable mchfuse-wakeup.service
systemctl --user enable mchfuse-sleep.service

now it automount after startup and unmount during sleep and remount in wakeup

cannot rename files or folders using nautilus

Using nautilus 41 nautilus complains that mchfuse mounted disk only that file name or folder name is too long
i cannot rename or create folders only inside the mchfuse other mounts works fine
is there a fix ?
gnome-shell-screenshot-PGVJF1

Write performance are very slow

Here is an example of the required to write 100Mb of random data

mnencia@spark:~/tmp/mchfuse$ time dd if=/dev/urandom of=test.bin count=100 bs=1M
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 1175.19 s, 89.2 kB/s

real	19m36.021s
user	0m0.000s
sys	0m0.721s
mnencia@spark:~/tmp/mchfuse$ time dd of=/dev/null if=test.bin count=100 bs=1M
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 18.1986 s, 5.8 MB/s

real	0m18.201s
user	0m0.000s
sys	0m0.126s

I suppose that the issue resides in the size of chunks from the kernel interface. With the current implementation, every chunk requires a separate HTTP request. We can solve the problem by implementing some local buffering.

Radarr writing issue

I am trying to use radarr but it says folder is not writable when selecting the plex folder on MCH. Any ideas?

Thanks in advance

Not working, no error message

Hi!

I have installed and followed the guide to mount the drive, but it is not working and showing no error. How can I find out what is happening?

Thank you, great work!

Bruno

Connection unpredictably swaps between InternalDNSName/Proxy/PortForward

I've been using this for a few weeks now and I'm really pleased that someone has taken the time to show some love for linux users. One issue I'm noticing is that it appears to unpredictably swap between connection types on file read which leads to varied performance. For example, when copying a 10ish GB file it will begin at true LAN speed, then adjust to a far slower speed as low as 700-800 KPPS (greatest sustained speed of my connection with upload/download in use), later on it will then adjust back to LAN and increase up to full transfer rate. This can also vary with sometime being full and others being slow.
What conditions need to be met for it to swap connections? Also is there the possibility of adjusting the code to have an Internal only/LAN version as I'll only use it on LAN.
I've attempted to refactor the code however I've got little experience with Golang and can't get the correct syntax to work.

Mounted directory seems to be empty

Hello everyone!
First of all, thanks a lot for this project!

I'm trying to mount my cloud on Linux Ubuntu 20.04, it seems to fail with no clear output unfortunately.
Trying to run even just a "ls" on the mount point results in an empty directory.
Is that something I'm doing wrong?

Here's the command i'm running:
mchfuse -u [email protected] -p XXPASSWORDXX -a --debug SanPaolo /mnt/sanpaolo

Here's the debug:

Starting MCHFuse version 0.3.2+dev6 (2021-08-06, eac9b6b)2021/09/30 18:09:28 rx 2: INIT n0 {7.31 Ra 0x20000 POSIX_LOCKS,DONT_MASK,SPLICE_MOVE,FLOCK_LOCKS,POSIX_ACL,NO_OPENDIR_SUPPORT,EXPORT_SUPPORT,READDIRPLUS,WRITEBACK_CACHE,CACHE_SYMLINKS,EXPLICIT_INVAL_DATA,ABORT_ERROR,ASYNC_READ,ATOMIC_O_TRUNC,BIG_WRITES,SPLICE_READ,IOCTL_DIR,ASYNC_DIO,NO_OPEN_SUPPORT,MAX_PAGES,SPLICE_WRITE,AUTO_INVAL_DATA,READDIRPLUS_AUTO,PARALLEL_DIROPS,HANDLE_KILLPRIV} 
2021/09/30 18:09:28 tx 2:     OK, {7.28 Ra 0x20000 ASYNC_READ,BIG_WRITES,NO_OPEN_SUPPORT,AUTO_INVAL_DATA,PARALLEL_DIROPS,READDIRPLUS 0/0 Wr 0x20000 Tg 0x0}
2021/09/30 18:09:28 rx 4: LOOKUP n1 [".go-fuse-epoll-hack"] 20b
2021/09/30 18:09:28 tx 4:     OK, {n18446744073709551615 g0 tE=0s tA=0s {M0100644 SZ=0 L=1 0:0 B0*0 i0:18446744073709551615 A 0.000000 M 0.000000 C 0.000000}}
2021/09/30 18:09:28 rx 6: OPEN n18446744073709551615 {O_RDONLY,0x8000} 
2021/09/30 18:09:28 tx 6:     OK, {Fh 18446744073709551615 }
2021/09/30 18:09:28 rx 8: POLL n18446744073709551615 
2021/09/30 18:09:28 tx 8:     38=function not implemented
2021/09/30 18:09:28 rx 10: FLUSH n18446744073709551615 {Fh 18446744073709551615} 
2021/09/30 18:09:28 tx 10:     OK
2021/09/30 18:09:28 rx 12: RELEASE n18446744073709551615 {Fh 18446744073709551615 0x8000  L0} 
2021/09/30 18:09:28 tx 12:     OK
2021/09/30 18:09:37 rx 14: GETATTR n1 {Fh 0} 
2021/09/30 18:09:37 tx 14:     OK, {tA=1s {M040755 SZ=0 L=0 0:0 B0*4096 i0:0 A 1621620831.697000 M 1621620831.697000 C 1621620831.697000}}
2021/09/30 18:09:37 rx 16: OPENDIR n1 
2021/09/30 18:09:37 tx 16:     OK, {Fh 1 }
2021/09/30 18:09:37 rx 18: READDIRPLUS n1 {Fh 1 [0 +4096)  L 0 DIRECTORY,NONBLOCK,0x8000} 
2021/09/30 18:09:37 tx 18:     OK
2021/09/30 18:09:37 rx 20: RELEASEDIR n1 {Fh 1 DIRECTORY,NONBLOCK,0x8000  L0} 
2021/09/30 18:09:37 tx 20:     OK

Unable to write files to connected MyCloudHome device

i have installed mchfuse and have got it mounted and working. i can browse and open files. however, i cannot write files onto the disk. it says there is no free space. however, when i open the same device through the web browser or though wd's app, i can see i still have more than enough space to copy the file.

see attached screenshots for more info. im not sure if this is just an issue with my machine or if other people are having this problem as well.

this is what i run in the terminal:

/Users/***/Desktop/mchfuse_0.4.0_Darwin_arm64/mchfuse -c '/Users/***/Desktop/config.conf' MCH-NAS /Users/***/Desktop/MCH-mnt/ -d

i am running an M1 Macbook Air with Monterey 12.3.1

Screenshot 2022-04-21 at 9 07 57 pm

Screenshot 2022-04-21 at 9 08 25 pm

Screenshot 2022-04-21 at 9 08 46 pm

Screenshot 2022-04-21 at 9 18 28 pm

Bad read performance on x86_64 Linux (Arch Linux)

It seems that there is not just write performance problem, but the read problems with fuse too.
I'm trying to play movie from cloud by mpv and checking the state of mpv cache.
There is visible that the cache has problem with filling, there is cca 1-2s / 5-20MB download speed, which is very poor, it is not possible to play anything.
But sometimes it "JUMPS" and there is big download for example 60s / 150MB. This is not problem of mpv, but the reading speed or some buffer lengths problems. But it seems that this is a bug, because this jump between slow and fast reading is very visible in the cache processing!

Operation not supported

Hello there.

I am finally able to use this mchfuse on my Ubuntu 18.04 with a compiled version. The binary version seems to have an error which status code 401. You may want to check that one line bash script. But that not the case here since I can compile it.

The issue here is when I try to modify/edit the file in my drive, I got an error such as Operation not supported. The simple one is I use nano to edit the file inside that drive and got the error.

The other one is, I cannot open any files in that drive. I have set the directory permission with my username and group, and run mchfuse as my user, not root.

Can you check why this happened? I'm very happy to see this project. Thank you for your good work!

Compiling on older Ubuntu.

On Ubuntu 18.04 we had the problem that we had to "go get" all the dependencies manually.
Also, the "go get github.com/hanwen/go-fuse/v2/fs" didn't work. We removed the "v2" in the "go get" command and also in a bunch of places in the sources. I could provide a pull request.... but: it seems this was unnecessary on ubuntu 20.04, so maybe you want to decide: that's too old, not supported, don't do that then.
The go on 18.04 did not recognize %w keywords in the error messages. Changed to %v the package compiled.

On ubuntu 16.04 we couldn't get it to compile at all. We just copied the compiled binary from 18.04.

Just FYI: If you want to decide: " Whoa, way too old, not going to bother with that" , then that's fine with me... .

Error code 403 and 429 logging in

Hi,
Just grabbed the binaries and trying this, but it will not let me sign in.
MCHFuse version 0.4.0 (2022-02-20T11:44:24Z, 40975bd)

When running the login it fails as follows:
# mchfuse --debug -c /etc/mchfuse.conf Mycloud /media/WD-cloud 2022/05/09 09:14:51 Failure signing in My Cloud Home account: status code 403 logging in on https://prod.wdckeystone.com/authrouter/oauth/token: unexpected status code
The credentials in /etc/mchfuse.conf are correct and enclosed in double-quotes. I've also tried passing on the command line username/password and same issue. My username and password don't have any unusual characters in, etc.
After a few attempts I then get error:
# mchfuse --debug -c /etc/mchfuse.conf Mycloud /media/WD-cloud 2022/05/09 09:15:13 Failure signing in My Cloud Home account: status code 429 logging in on https://prod.wdckeystone.com/authrouter/oauth/token: unexpected status code
And I get an email from WD stating my account has been blocked due to incorrect sign-in attempts:
`

We detected a suspicious login attempt from XX, XX using the IP Address: X.X.X.X
`
(It then lets me unblock it, which I then do)
So it suggests it's hitting the WD auth servers, but for some reason getting a 403 forbidden error so not authenticating correctly. Not sure what else it could be!
Thanks for your help.

Fails to perpetually mount

Works fine, but stops working after a few seconds. I either get "cannot access : no such device" or "Transport endpoint is not connected"

Inefficient use of http.Client

The current implementation creates a new http.Client for every request, but he http module documentation says

Clients and Transports are safe for concurrent use by multiple goroutines and for efficiency should only be created once and re-used.

Storing the http.Client in the Client structure should improve performances.

Encrypt password in mchfuse.conf?

I'm not a huge fan of having an unencrypted password living on my filesystem. Is there a way to encrypt the password in mchfuse.conf, such that it will continue to properly authenticate?

Maybe this is a question for the actual WD My Cloud Home devs?

Cloud source directory

Hello,
I already access to my cloud home. It seems that the user/pass and deviceName works!
But I don't know how to find correct cloud home source directory which is required. How can I find this path? For example I have standard records in the plex directory which is installed on the device in plex folder. But I expect that it is not directly in the root folder, there can be much more complex path. But I cannot find the full directory structure.

Problem Logging In

Good evening,

When logging in, I get:
mchfuse MyCloud /mnt/mycloud --debug
2021/07/29 19:54:45 Failure signing in My Cloud Home account: status code 403 logging in on https://prod.wdckeystone.com/authrouter/oauth/token: unexpected status code

after a while I started getting:
sudo mchfuse MyCloud /mnt/mycloud --debug
2021/07/29 19:58:15 Failure signing in My Cloud Home account: status code 429 logging in on https://prod.wdckeystone.com/authrouter/oauth/token: unexpected status code

How does one handle special characters in the /etc/mchfuse.conf file?

Nice work!

Nice work, my friend!
I got this working with a My Cloud Home Duo on Ubuntu 20.04.
I just need to get a permission issue worked out when trying to browse the file system, but other than that it's working well.

Thanks for your effort.
Scott

[INFO] Package created for ArchLinux

Just to let you know that I have created a package for ArchLinux.

For instance, if you want to install it and you use yay, you would do:

$ yay -S mchfuse-bin

I tested it in x86_64 and the RPi4 (armv7h). The package references the binaries for: x86_64, aarch64, armv7h, armv6h, armv5h.

NOTE: the binary installs in the RPI4 and I can execute, but for some reason I don't manage to mount the filesystem.

It will install the binaries provided in this repository and it will create a template for /etc/mchfuse.conf.

I hope this helps others.

Fail to login ubuntu 20.04

I tried to login using both compile from source and latest release and I get errors as follows
./mchfuse -c mchfuse.conf NetStorage ~/mch/ns/
2020/06/07 19:41:14 Failure signing in My Cloud Home account: Post "https://wdc.auth0.com/oauth/token": net/http: TLS handshake timeout
my username and passowrd contains numbers ans letters and i had to encapulate both in "" to force mcfuse to accept it or it will complain of username and password

Usage Guide

Hello!
Is it possible with your lib direct access to WD My Cloud Home from linux?
If yes, can you describe small user guide? Your notes are good, but I don't know where can I get user name and password, etc. Because I have just email and password to web cloud app and to WD Discovery app.
Can I use IP address instead of DEVICE_NAME? And which dir destination can I used in the command, root or some "volume" dir?
I need more information for successful usage of your lib, thanks! I'm waitint to this possibility almost 2 years!!!

Destination not reachable every 24 hours

I use manual mount because I couldn't configure /etc/fstab for automatic mount.
Unfortunately the destination is not reachable every 24 hours.
I have to do umont first and then send the mount command again.

Possible way to compile mchfuse for raspi ARM.

Is it possible to compile your GO lang code for raspi ARM processors?

I tried it on raspi 4, but I've got error:
mch/client.go:82: Errorf format %w has unknown verb w
mch/client.go:128: Errorf format %w has unknown verb w
mch/client.go:209: Errorf format %w has unknown verb w
mch/device.go:111: Errorf format %w has unknown verb w
mch/device.go:171: Errorf format %w has unknown verb w
mch/device.go:220: Errorf format %w has unknown verb w
mch/device.go:264: Errorf format %w has unknown verb w
mch/device.go:275: Errorf format %w has unknown verb w
mch/files.go:63: Errorf format %w has unknown verb w
mch/files.go:90: Errorf format %w has unknown verb w
mch/files.go:135: Errorf format %w has unknown verb w
mch/files.go:161: Errorf format %w has unknown verb w
mch/files.go:231: Errorf format %w has unknown verb w
mch/files.go:249: Errorf format %w has unknown verb w
mch/files.go:278: Errorf format %w has unknown verb w
mch/files.go:333: Errorf format %w has unknown verb w
mch/files.go:372: Errorf format %w has unknown verb w
mch/files.go:408: Errorf format %w has unknown verb w
mch/files.go:429: Errorf format %w has unknown verb w

github.com/mnencia/mchfuse/fsnode
fsnode/fsnode.go:166: Errorf format %w has unknown verb w

Go was correctly installed on the raspi.

Confusing error message when device is off.

When the device is off, mchfuse produces:
2020/07/22 12:34:13 Failure searching for path : status code 503 retrieveing file metadata root at https://prod-xxxxxxxxxxxxxxxx.mycloud.com/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/sdk/v2/files/root?fields=id%2CeTag%2CparentID%2CchildCount%2CmimeType%2Cname%2Csize%2CmTime%2CcTime: unexpected status code
as the error message. The message could be improved to allow "mortals" to understand what's going on.
Probably something like "couldn't reach target device".

Not mounting unit

Hello I just installed the software, but when y run the command "sudo mchfuse -c mchfuse.conf 'Francisco_MyCloud_Home' '/mnt/Mycloud' never happens. No error and no mounted partition. I tried without quotes, with single and double quotes and have the same behavior.

Working in Manjaro Linux, latest version of mchfuse at 7-7-2021
Thanks

Failure signing in My Cloud Home account: status code 429

Hello,

MCHFuse was installed using the pre-built binary on an aarch64 machine running Ubuntu 20.04.2.

I get the following error message "Failure signing in My Cloud Home account: status code 429 logging in on https://prod.wdckeystone.com/authrouter/oauth/token: unexpected status code"

I double checked the username and password which are working well on https://home.mycloud.com and tried using a configuration file or passing username and password in the command line always getting the same error.

Debug option didn't gave any additional information.

Any help would be greatly appreciated, please let me know if any more information is necessary to understand what is going wrong.

Best regards

Francois

Can't connect: status code 401

Today I wanted to access the company disk from my home office, but this error has displayed instead of any mounting.

2020/10/15 14:44:39 Failure signing in My Cloud Home account: status code 401 logging in on https://prod1.mycloud.com/authrouter/oauth/token: unexpected status code

Doesn't work.

After some issues compiling (See #12 ) ... we got a binary....

But on Ubuntu 18.04 when we issue the command to mount the device, we get no error message but then no mount has happened either. The specified directory remains a local directory, cannot be umounted because nothing IS mounted.

On Ubuntu 16.04 and 20.04 that we tried... We get to see the directory structure, but any access to a file is met with: "Operation not supported" as the error message.... A new directory and new file shows up on the other machines, but now with filesize zero.
(the other files were created with the mch app on android).

P.S. We see precisely the same behaviour with the precompiled binary. We noticed that option after going through the whole compile shebang....

init: 19=operation not supported by device

Hi Marco,
I'm on mac, I managed to download and compile the mchfuse binary, but when i try to connect from the command line:

sudo ./mchfuse -u [email protected] -p "mypassword" "My Own Cloud Home Duo" /Users/myuser/tmpmnt/ -d

I get

19=operation not supported by device

User/pwd should be correct, because at first I put the wrong one and it was correctly telling me which one was available ... any hint?! I tried also without sudo, same outcome ...
Thanks and best,
-g

Drive mounts but not displayed in gui

Hi, Thanks for taking the time to make this.

I have managed to get this to mount in Raspberry Pi and i can view the contents of the drive within terminal, but i can't see anything in file explorer on the pi. It's blank and when i refresh it says it's not valid.

Any suggestions please?

Thanks

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.