ttyridal / masterpassword-firefox

masterpassword for Firefox
GNU General Public License v3.0
33 stars 9 forks source link

we need a sync mechanism between the three implementations of masterpassword #47

Open promeneur opened 7 years ago

promeneur commented 7 years ago

today there are:

we need a sync mechanism between the three implementations of masterpassword.

why? because there are special cases we don't remember:

for example in my friend pc(linux) i add a user for me. i use FF and FF sync feature to get same FF as with my pc. i never found the password created with mpw in my pc because i never remembered the site name i used to login the FF sync account thus i never synced the 2 occurrences of FF.

and i don't speak about remembering of id and pw for masterpassword from a device to another device but this is another story.

ttyridal commented 7 years ago

Absolutely. Issue #44 is key here

ttyridal commented 7 years ago

OTOH as long as they all support .mpsites (mp-ff and maartens versions, at least) you should be able to manually sync.

ttyridal commented 7 years ago

And then, if you're thinking about 'cloud' sync, that would need servers (= money).

promeneur commented 7 years ago

why a public server? why not just a private central place (which can be user's desktop) where to store a central mpsites file? a solution:

in my desktop FF-mpw uses unison to merge its mpfiles with the central mpsites file in my desktop mpw uses unison to merge its mpfiles with the central mpsites file

device 1 uses unison to merge its mpsites file with the central mpsites file ... .device n uses unison to merge its mpsites file with the central mpsites file

where device i can be a desktop, laptop, smartphone, tablet etc.

unison is a multi-platform tool : Windows, Linux, IOS, etc.

https://www.cis.upenn.edu/~bcpierce/unison/ https://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html Using Unison to Synchronize More Than Two Machines

ttyridal commented 7 years ago

Right, never used unison, but it looks like a basic file-sync tool, with some support to merge simple text files.

With a common storage format, it should be possible to exchange .mpsites, but it would not handle any conflicts gracefully.

Letting the browser plugins behave like a desktop app and store settings at a known location might be possible (but would be outside the standard modell and probably yield ugly "this app may read and modify all your files" warnings). Don't know about mobile. There are restrictions that prevent apps from reading other apps' data.

Not tempted to implement some (obscure?) protocol

But the request for painless sync is noted.

promeneur commented 7 years ago

i forgot to mention that using unison you need for each site a file because unison merges files not contents of a file. many mail or calendar apps uses for each contact a file or for each events a file it is more robust that using one file to store all.

dkunzler commented 7 years ago

That makes things even more complicated. For example in my Android implementation of mpw I store the Site information in the database. I only work with .mpsites files when importing or exporting. Having to work file based (and then for each site a separate file) would change the whole implementation and I don't know about performance. (I have one user that has over 2000 sites in his app, don't know if a file based approach works)

ttyridal commented 7 years ago

while rigging for external sync-apps, whatever they're called unison, resilio or something else, sounds kind of tempting, I think we can kill that idea right away. No, generic, file based sync would resolve conflicts or multiway merges. --And it would be "awkward" for both mobile (if i understand correctly) and browser to work with filesystem permissions.

Let's nail a common, extensible format first. And as I said. The desire for a sync feature is noted.

(ps. 2000 unique sites.. wow)

promeneur commented 7 years ago

why not using FF sync mechanism about addon? if i understand all data of addons are synced by FF sync mechanism then this is FF which synchronizes FF mpw data between 2 occurrences of FF. same thing for chrome.

for a pc or android device you schedule a task every 15 mn for example to sync (2ways) the desktop and the plugin flavour.

ttyridal commented 7 years ago

Chrome actually does sync mpw data if you have it enabled (chrome sign-in)

For Firefox this is available for webextensions after version 53.

It would be a natural step to enable this once the transition to webextensions is complete.

PS: this will not enable sync between firefox and chrome

promeneur commented 6 years ago

Hello

Perhaps a solution about standardization? perhaps a solution to store data wich are currently stored in .mpsites?

Do you hear about pass, the standard Unix password manager? https://www.passwordstore.org

promeneur commented 6 years ago

@ttyridal you said sync of data extent is available with FF 53.

we get FF 59 and stored sites are not synchronized to Android version. "stored sites" is empty.

promeneur commented 6 years ago

About "pass"

the advantage is: you concentrate your effort on the core app which is "generating password", you save hours of work about storage and synchronization.

pass is some kind of framework.

ttyridal commented 6 years ago

@promeneur, I said it will be available for webextensions (ie the Firefox platform). Not that it will be available in the masterpassword extension. Still needs to be enabled in code.

And, as always, there are also drawbacks. ie, In Chrome there are storage limitations that are being felt by the MP-addon (limits number of sites) because it's using the (possibly) cloud backed storage.