Cookie-AutoDelete / Cookie-AutoDelete

Firefox and Chrome WebExtension that deletes cookies and other browsing site data as soon as the tab closes, domain changes, browser restarts, or a combination of those events.
MIT License
1.77k stars 112 forks source link

Support Cloud Sync/Storage #30

Open uniquePWD opened 7 years ago

uniquePWD commented 7 years ago

Support cloud storage between devices via the browser.storage.sync API so that all devices can share the same whitelist.

DaddyAG commented 7 years ago

If this means "to use Firefox Sync", then yes please!

uniquePWD commented 7 years ago

@DaddyAG yup, that's what I mean, so that we can use our same cookie whitelist between devices.

ke-d commented 7 years ago

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/storage/sync#Browser_compatibility

This will probably be implemented to how uBlock does it (global clipboard). Testing with uBlock WebExtension, I haven't gotten sync to work decently. So I'm probably going to wait until support for the sync API on FF Android comes out, hopefully its more stable by then.

uniquePWD commented 7 years ago

The actual bug for implementing support is https://bugzilla.mozilla.org/show_bug.cgi?id=1316442

kah0922 commented 6 years ago

Forgive me for asking, but has there been any progress on this?

ke-d commented 6 years ago

@kah0922 Not yet. Android doesn't have the sync API implemented yet, which actually gives me time to think about how I want to do the UX for the global clipboard.

SecureAB commented 6 years ago

Nice to hear that you want to implement support for Firefox Sync.

I use both Cookie AutoDelete and uMatrix (with the same global clipboard principle like uBlock). I'm currently not fully happy with the global clipboard because it stretches the process of adding new domain rules for my devices. I need to add the rule on my first device, press upload, and download and merge it on all my other devices.

Could you explain me your reasons, why you are in favor of the global clipboard instead of just syncing it over all devices?

rugk commented 6 years ago

IMHO it would already help to have sync support without Android. :smile:

ostrich commented 5 years ago

Syncing the settings file to Google Drive, Dropbox, or any other cloud storage solution would work as well.

For me, this is a killer feature. Managing my whitelist across devices is a pain.

MarkCallow commented 5 years ago

Syncing the settings file to Google Drive, Dropbox, or any other cloud storage solution would work as well.

Depends on your definition of "as well". In my view these would be worse solutions. You need accounts on these services and need to decipher additional privacy policies to determine if what is saved on these services would be encrypted with a key only I know.

Using Firefox sync is far preferable. I'm pretty sure my other bookmarks etc. are being sync'ed to my Android device.

ghost commented 5 years ago

I would think that the best way to implement this would be via an abstraction such that firefox sync and chrome sync could both use the abstraction layer.

ostrich commented 5 years ago

Syncing the settings file to Google Drive, Dropbox, or any other cloud storage solution would work as well.

Depends on your definition of "as well". In my view these would be worse solutions. You need accounts on these services and need to decipher additional privacy policies to determine if what is saved on these services would be encrypted with a key only I know.

Using Firefox sync is far preferable. I'm pretty sure my other bookmarks etc. are being sync'ed to my Android device.

"In addition to the already proposed solutions." Are you a native English speaker?

rugk commented 5 years ago

No offense here, people…

IMHO we should keep this issue about the native' browsers sync (probably someone can adjust the title) and open a different issue for alternative sync solutions. The reason is just that browser sync is far easier to implement than any third-party synchronization solution.

kah0922 commented 5 years ago

I don't think Firefox For Android will ever get support for proper sync. So it's either wait for Fenix, or just implement sync for Desktop, hopefully the latter.

rugk commented 5 years ago

I don't think Firefox For Android will ever get support for proper sync.

Actually, it already has. And I can confirm as an extension author that the sync storage is actually properly synced.

kah0922 commented 5 years ago

I don't think Firefox For Android will ever get support for proper sync.

Actually, it already has. And I can confirm as an extension author that the sync storage is actually properly synced.

...but it literally states in your link that it isn't supported.

rugk commented 5 years ago

Hmm okay, so storing locally works, at least… need to look at that :smile:

05nelsonm commented 5 years ago

check out Tampermonkey's sync features. Copy Paste!!!

LilDevil commented 5 years ago

A simple test...

var myStorage
if (browser.storage.sync) {
  myStorage = browser.storage.sync;
else if (chrome.storage.sync) {
  myStorage = chrome.storage.sync;
} else {
  myStorage = browser.storage.local;
}

Then in other places in the code simply use myStorage

Granted it's a little more complex, as the browser functions use promises and the chrome functions use callbacks. This could be ignored by using chrome in Firefox as well.

rugk commented 5 years ago

For Chrome compatibility with the proper browser API including Promises, you can just use https://github.com/mozilla/webextension-polyfill/.

Actually that whole comment is off-topic here, as you can always just use browser.storage.sync (with above polyfill), because even on Firefox for Android it will work – it just won't sync the data, but it saves it locally.

j2nik commented 5 years ago

Any update on this?

kennethtran93 commented 5 years ago

I think this would come after [ I ] try to get a better export working with the core settings.

GauthierPLM commented 4 years ago

This would be a very good addition to the extension. I have two devices and usually go on the same websites on each. Moreover, I use multiple version of Firefox and Chrome (web dev) and would love to see sync implemented to avoid the redundancy of creating the whitelist and settings.

From my understanding, I think using the sync API would be a better choice, while requesting its implementation on Android (either in Firefox for Android, either in Fenix). I am not sure about the status of this as I don't use Android, but the Firefox team would probably do it with if the demand is here, and if this API is widely used.

Saeverix commented 4 years ago

Please add this, this is the only missing feature that keeps the Extension from being perfect. I will even donate some money for it when it has a Sync function...

skjerns commented 3 years ago

This would be extremely useful, also for Vivaldi sync! Other extensions keep the settings somehow when I restore from the cloud, so I guess this is possible even without too much custom code.

kennethtran93 commented 3 years ago

So what I have thought up design wise is the following. Please provide some feedback as the direction that it should take:

More of a special note for Firefox:

GauthierPLM commented 3 years ago

The solution looks good on my side. Timestamping is useful to avoid conflicts. When would you trigger the sync? When a setting or expression changes?

What I hope to see with the sync feature:

Saeverix commented 3 years ago

@GauthierPLM that sounds exactly how I imagined it. It would be great if it eventually works like that. Then I will 100% donate to this extension, because it would make it perfect in my eyes.

Convincible commented 3 years ago

Sync settings and whitelist, yes please. ScriptSafe does this quite nicely (Chrome).

arantes555 commented 2 years ago

Any progress on this? It's IMO the one thing missing for this extension to be perfect!

farblos commented 2 years ago

If I understood the discussion so far correctly, this is going to be implemented using sync storage, isn't it? Aren't the size restrictions in sync storage a bit meager for storing potentiallly lengthy white/grey-lists?

Eagle3386 commented 2 years ago

Since it's big enough for uBlock Origin to fit in all needed filter & rules data, there's surely a way for CAD to handle it equally.

Mladia commented 2 years ago

The extension temporary containers already support this feature. Some ideas for the implementation can be seen there. https://github.com/stoically/temporary-containers

SeidChr commented 1 year ago

strongly needed!

haayman-imagem commented 1 year ago

I don't think it's too complicated to use virtual drives for synchronisation. If I would be allowed to have the settings synced with some json file of my own choosing then everything would work as expected. You'd need to call it 'autobackup' or something, because it would only function as sync when the backup file is on some cloud location. Upside is that you're not dependent on some API being implemented somewhere

SuperValue commented 1 year ago

Voting +1 Syncing between computers is a pain

bayazidbh commented 1 year ago

If not cloud sync, then at least some sort of auto-export, when the browser launches or something, similar to what Tab Session Manager have. I could then just point it to export to a synced folder, and at least make sure the latest backups are synced through my devices and I can pull them manually.

Currently, when I forgot to export, I can't add any sites until I go back to the most up-to-date device, as AFAIK the import process overwrites whatever is on the machine and I cannot remember / shift through each of the added addresses between devices.

dwbfox commented 1 year ago

This is a much needed feature. There's no way to synchronize the blacklist/whitelists without manual legwork. As this comment implied, it should be relatively easy to implement, and Firefox has a simple API for sync based storage.

EDIT: This issue has been open since 2017! Surely with the amount of interest and feedback it merits some priority...

Saeverix commented 1 year ago

So it's been 6 years since this feature request has been made. The feature request also has 125 upvotes. But sadly in all these years there has been 0 progress or even something like a roadmap.

Will this ever be added?

Blazein commented 10 months ago

This is a desperately needed function.

AtomicRobotMan0101 commented 6 months ago

I happened to notice the Sync capabilities of Swift Selection Search https://github.com/CanisLupus/swift-selection-search and felt it would be a VERY nice addition for CAD to have.

There is even a very nice little section of code we can fork (use) :)

jamesdrake101 commented 1 hour ago

I need this so desperately I am happy to implement it myself.

@kennethtran93 Did anyone start working on this? Is there any known blocker / ideological opposition or is it just a matter of getting it done? Thanks.