Why is there a CryptoJS library in lib? (removed in v9.0)
The CryptoJS library was already included in FoxyProxy 3.x to encrypt user credentials. It is needed to migrate encrypted settings from the old version (which had no updates for many years, as you mentioned). It is not used to encrypt anything; only to decrypt old data when upgrading from version 3.x to 8.x.
The library is not used in Firefox, and will be removed once users migrate to v8+.
💻 Settings disappeared after the upgrade to v8
Using Firefox and you've lost all FoxyProxy settings?
FoxyProxy Basic 8.0 was first released in Sep 2023 as a trial run since it had fewer users (26k on Chrome & Firefox). We waited for 2 months for any feedback & bug reports before releasing FoxyProxy Standard. Unfortunately, we didn't get any bug report about the data migration sync issue, otherwise we would have fixed it before releasing the standard version. FoxyProxy 8.2 went online on Dec 6th. Due to a bug in version 8.2, previous settings of some users were not migrated after the upgrade. Versions 8.3-8.6 created with fixes for the bugs immediately, but due to the AMO approval waiting time, version 8.6 came online on Dec 12th.
Previous settings were not deleted and are recoverable. The following options are available if FoxyProxy updated from 7.* and you have encountered the update bug.
Retrieve Settings and Keep version 8.2
From this comment:
- Go to the FoxyProxy Options page
- Open the Dev Tools (F12)
- Go to the Console tab
- Type the following and hit ENTER
browser.storage.sync.get().then(console.log)
If above has some data, then in the Console tab, type the following and hit ENTER
browser.storage.sync.get().then(pref => {
const data = JSON.stringify(pref, null, 2);
const blob = new Blob([data], {type: 'application/json'});
browser.downloads.download({
url: URL.createObjectURL(blob),
filename: 'FoxyProxy_sync.json',
saveAs: true,
conflictAction: 'uniquify'
})
.catch(() => {});
});
browser.storage.local.get().then(console.log)
If above has some data, then in the Console tab, type the following and hit ENTER
browser.storage.local.get().then(pref => {
const data = JSON.stringify(pref, null, 2);
const blob = new Blob([data], {type: 'application/json'});
browser.downloads.download({
url: URL.createObjectURL(blob),
filename: 'FoxyProxy_local.json',
saveAs: true,
conflictAction: 'uniquify'
})
.catch(() => {});
});
- Go to Import Tab -> Import from older versions
- Import the
FoxyProxy_sync.json
orFoxyProxy_local.json
file that you have saved - Click SAVE to save the data
Downgrade to 7.*
Downgrade may retrieve old settings.
- Download 7.5.1 (or older) from https://addons.mozilla.org/firefox/addon/foxyproxy-standard/versions/
- Click the file; firefox will ask you to install that addon. Confirm
- Go to Firefox settings, addons (about:addons), FoxyProxy, check that it shows version 7.*
- Important: On that same page, set "Allow automatic updates" to off
The settings bug is expected to be fixed in the latest release. Check About for more information.
Firefox for Android ignored disabling extensions.update.enabled
(due to a bug). Therefore, installation of an older version from AMO will get updated. The bug is fixed in Firefox 123.
Downgrade or Beta Installation
- Download 7.5.1 (or older) from https://addons.mozilla.org/firefox/addon/foxyproxy-standard/versions/
- Make the file available to the Android device through Android File Transfer, adb, Android Studio, or a similar tool
- Install Firefox Nightly for Developers on Android
- Enable Debug Menu
- Go to:
menu -> Settings -> About Firefox Nightly
- Tap a few times on the Firefox icon to enable debug menu
- Go to:
- Navigate to:
about:config
- Find
xpinstall.signatures.required
- Toggle to
false
- Find (or add)
extensions.update.enabled
- Toggle to
false
- Find
- Install add-on from file
- Go to:
menu -> Settings -> Advanced -> Install add-on from file
and select the.zip
file you transferred to the android device - Check "Allow in private browsing" then "Okay, Got it"
- Go to: