Pages

Sunday, 8 February 2015

Chrome下非常好用的SwitchSharp插件,目前升级为SwitchOmega

SwitchyOmega

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 for offline installation on the Releases page.
Please report issues on the issue tracker.

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 Chromium Extension target. This target allows the project to be used as a Chromium extension in most Chromium-based browsers.
However, the project architecture allows more targets to be added in the future. The first step would be adapting more browsers including Firefox. I don't have time for that now. Feel free to open a pull request if you want to help.

Translation

All translations are in the omega-i18n folder. For now, only en (English) and zh (简体中文) translations are done. If you notice a translation issue such as typo or bad spelling, please open an issue or a pull request.
You can also help to translate SwitchyOmega into your language. Just fork the project and copy the en folder to a new folder named the locale code of your choice. Then edit the message.json to provide translations. The file is in Chrome Extension Locale-Specific Messages Format. Don't forget to open a pull request when you are done translating.

Building the project

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 grunt-cli 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.

FROM  https://github.com/FelisCatus/SwitchyOmega
--------------------------------
2.x 版本新功能:
  • 支持需要用户名密码验证的代理服务器。
  • 配置同步
  • 更灵活的代理配置:代理情景模式、多个自动切换模式以及多个规则列表。
  • 新增多种切换条件类型,并改进原有的切换条件。
  • PAC 脚本生成和切换的性能优化。
  • 崭新的选项页面和下拉菜单,用户体验更佳。
  • 可使用快捷键(Alt+Shift+O)和鼠标右键菜单
  • 许多错误修复以及改进。测试更充分。

如何更新

SwitchyOmega 初次安装时会检查是否存在 SwitchySharp ,如果有的话则会自动升级设置,无须手动配置。如果您使用的是非谷歌应用商店版,或者无法自动升级,则可以手动在SwitchySharp导出设置文件 后,在SwitchyOmega导入,可兼容配置。升级到SwitchyOmega后请禁用SwitchySharp。
如果你正在使用 GFW List ,更新完毕后请前往选项中的自动切换选项卡,在靠近页面底部点击“立即更新情景模式”来下载 GFW List。如果下载失败,请切换到全局代理模式再尝试下载。
特别提醒:由于Chrome限制,同一时间只能有一个扩展控制代理设置,一般来说Chrome会优先后安装的扩展。冲突中若 SwitchyOmega获得了优先权,则可以切换到“系统代理”模式,从而把优先权归还给其他扩展,从而解决问题。如果此扩展的配置被其他代理相关、或 者去广告相关的扩展覆盖,则问题无法解决,只能通过重装SwitchyOmega来提高优先权。

链接

在谷歌应用商店安装SwitchyOmega
备用下载地址: https://github.com/FelisCatus/SwitchyOmega/releases

FROM  https://github.com/FelisCatus/SwitchyOmega/wiki/SwitchyOmega-%E6%96%B0%E5%8A%9F%E8%83%BD
---------------------------------------------------------------------

ZeroOmega:实现代理自由切换的浏览器插件,支持谷歌/火狐/Edge

什么是ZeroOmega

ZeroOmega 是一个从 SwitchyOmega 派生的开源项目,兼容 Manifest v3,主要用于快速管理和切换多个代理。该项目作为 Chromium 扩展可在大多数基于 Chromium 的浏览器中使用,并提供实验性的 Firefox 插件。项目包含一个独立的 PAC 生成模块 omega-pac 和一个浏览器无关的选项管理器 omega-target。项目的构建依赖于 npm 和 grunt。SwitchyOmega 在 GNU 通用公共许可证第 3 版或更高版本下发布。项目不与任何代理或 VPN 提供商合作,也不包含广告。翻译工作托管在 Weblate 上。

ZeroOmega支持谷歌/火狐/Edge,原SwitchyOmega项目上次火狐版本的更新还是18年。
ZeroOmega配置使用

首先安装ZeroOmega:
然后是配置,主要是根据你的客户端代理服务端口及协议,填写一个代理配置,然后再增加一个自由切换的规则列表,规则列表使用开源公共项目gfwlist的地址即可:
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt

gfwlist的国内镜像地址:
https://pagure.io/gfwlist/raw/master/f/gfwlist.txt