handyman5 / acd_fuse

FUSE filesystem driver for Amazon Cloud Drive
Other
186 stars 23 forks source link

Unable to view the same data in filesystem as displayed in ACD web interface #10

Open tooj opened 9 years ago

tooj commented 9 years ago

I am able to successfully log in and mount my Amazon Cloud Drive as a FUSE filesystem. However, browsing the file system and the Amazon Cloud Drive web interface yield different results. When the service first allowed the unlimited trial, I used the Mac client to upload a video to test the speed. I can see that video in the web interface, but it appears nowhere in the file system.

I am also having nothing but problems trying to upload files to my Amazon Cloud Drive by copying them to the file system. I've tried rsync and cp. I've tried directories and single files. The mounted file system shows the copied files, but they never appear in the Amazon Cloud Drive web interface. My network activity doesn't change after I cp a file from my local drive to the ACD FUSE drive, so it doesn't appear to upload, even though the /tmp/acd_fuse directory gets full/populated.

Anyone else having similar issues?

conihorse commented 9 years ago

Hi - I can't recreate this - I am able to view the video files I've uploaded (into the preexisting Videos dir).

handyman5 commented 9 years ago

It is definitely the case that acd_fuse submits the files placed in its directory to Amazon; however, in investigating this issue I've also noticed that they appear inconsistently between the filesystem and the web interface. For example, I created a file in the filesystem and it appeared in the web UI, but I uploaded a file in the web UI and it did not propagate to the filesystem.

I tried checking with the acdlist.py script and the uploaded file did not appear there either, so whatever screen-scraping mechanism that library is using to get at the files is not able to see files that are uploaded through the web UI (or perhaps, not able to see them immediately). It looks like the amazon-cloud-drive library implements an older version of the Amazon Cloud Drive API; it has request URLs that look like https://www.amazon.com/clouddrive/api/?ContentType=JSON&objectId=885b61a8-8bec-479a-8450-54666956cbf6&Operation=listById&nextToken=0&customerId=XXNOPEXX&_=1428396054, while the current web UI has URLs that look like https://www.amazon.com/drive/v1/nodes?customerId=XXNOPEXX&resourceVersion=V2&ContentType=JSON&limit=1&sort=%5B%22modifiedDate+DESC%22%5D&filters=status%3A(AVAILABLE*+OR+TRASH*). It would not surprise me one bit if these two APIs were not meant to interoperate directly, and if it caused synchronization issues to attempt to use them together.

This may not be a fixable problem without a substantial rewrite of the amazon-cloud-drive library.

tooj commented 9 years ago

@handyman5 Have you seen this project?: https://github.com/yadayada/acd_cli Perhaps it's something that could be included in the back-end of this one instead of a screen-scraper.

AlexCzar commented 9 years ago

+1 for using https://github.com/yadayada/acd_cli, I have the same problem: my files are not displayed via acd_fuse nor via pyacd, they do appear in acd_cli output

As there is not much activity here, I've forked the repo and will try to reimplement it using acd_cli. I haven't ever developed in python, so there will be some time before (and if) that becomes available. If there are any python developers who wants to do the same, please come forward and relieve me of this undertaking :1234:

alex036 commented 9 years ago

I'm experiencing the same issue. I created a file on the filesystem and it showed up in the ACD webui, but when uploading to the webui, files don't show up on the filesystem. Is there any way to force a sync?

yadayada commented 9 years ago

@AlexCzar, hold your horses. I am currently implementing FUSE with acd_cli. Most things should already be there - fast node cache, syncing, path resolution, chunked downloads etc.

tooj commented 9 years ago

@yadayada this is excellent news! I currently use your acd_cli solution and it keeps improving. I can't wait to try out the FUSE implementation!

handyman5 commented 9 years ago

@yadayada that is indeed great news. Is there anything I can do to help? I don't have a lot of time to maintain this tool myself, but I hate to leave everybody in the community here hanging, so if your tool becomes a complete replacement that seems like it would help a lot of people.

yadayada commented 9 years ago

@handyman5 If you want to implement the write operation, that would be nice ;-) I'm not sure when I will get around doing that, but I think it's feasible to do a non-cached sequential write of a whole file with the current API.

AlexCzar commented 9 years ago

@yadayada awesome news, thanks!

Thinkscape commented 9 years ago

Currently, no write support on acd_cli and acd_fuse doesn't seem to work at all (folders visible but files are not, uploading doesn't work etc.)

tooj commented 9 years ago

@Thinkscape I have no problems with the fuse implementation of acd_cli. Write support notwithstanding, it supports reading files and folders. yadayadayada is working on write support. I gave up on acd_fuse a while ago (it seems like the author did too).