DropBox Setup Tutorial v2

Issue #21 resolved
Chris Rupp
created an issue


Instead of hijacking Rambo Junior's thread (DropBox setup for dummies :)), I figured I'd best make my own. But it's basically the same issue. I'm looking for more-precise-setup-steps-than-I've-been-able-to-find, to get KeeCloud working with syncing a database file to Dropbox.

Potentially relevant details:

  1. I'm using Windows 8 x64
  2. I used the Credential Wizard successfully to create the necessary Dropbox credentials for the KeeCloud app; I saved them in my KeePass database (default title), and am trying to use them in the User name field of the Synchronize with URL... dialog.
  3. Depending on what I enter for a URL, I get either the error "Invalid URI: The hostname could not be parsed." or "An exception occured during a WebClient request. Exception of type 'DropNet.Exceptions.DropboxException' was thrown."

It's possible the whole issue boils down to something as simple as this: on the Supported Protocols -> Dropbox page, I'm really confused by what format the "{full path to file within dropbox}" part should be in, of the "dropbox://{full path to file within dropbox}".

I don't have Dropbox installed as a local application on my computer; I'm hoping that's not necessary (and as I understand it, it shouldn't be).

Some actual questions:

  1. Does the URL field of the "KeeCloud Dropbox credentials" entry into KeePass (when I saved the credentials that were made as part of the Credential Wizard process) matter? OR can I leave it as the default "dropbox:///", and what really matters is whatever I enter into the URL field in the Synchronize with URL... dialog?
  2. If I have a space in the name of the folder, where my database file is stored within my Dropbox hierarchy... sometimes the space is translated as %20 (link in the URL of the folder on the Dropbox website, when I'm looking at list of files in that folder), and sometimes it is just a space (like when I hover my cursor over the file, to see what link I would be going to if I click on the file). Which should it be, when entering it in the URL field within KeePass? Not that I haven't tried both, but one has to be right and one has to be wrong.
  3. When looking at the URL on the Dropbox website, it'd be something like "https://www.dropbox.com/home/Alice's%20Stuff", and my database file, Alice.kdbx, is within that folder. Would the URL I should enter for synchronizing be "dropbox://home/Alice's Stuff/Alice.kdbx"? Or just "dropbox://Alice's Stuff/Alice.kdbx"? If I were to click on "Share Link", the link it would return would be something like "https://www.dropbox.com/s/rt454gxbqz0uwtg/Alice.kdbx". And finally, when hovering OVER the database file, it looks like it'd be "https://dI-web.dropbox.com/get/Alice%27s Stuff/Alice.kdbx" (totally made up examples). Given all of these options, I feel like the simple "{full path to file within dropbox}" description isn't clear enough, for what one is supposed to enter here. Can you provide clarification?
  4. This guy wrote a blog post (granted, from a long time ago) about how one's database has to be stored in one's Public Dropbox folder. I have got to assume that is not the case, given that we're adding application credentials and all. But just to be very clear... not the case, correct?

Comments (10)

  1. Daniel Mita

    It's quite confusing at first but I seem to have figured it out. I feel dumb for not being able to figure it out sooner...

    In KeePass hit ctrl+shift+O to Open From URL.

    As an example, if your database is in the root folder of your Dropbox you would enter dropbox://MyDatabase.kdbx, if it's in a folder named MyFolder you enter dropbox://MyFolder/MyDatabase.kdbx. Enter the User/Pass generated by the Credential Wizard.

    This also functions the same way with Save To URL.

  2. Chris Rupp reporter

    @Daniel Mita Still no dice. When I do what you suggested, I'm still getting the "Invalid URI: The hostname could not be parsed." error. Which makes me think it's not recognizing the dropbox:// "protocol". Again, though, to reiterate, I do NOT have Dropbox (the application) installed on this computer. Is that necessary? Do you?

    @Alexander Zaytsev, I haven't gotten a NullReferenceException yet. =(

  3. Daniel Mita

    I'm using it on a PC that doesn't have Dropbox installed, so no it isn't necessary.

    Are you using "Synchronise with URL"? Just FYI you should only be doing that if you're syncing with a local file as far as I'm aware. If you're just using the file on Dropbox you need to use "Open" and "Save"

  4. Chris Rupp reporter

    @Daniel Mita Yes, I was using "Synchronize with URL".

    I think I figured it out. Apparently the plugin has issues with spaces, or apostrophes, in the URL path. I had a folder with both of those, and it kept throwing "Invalid URI: The hostname could not be parsed." errors. Moving the database file to a Dropbox location that had neither of those characters allowed me to access it and sync with it, eventually.

    Finally, just for anyone else's reference out there (because it was a question I was wondering about), the default KeePass entry ("KeeCloud Dropbox credentials") from the URL Credential Wizard, that gets saved to your database, works fine when putting it in as the username (and it uses the password from that automatically, so no need to put anything in the password field of the 'Open from URL' dialog). The spaces do not mess with THAT field.

    Maybe I'll go back and try to edit the wiki for clarity, at some point... but for now, closing out this issue.

  5. Chris Rupp reporter

    Solution: Don't use spaces or apostrophes (probably ANY special character) in path to your database file; KeeCloud doesn't seem to handle them well, just yet.

  6. Chris Rupp reporter

    Just for reference (in Google searches and anyone else stumbling across this issue): Exceptions of type 'DropNet.Exceptions.DropboxException' mean that KeeCloud is not finding the database file in the URL location you entered.

  7. Mavaddat Javid

    I cannot get this to work no matter how I modify the Dropbox URI (both in the KeePass 'Open From URL' synchronize window or in the Dropbox key definition after KeeCloud auth wizard) or the username or password. This is what the auth wizard looks like after handshaking with Dropbox: KeePass_2017-10-05_00-09-34.png This is my KeePass main GUI window: KeePass_2017-10-05_00-11-59.png Here is the error message I am getting: KeePass_2017-10-05_00-16-03.png

  8. Log in to comment