Code Monkey home page Code Monkey logo

foxyproxy's Introduction

Help! FoxyProxy Updated and All Settings Are Lost

Using Firefox and you've lost all FoxyProxy settings?
These following options are available if FoxyProxy updated from 7.* to 8.2 and you have encountered an update bug:

1. Retrieve Settings and Keep version 8.2

From this comment:

Look for old data

  1. Go to the FoxyProxy Options page
  2. Open the Dev Tools (F12)
  3. Go to the Console tab
  4. Type the following and hit ENTER

With Sync

  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(() => {}); 
});

Without Sync

  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(() => {}); 
});

Import data

  1. Go to Import Tab -> Import from older versions
  2. Import the FoxyProxy_sync.json or FoxyProxy_local.json file that you have saved
  3. Click SAVE to save the data

2. Downgrade to 7.*

Downgrade may retrieve old settings.

  1. Download 7.5.1 (or older) from https://addons.mozilla.org/firefox/addon/foxyproxy-standard/versions/
  2. Click the file; firefox will ask you to install that addon. Confirm
  3. Go to Firefox settings, addons (about:addons), FoxyProxy, check that it shows version 7.*
  4. Important: On that same page, set "Allow automatic updates" to off

The settings bug is expected to be fixed in v8.3+.
Check About for more information.

3. Wait For Mozilla to Approve 8.6

It should be available in a few days, but we have no guarantee.

FoxyProxy FoxyProxy Browser Extension

license GitHub repo size ECMAScript

About | Help | Issues

After some years of stability, FoxyProxy has been updated to support Manifest Version 3 which is required by Chrome in order for extensions to be compatible with Chrome in 2024. We took advantage of this forced update to implement many feature requests and other changes that were requested over the years.

FoxyProxy has been owned and developed consistently by the same team since 2006.

The repository has the source code for version 8.0+ for Firefox, Chrome, and other Chromium-based browsers like Chromium, Brave and Edge. Source code for older versions.

Permissions Justification

These justifications were provied to Google and Mozilla

  1. downloads: Required to export the extension settings to a file. Users can import that file to other Chrome/Firefox instances, or share it with colleagues, in order to keep the same settings. It can also be backed up and used later.
  2. proxy: The core function of the extension is to allow users to set the proxy server used by the browser.
  3. storage: Required to store proxy server settings (hostname, port, username, and which proxy server is enabled by the user).
  4. tabs: Required so that users can set separate proxies to use per tab. It is also needed for "QuickAdd" to quickly add a URL pattern that applies to the current/active tab. It is also used to open a URL to getfoxyproxy.org where there is online help.
  5. webRequest: Required to authenticate with proxy servers via webRequest.onAuthRequired
  6. webRequestAuthProvider: Required to authenticate with proxies servers via webRequest.onAuthRequired
  7. browsingData: Required so the extension can delete cookies, indexedDB, and localStorage when requested by the user on the Options page (Delete Browsing Data button)
  8. privacy: Required so the extension can call browser.privacy.network.webRTCIPHandlingPolicy to turn on/off webRTC in Chrome (Limit WebRTC checkbox in Options page)
  9. host permission: "<all_urls>" permissions is required in order to supply credentials for Proxy authorization

No remote code is used in this extension.

Why is there a crypto library in lib?

The crypto library was already incldued in FoxyProxy 3.x to encrypt user credentails. It is needed to migrate encrypted settings from the old version (which had no updates for many years, as you mentioned) to 2023. It is not used to encrypt anything; only to decrypt old data when upgrading from version 3.x -> 8.x.

Screenshots

Dark Theme

Light Theme

Releases

Chrome Firefox
Standard

Basic

Source Code Beta
Source Code Release 8.1
Source Code Old 3.0.7.1 7.5.1

Browser Minimum

Chrome Firefox Firefox for Android
version 108
(released 2022-11-29)
version 93
(released 2021-10-05)
version 113 (manifest)
(API minimum 102)

Beta Installation Guide

  • Backup your FoxyProxy settings

  • Download repo (or use git)

    • browser-extension (this page) -> Code (green button) -> Download ZIP
    • Unzip the downloaded file
  • Chrome

    • Rename manifest-chrome.json in src folder to manifest.json
    • Go to chrome://extensions/
    • Enable Developer Mode (top right)
    • Click "Load Unpacked"
    • Select above manifest.json (or src folder)
  • Firefox (Nightly/Beta/Developer Edition)

    • Rename manifest-firefox.json in src folder to manifest.json
    • Go to about:debugging#/runtime/this-firefox
    • Click "Load Temporary Add-on..."
    • Select above manifest.json
  • Firefox for Android
    You can try installing FoxyProxy Basic v8.*

Building for Distribution

With grunt:

  1. Install grunt locally:

npm i -D grunt-cli

  1. Run one of:

grunt --target=chrome-standard
grunt --target=chrome-basic
grunt --target=firefox-standard
grunt --target=firefox-basic

The target is built in foxyproxy-XXX-YYY.zip; e.g. foxyproxy-chrome-standard.zip.

Without grunt:

  • copy the appropriate manifest-xxx.json file to manifest.json; e.g. mv manifest-chrome.json manifest.json
  • zip the src directory into the top of an archive. The src/ directory should not be in the zip archive.

foxyproxy's People

Contributors

erosman avatar ericjung avatar eshagh79 avatar webknjaz avatar aneitel avatar dmplace avatar deevroman avatar trimoon avatar r0htg0r avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.