Sharing feature has been implemented


#1

Users can now share datasets with other users via public URLs, so there’s no need to create credentials. You can also embed results via iframes.

Cheers!


#2

Hello,

I have a couple of questions on how this works:

How are the public URLs generated? Are the secure enough to protect someone’s data? For example, I want to embed a dataset on a password protected site, it requires the URL to be public; what are the chances of someone guessing that URL and accessing the dataset without going through my password protected site?

Also, I was trying to test this out on your Webodm live demo and I do not see that it is possible to embed a map with multiple tasks. Is this the case? Thanks in advance for your answers!


#3

UUIDs in the URL have 32 guessable characters. Each character can either be a letter (a-z) or a number (0-9), so 36 possible choices. For the sake of simplicity let’s assume the attacker already knows the project ID, which is sequential and could be guessed in a few hundred attempts. UUIDs are generated by PostgreSQL https://www.postgresql.org/docs/9.1/static/datatype-uuid.html

An attacker would need to try 36^32 URLs to cover the entire UUID space and with certainty finding your public URL, so that’s about 63340286660000000000000000000000000000000000000000 possibilities, if you assume that she can probe 100 URLs per second (unlikely, but OK), it would take her 6.334028666E49 / 100 / 60 / 60 / 24 / 365 years or about 20085073141806189602476736348733998891008 years (that’s more than 20000000000000000000000 trillion years) so I think we’ve got you covered :ok_hand:

There’s currently no way to share maps with multiple tasks (unless you use the WebODM API to write your own Leaflet viewer to pull the URLs from multiple shared tasks). http://docs.webodm.org I would suggest opening a feature request on the GitHub issue list https://github.com/OpenDroneMap/WebODM/issues and if you or your organization can afford it, to consider sponsoring its development (or when somebody has time, it will get done).


#4

Hello,
I am just getting started with WebODM, so my apologies if this is an overly basic question, but I am having trouble using the share datasets feature. The URL that is generated for me is:

http://localhost:8000/public/task/a80e55f8-15ea-40cc-9b6f-565247393c9e/map/

…but this won’t open in other computers because they are ‘unable to connect’ to the server at localhost:8000. Is this just a matter of me needing a public server? Thank you!


#5

Hi @irossiter,

Yes, this needs to be a server with a public IP for this to work.