[Tool] Download files from Bitcasa (BitcasaFileLister)

BitcasaFileLister - A better way to migrate from Bitcasa

 

The BitcasaFileLister is a two part tool. One is a web application that allows you to get bitcasa base64 encoded url's. The second is python command-line tool that allows you to easily download all of your file via the bitcasa api.

This is done using the python wget module and allows you to specify how many threads (concurrent downloads) you want to run at a time.

The idea for this came to me when Bitcasa first announced the price hike, but given the recent events I have re-kindled the project.

 

For the latest updates, support, and questions please see the thread in the bitcasa forums.

 

Features:

  Download whole directories at a time, file-by-file.

  For migrations to network storage, download to temp local directory first, then copy to network storage.

  Max out download bandwidth via concurrent downloads.

  Retrieve bitcasa base64 encoded folder/file paths.

  Download single file's via api.

  Retry failed downloads.

 

Future:

  Upload directly to cloud providers (google drive, opendrive, copy)

  Python web application for scheduling and management

  Copying lists of files instead of entire directories

I am only getting my Access Token not any base64 directory list. Am I missing something?

Sorry about that. The base64 path was specified by "UUID path" column. I have changed it so that it now says "base64 path."

Shouldn't this go into either the devs/general forum, or the channel forum?

/T

Shouldn't this go into either the devs/general forum, or the channel forum?

/T

I agree. Can't remember why I put it here actually.

Admins can you move this to developers -> General

I agree. Can't remember why I put it here actually.

Admins can you move this to developers -> General

My guess....And done it as well.....General is general....And sometimes we notice something in front of it  :D

Sorry about that. The base64 path was specified by "UUID path" column. I have changed it so that it now says "base64 path."

Something is wrong for me....When I use your hosted php script to grab Access token and base64 path. I only get presented with the access token. Nothing else shows up uuid or base64 path. It doesn't list my dirs or files.

I tried setting up the php script on my own server but it doesn't redirect back to the same page as yours.

I haven't even gotten to the python script yet. Still trying to figure out what my dirs are in base64.

Something is wrong for me....When I use your hosted php script to grab Access token and base64 path. I only get presented with the access token. Nothing else shows up uuid or base64 path. It doesn't list my dirs or files.

I tried setting up the php script on my own server but it doesn't redirect back to the same page as yours.

I haven't even gotten to the python script yet. Still trying to figure out what my dirs are in base64.

Can you post your issue on github with a screen shot (be sure to sanitize the access token).

If you prefer to host it manually, make sure you change the folder from BitcasaFileLister to bitcasafilelist and the index.php is available at domain.tld/bitcasafilelist/index.php. You will also need to register an application with bitcasa and set the secret and client in the php config file.

Something is wrong for me....When I use your hosted php script to grab Access token and base64 path. I only get presented with the access token. Nothing else shows up uuid or base64 path. It doesn't list my dirs or files.

I tried setting up the php script on my own server but it doesn't redirect back to the same page as yours.

I haven't even gotten to the python script yet. Still trying to figure out what my dirs are in base64.

Check the server logs and seems as though the Bitcasa sdk is throwing a FatalError when attempting to get your infinite drive.

I added some checks so that it will at least show an error message.

Try re-logging in from the home page and let me know if that helps.

Is this to get everything out of bitcasta because plex support is going away? Dont you have to have a copy of both files for plex cloud sync to work so why would you need to get them out of bitcasta? Is there a way to cloud sync then delete the local files and you still can have cloud sync working?

Check the server logs and seems as though the Bitcasa sdk is throwing a FatalError when attempting to get your infinite drive.

I added some checks so that it will at least show an error message.

Try re-logging in from the home page and let me know if that helps.

I figured it out, My directory structure was messed up in bitcasa. I just shared my folder to myself and readded it in bitcasa web. All is working great sofar.

Using gsync with a daemon wrapper I've edited to upload to Google Drive as I pull from bitcasa. Just gotta figure out something to clear hard drive space as I go.

My wrapper https://github.com/Rick7C2/gsyncd

Once you have gsync installed and setup please see this comment and edit to fix gsync only uploading folders and not files.

https://github.com/iwonbigbro/gsync/issues/69#issuecomment-56205380

Glad you got it solved.

An addition to auto-upload to google drive is being worked on just fyi.

Glad you got it solved.
An addition to auto-upload to google drive is being worked on just fyi.


Will it be multi threaded as well? I will need something to remove files after successful upload to GDrive. I have a VPS with only 300GB drive.

Yes it will likely use the same thread from downloading to upload.



Sent from my iPhone using Tapatalk

I keep getting an invalid syntax error... Here is what I've tried (with a couple alterations): python getfiles.py /b0iCjgfre_uBa5-6FyePvg c:/documents/ US1_3f83325af4a84d97hejwwkjc7eccaf3f1c_758ab3de --local

I keep getting an invalid syntax error... Here is what I've tried (with a couple alterations): python getfiles.py /b0iCjgfre_uBa5-6FyePvg c:/documents/ *Access Token* --local



Try it without the trailing slash in the destination directory.

Example
python getfiles.py /b0iCjgfre_uBa5-6FyePvg c:/documents *Access Token* --local
That is the only thing I noticed different than the command I use minus extra options.

Still the same error.. No clue on where I have messed up

Can you provide the output message including the stack trace if it shows one?

I actually get an error just typing in python getfiles.py as well

I actually get an error just typing in python getfiles.py as well

What is the output of this command:

python --version