foxyproxy / browser-extension

Version 8 and above. Browser extension source code for Firefox, Chrome, and other Chromium-based browsers
GNU General Public License v2.0
199 stars 29 forks source link

Lost settings after update #53

Closed bitk0der closed 6 months ago

bitk0der commented 6 months ago

After latest update to 8.2 (9 of December) all previous proxy settings lost and now list is blank ((( MacOS Ventura, Firefox

fhunter commented 6 months ago

Same here. Linux, Firefox

ThiefMaster commented 6 months ago

Not a fan of this update. It actually switched from "patterns" to "disabled". Not a big deal here because I'm just proxying my workplace's domain through an SSH tunnel to access internal hosts, but for people who use proxies for other reasons it may be a major problem if it suddenly gets disabled in the middle of a browsing session.

IMHO this extension should have showed a notification first that there will be some major changes, maybe opt-in to try it out, and the only be made default/required later.

PS: I wanted to look at the git commit history to see what actually changed and well.. "Add files via upload" makes this pretty much impossible since not a single commit has a meaningful message :/

fhunter commented 6 months ago

It is worse - foxyproxy now is a vpn/proxy service, so I have my doubts about data safety and everything else.

ThiefMaster commented 6 months ago

Didn't it always have some (referral) links to a proxy/vpn service?

ericjung commented 6 months ago

I’m the author and founder of FoxyProxy. I’ve offered paid proxy service for more than 10 years. If you have some concern about privacy or security of this extension, take it up with me. I’m not going to release a version that compromises anyone’s privacy or security; that’s a terrible idea and one you’ll never convince me of doing.

this major update was forced because of MV3. Without a complete rewrite of the internals, FoxyProxy would be removed from Chrome in 2024 and, eventually in Firefox, too.

If your settings are missing after upgrade to 8.2, it’s almost certainly due to a browser sync issue. There is another git ticket that discusses this in detail. There was a bug in 8.1 but not 8.2. Settings are not lost in 8.1 or 8.2 and can be recovered. I recommend first turning browser sync on/off in the browser and also in the FoxyProxy settings. The other ticket is: https://github.com/foxyproxy/browser-extension/issues/45

ericjung commented 6 months ago

@ThiefMaster please open a new ticket for UI complaints. Thank you.

fhunter commented 6 months ago

I’m the author and founder of FoxyProxy. I’ve offered paid proxy service for more than 10 years. If you have some concern about privacy or security of this extension, take it up with me. I’m not going to release a version that compromises anyone’s privacy or security; that’s a terrible idea and one you’ll never convince me of doing.

this major update was forced because of MV3. Without a complete rewrite of the internals, FoxyProxy would be removed from Chrome in 2024 and, eventually in Firefox, too.

If your settings are missing after upgrade to 8.2, it’s almost certainly due to a browser sync issue. There is another git ticket that discusses this in detail. There was a bug in 8.1 but not 8.2. Settings are not lost in 8.1 or 8.2 and can be recovered. I recommend first turning browser sync on/off in the browser and also in the FoxyProxy settings. The other ticket is: #45

This ^^ would have been very nice as a warning or at least a piece in FAQ/post-update screen. It was almost perfect extension, which I used for more than 5? no, definitely more years. It 'just worked' over those years. New browsers, new settings, it was reliable - just pulled data out of sync and that was it. Now... I am asking myself - 'what will happen next?'

ericjung commented 6 months ago

what will happen next?

hopefully nothing… but ask Google what they plan to push down the throats of extension developers like me, to get a more accurate answer.

fhunter commented 6 months ago

For now I just reverted to 7.4.2 and locked updates. Settings are still there, so things are okay.

COOLak commented 6 months ago

I just faced the same issue. The addon got updated both on my Windows PC and on my Mac at the same time, and all settings got synced, so they're basically gone (Firefox). Please provide clear instructions on restoring my settings.

Ok, I reverted to 7.5.1 and locked updates, settings are in place. Thank God.

AfroThundr3007730 commented 6 months ago

Yeah I just had to manually extract my synced proxy data and rebuild from the JSON. Not fun.

Ideally, the extension should export or dump the settings to the downloads folder or something if the next update is known to be incompatible or destructive. That way the user can at least pick up the pieces.

ericjung commented 6 months ago

the next update is known to be incompatible or destructive. That way the user can at least pick up the pieces.

It’s not incompatible or destructive. There is a lot of code to convert settings from previous versions to newer ones. Apparently you are hitting the aforementioned sync bug. I’m sorry about that.

COOLak commented 6 months ago

I decided to keep the new version on my Mac and just imported my json from the old version that I'm keeping on the Windows PC. Everything works fine on the new version too. The only thing I don't like is that the current proxy in use is no longer flashing on the extension icon. It was, in fact, a very useful thing that reminded me which proxy I'm on right now. I vote for bringing this back.

cyril-orlov commented 6 months ago

same issue here. my firefox was not synced to anywhere else. found my proxies in profile/storage-sync.sqlite, and "reimported" them by hand

erosman commented 6 months ago

The only thing I don't like is that the current proxy in use is no longer flashing on the extension icon. It was, in fact, a very useful thing that reminded me which proxy I'm on right now. I vote for bringing this back.

Please refer to #57 for further discussion.

erosman commented 6 months ago

Lost Settings

We are sorry for the inconvenience caused.

There is a bug in v8.2 on Firefox that can affect the upgrade of some storage data when sync had been enabled. :man_facepalming: It is fixed it in v8.3.

FoxyProxy Basic (users: Chrome 20k, Firefox 6k) which has the same code, was released first and we didn't get any reports of upgrade data issues.

The data is recoverable as mentioned in https://github.com/foxyproxy/browser-extension/issues/45#issuecomment-1838719332.

DarthGandalf commented 6 months ago

Thanks, this fixed the settings for me too. And I'm not using any sync.

Something else might have lost the settings other than sync?

This is Firefox 120.0.1, with foxyproxy 8.2 though

erosman commented 6 months ago

And I'm not using any sync.

That is strange since the code I posted grabs the data from the storage sync. Was FoxyProxy's sync option enabled? (that is regardless of Firefox's own sync option)

DarthGandalf commented 6 months ago

Выделение_495

The sync checkbox is off.

erosman commented 6 months ago

I was referring to the sync in the previous version.

felimwhiteley commented 6 months ago

I’m the author and founder of FoxyProxy. I’ve offered paid proxy service for more than 10 years. If you have some concern about privacy or security of this extension, take it up with me. I’m not going to release a version that compromises anyone’s privacy or security; that’s a terrible idea and one you’ll never convince me of doing.

this major update was forced because of MV3. Without a complete rewrite of the internals, FoxyProxy would be removed from Chrome in 2024 and, eventually in Firefox, too.

If your settings are missing after upgrade to 8.2, it’s almost certainly due to a browser sync issue. There is another git ticket that discusses this in detail. There was a bug in 8.1 but not 8.2. Settings are not lost in 8.1 or 8.2 and can be recovered. I recommend first turning browser sync on/off in the browser and also in the FoxyProxy settings. The other ticket is: #45

That export in #45 doesn't work in Firefox, but there appears to be a file

~/.mozilla/firefox/[YOUR_FIREFOX_PROFILE]/foxyproxy.xml

But that doesn't seem to import...

erosman commented 6 months ago

@felimwhiteley foxyproxy.xml is a very old legacy Firefox (pre version 57) file.

What was your previous FoxyProxy version?

Does any of these produce data when tried in the Dev Tools on FoxyProxy Options page?

browser.storage.sync.get().then(console.log) 

browser.storage.local.get().then(console.log) 
turikhay commented 6 months ago

Just updated, lost my synced proxy settings in Firefox. I do have a backup for them, but still this could be annoying for some people.

UPD: just tried recovering method mentioned here and it worked.

DarthGandalf commented 6 months ago

I was referring to the sync in the previous version.

I don't know anymore. I don't remember ever turning it on, since I didn't sign up for any special cloud account like that.

felimwhiteley commented 6 months ago

@felimwhiteley foxyproxy.xml is a very old legacy Firefox (pre version 57) file.

What was your previous FoxyProxy version?

Does any of these produce data when tried in the Dev Tools on FoxyProxy Options page?

browser.storage.sync.get().then(console.log) 

browser.storage.local.get().then(console.log) 

Both give the following:

Uncaught ReferenceError: browser is not defined

felimwhiteley commented 6 months ago

@erosman sorry forgot the version... yeah you are right looking at that file it's Nov 8 2017! I'm not sure what version as its on auto update so I imagine 8.1

erosman commented 6 months ago

Both give the following:

Uncaught ReferenceError: browser is not defined

Did you open the Dev Tools in the FoxyProxy Options page? (not the Dev Tools of the tab)

felimwhiteley commented 6 months ago

🤦🏻‍♂️ ok I missed that subtle distinction, same tool but open while in the proxy page itself. Sigh.

Works! Thank you very much, and cheers for catching that error on my part!

mnalis commented 6 months ago

I have same issue on Firefox 115.5.0esr, after it autoupgraded to 8.2 - all proxies lost.

I have filesystem-level backup of firefox profile (~/.mozilla/firefox/xxxx) before upgrade, where the version was Edition: FoxyProxy Standard / Version: 7.5.1.

In that profile, I do not have sync / firefox account set up, but the foxyproxy preferences do say Synchronize Settings: ON (not that I remember enabling that manually; so it might have been default -- I've been running Foxyproxy for ages, even have foxyproxy.xml in profile dating back to Feb 2017)

I've restored that old profile from my manual backup and allowed it to upgrade (which promptly nuked the configuration, as expected), and after that doing the specified commands requested by @erosman :

browser.storage.sync.get().then(console.log)

That one returns object which contains my proxies and patterns!

browser.storage.local.get().then(console.log)

that one returns object without my proxies and patterns (i.e. empty Object { commands: {}, container: {}, data: [], mode: "disable", passthrough: "", proxyDNS: true, sync: true })

Hope this helps. I still have a copy of that profile before upgrade, so I can do some more tests if needed.


I've also tested that manually downgrading the FoxyProxy (thanks to this Reddit thread post) works and shows all proxies/patterns again, so at least the data seems recoverable - hopefully new version could be pushed which autorecovers from the problem for those who experienced it (and also avoids it completely for those lucky ones who have not yet upgraded, of course).

erosman commented 6 months ago

That one returns object which contains my proxies and patterns!

As mentioned in https://github.com/foxyproxy/browser-extension/issues/53#issuecomment-1848282804, the data can be restored.

We have also released v8.3 with a fix and it is waiting for AMO review & approval.

mnalis commented 6 months ago

We have also released v8.3 with a fix and it is waiting for AMO review & approval.

Thanks! I am however unsure from that comment whether 8.3 will automatically recover the data for users who lost it with 8.2 upgrade; or will it only not manifest the bug for users who upgrade directly from 7.x to 8.3 ?

erosman commented 6 months ago

Data is not lost in 8.2 upgrade. It is recoverable as mentioned earlier. Version 8.2 also looked for the sync data but missed some due to an oversight. The oversight is fixed in v8.3.

It doesn't matter if the upgrade is from 7.5 or 8.2 to 8.3. If sync data is there, it will be recovered as long as user hasn't added new data to the FoxyProxy via Options page.

mnalis commented 6 months ago

Data is not lost in 8.2 upgrade. It is recoverable

Yes, I understand that data is recoverable, I didn't mean to quibble about semantics here; by "lost in 8.2" I simply meant from the user POV that after the upgrade the affected user sees only empty configuration and is unable to use their proxies (unless they are savvy enough to search for github issues and apply given console javascript console which recovers it), so they might well say something along the lines of "OMG all my configs are lost!"

8.2 to 8.3. If sync data is there, it will be recovered

Thanks, that's what I was wondering about - hope the 8.3 gets published soon (and yes, I know the speed until it is deployed is beyond your control) !

as long as user hasn't added new data to the FoxyProxy via Options page.

Out of curiosity, if user had tried adding new data, what will happen? New data will remain as entered by user, and old data simply ignored, or something else? Would the users still be able to employ the earlier mentioned javascript code to force-recover their old data if they don't care about new data (e.g. they have only tried adding a proxy or two in panic)?

erosman commented 6 months ago

Out of curiosity, if user had tried adding new data, what will happen? New data will remain as entered by user, and old data simply ignored, or something else? Would the users still be able to employ the earlier mentioned javascript code to force-recover their old data if they don't care about new data (e.g. they have only tried adding a proxy or two in panic)?

When FoxyProxy starts up, it checks the local storage. If it finds no data, then it checks the sync storage for data. If it finds data in the sync storage, it imports it.

Therefore, it only looks for the sync storage if the the local storage is empty. The sync data is not deleted, however, if user enables the sync in the new version, and has data in the local storage, the new data will be sent to the sync storage and that can result in old sync data getting overrriten.

In any case ....... it is ALWAYS a good idea to have regular backups. The method to recover the data was intentionally written to create a file so it can be archived for later use. Users are advised to regularly use the Export button and export their settings for backup.

starproxy3 commented 6 months ago

what will happen next?

hopefully nothing… but ask Google what they plan to push down the throats of extension developers like me, to get a more accurate answer.

Eric, Why the MINUS sign on the foxyproxy icon? I have been struggling since las night. I have uninstalled foxyproxy twice, issue was not fixed. Today, I uninstalled Firefox completely to see if that would help. I don't know what else to do. I can make a separate post if that's more convenient. (when you click on foxyproxy minus sign it says "disable") Please help mw fix this issue!

starproxy3 commented 6 months ago

For now I just reverted to 7.4.2 and locked updates. Settings are still there, so things are okay.

How did you do that?

fhunter commented 6 months ago

For now I just reverted to 7.4.2 and locked updates. Settings are still there, so things are okay.

How did you do that?

Got latest release out of here: https://github.com/foxyproxy/firefox-extension/releases and reinstalled it. Disabled updates in about:addons for specific extension. As for old settings not sure if I had to enable and disable sync or if they appeared by themselves (it was a pretty hectic time of tinkering)

knobi commented 6 months ago

what will happen next?

hopefully nothing… but ask Google what they plan to push down the throats of extension developers like me, to get a more accurate answer.

Eric, Why the MINUS sign on the foxyproxy icon? I have been struggling since las night. I have uninstalled foxyproxy twice, issue was not fixed. Today, I uninstalled Firefox completely to see if that would help. I don't know what else to do. I can make a separate post if that's more convenient. (when you click on foxyproxy minus sign it says "disable") Please help mw fix this issue!

I had the same issue with FF and Chrome after upgrading to 8.2. It was showing me the "Do not Enter" icon. Basically re-enabling the rule brought function back. And yes, I have sync enabled, so my rules were "not lost".

Just one final comment: I am using FP for ages. The free version. It is a great tool and it has great support. Just see this thread. So give those folks a break. Everybody can release a bad version from time to time. And with FP it has been extremely rare for me. GREAT JOB

rgitpriv commented 6 months ago

Not a fan of this update. It actually switched from "patterns" to "disabled". Not a big deal here because I'm just proxying my workplace's domain through an SSH tunnel to access internal hosts, but for people who use proxies for other reasons it may be a major problem if it suddenly gets disabled in the middle of a browsing session.

IMHO this extension should have showed a notification first that there will be some major changes, maybe opt-in to try it out, and the only be made default/required later.

PS: I wanted to look at the git commit history to see what actually changed and well.. "Add files via upload" makes this pretty much impossible since not a single commit has a meaningful message :/

You are exactly right, IMO the biggest concern is the abrupt and unexpected loss of proxying. I now have had my private information leaked. I think we need an option that disables web browsing if the proxy is not available. Just like VPN kill switch concept.

I understand bugs happen but this is a bit catastrophic for folks who used it for privacy.

mnalis commented 6 months ago

I think we need an option that disables web browsing if the proxy is not available

Yes, of course @rgitpriv , and it is a job of your local firewall. For example, on GNU/Linux distro, it would be something like:

iptables -A OUTPUT -p tcp -d <your_proxy_ip> --dport <your_proxy_port> -j ACCEPT
iptables -A OUTPUT -j DROP

that way, you can only get to the 'net via proxy, and all other attempts of outgoing traffic is dropped. . (you can of course add logging there, and more proxies, exceptions for certain destinations etc., but it gives you the basic idea.)

(And yes that enforcing of no-direct-traffic of course needs to be separate piece of software/hardware, and not part of foxyproxy; as the whole point of such safety net is to help you should foxyproxy fail for some reason -- if it failed, its own safeties could also have failed, so they wouldn't help you avoid that SPoF)

I understand bugs happen but this is a bit catastrophic for folks who used it for privacy.

Sure. But basic principle is security in depth. You should never rely on just single piece of software/hardware to protect you. You should be aware that any single layer inevitably will fail from time to time. So you must use at least two (probably more if it is important to you), in order to significantly increase your chances (as it much more unlikely multiple security measures will fail at the same time)

piter36 commented 5 months ago

Después de la última actualización a 8.2 (9 de diciembre), se perdieron todas las configuraciones de proxy anteriores y ahora la lista está en blanco ((( MacOS Ventura, Firefox

erosman commented 5 months ago

Después de la última actualización a 8.2 (9 de diciembre), se perdieron todas las configuraciones de proxy anteriores y ahora la lista está en blanco ((( MacOS Ventura, Firefox

@piter36 Please try the latest FoxyProxy with fixes for the 8.2 data issues. For data recovery, please check the README.