FelisCatus/SwitchyOmega — 22.6k★ on GitHub (CoffeeScript). No longer maintained, see pinned issues
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Manage and switch between multiple proxies quickly & easily.
Chromium Extension
The project is available as a Chromium Extension.
You can try it on Chrome Web Store,
or grab a packaged extension file (CRX) for offline installation on the Releases page.
Please report issues on the issue tracker.
Firefox Addon (Experimental)
There is also an experimental WebExtension port, which allows installing in
Firefox Nightly Version >= 56.
Since the WebExtensions API is still under heavy development on Mozilla's side,
we strongly recommended using the Nightly channel (>= 56.0) and update frequently.
The Developer Edition and Beta channels will not receive fixes as often and
therefore unsupported by SwitchyOmega. Some users report that it works with the
Firefox Developer Edition (>= 55) as well, but we strongly advise against doing
so. It won't work at all in Firefox 54 Stable.
You can try it on Mozilla Add-ons,
or grab a packaged extension file (XPI) for offline installation on the Releases page.
Please make sure that you are using the latest Nightly build before you
report issues.
Build number AND build date should be mentioned somewhere in the issue.
NOTE: PAC Profiles DO NOT work on Firefox due to AMO review policies. We will see what we can do.
Development status
PAC generator
This project contains a PAC generating module called omega-pac, which handles
the profiles model and compile profiles into PAC scripts. This module is standalone
and can be published to npm when the documentation is ready.
Options manager
The folder omega-target contains browser-independent logic for managing the
options and applying profiles. Every public method is well documented in the comments.
Functions related to browser are not included, and shall be implemented in subclasses
of the omega-target classes.
omega-web is a web-based configuration interface for various options and profiles.
The interface works great with omega-target as the back-end.
omega-web alone is incomplete and requires a file named omega_target_web.js
containing an angular module omegaTarget. The module contains browser-dependent
code to communicate with omega-target back-end, and other code retrieving
browser-related state and information.
See the omega-target-chromium-extension/omega_target_web.coffee file for an
example of such module.
Targets
The omega-target-* folders should contain environment-dependent code such as
browser API calls.
Each target folder should contain an extended OmegaTarget object, which
contains subclasses of the abstract base classes like Options. The classes
contains implementation of the abstract methods, and can override other methods
at will.
A target can copy the files in omega-web into its build to provide a web-based
configuration interface. If so, the target must provide the omega_target_web.js
file as described in the Options manager section.
Additionally, each target can contain other files and resources required for the
target, such as background pages and extension manifests.
For now, only one target has been implemented: The WebExtension target.
This target allows the project to be used as a Chromium extension in most
Chromium-based browsers and also as a Firefox Addon as mentioned above.
Translation
Translation is hosted on Weblate. If you want to help improve the translated
text or start translation for your language, please follow the link of the picture
below.
SwitchyOmega has migrated to use npm and grunt for building. Please note that
npm 2.x is required for this project.
To build the project:
# Install node and npm first (make sure npm --version > 2.0), then:
sudo npm install -g [email protected] bower
# In the project folder:
cd omega-build
npm run deps # This runs npm install in every module.
npm run dev # This runs npm link to aid local development.
# Note: the previous command may require sudo in some environments.
# The modules are now working. We can build now:
grunt
# After building, a folder will be generated:
cd .. # Return to project root.
ls omega-chromium-extension/build/
# The folder above can be loaded as an unpacked extension in Chromium now.
To enable grunt watch, run grunt watch once in the omega-build directory.
This will effectively run grunt watch in every module in this project.
License
SwitchyOmega is licensed under GNU General Public License Version 3 or later.
SwitchyOmega is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SwitchyOmega is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SwitchyOmega. If not, see http://www.gnu.org/licenses/.
Notice
SwitchyOmega currently does not have a dedicated project homepage. switchyomega.com and similar webites are NOT affiliated with the SwitchyOmega project in any way, nor are they maintained by SwitchyOmega project members. Please refer to this Github repository and wiki for official information.
SwitchyOmega is not cooperating with any proxy providers, VPN providers or ISPs at the moment. No advertisement is displayed in SwitchyOmega project or software. Proxy providers are welcome to recommend SwitchyOmega as part of the solution in tutorials, but it must be made clear that SwitchyOmega is an independent project, is not affiliated with the provider and therefore cannot provide any support on network connections or proxy technology.
Yes — FelisCatus/SwitchyOmega ships under the GPL-3.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/FelisCatus/SwitchyOmega.
What is FelisCatus/SwitchyOmega?
FelisCatus/SwitchyOmega (FelisCatus/SwitchyOmega) is a CoffeeScript project on GitHub. From the project's own README: No longer maintained, see pinned issues
What license does FelisCatus/SwitchyOmega use?
FelisCatus/SwitchyOmega is released under the GPL-3.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where can I see FelisCatus/SwitchyOmega in action?
The project maintains a homepage at https://github.com/FelisCatus/SwitchyOmega/issues/2513. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about FelisCatus/SwitchyOmega?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/FelisCatus/SwitchyOmega is the definitive source.
Read full README in the tab above.
Still deciding about SwitchyOmega?
One click hands the question to an AI along with this page — see what it says about SwitchyOmega.