认识
官网:https://github.com/FelisCatus/SwitchyOmega
文档:https://github.com/FelisCatus/SwitchyOmega
仓库:https://github.com/FelisCatus/SwitchyOmega
SwitchyOmega by Felis Catus,是 Chrome、Firefox 浏览器上的一个用于配置代理的扩展,可以轻松快捷地管理和切换多个代理设置。但是,SwitchyOmega 并不提供代理、VPN、其他的网络服务。简而言之,SwitchyOmega 的主要作用就是配置浏览器里的请求哪些使用代理、哪些不使用代理以及使用哪个代理、不使用哪个代理。
组成
WIP
构建
SwitchyOmega 为 SwitchySharp 的升级版,免费并且开源,代码托管于 GitHub 上。
on Mozilla Firefox
SwitchyOmega 现在可以在 Firefox 57+ 上安装使用,但目前还是实验版。
The Chromium Projects/Network Settings
火狐浏览器可以直接到 Mozilla Add-Ons 上搜索安装:https://addons.mozilla.org/en-US/firefox/addon/switchyomega/
或者到 GitHub 上下载安装包(.xpi 文件):https://github.com/FelisCatus/SwitchyOmega/releases
on Google Chrome
Chrome 或者 Chromium 系的浏览器可以到
- 或 Chrome Web Store 搜索安装 | https://chromewebstore.google.com/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif
- 或 GitHub 上下载 .crx 安装包 | https://github.com/FelisCatus/SwitchyOmega/releases
直接使用源码编译安装,到 GitHub 获取 SwitchOmega 源码,构建方法参考源码目录下的 README.md 下的Building the project部分。
该插件位于 chrome web store 中,想要安装该插件,需要先设法访问 chrome web store 站点。而设法访问 chrome web store 页面,又需要使用该插件(或者类似的插件)。进而陷入了循环。该笔记将介绍如何解决该问题,在 Chrome 中安装 Proxy SwitchyOmega 插件。
对于这个问题,解决办法有两个:
方法一、离线安装插件
这是最常见的方法,网上也有很多教程,这里不再赘述。
方法二、通过命令行加载代理
前提:条件假设已经拥有代理服务(或者其他代理)。否则,安装该插件也将基本毫无用处。
然后,在启动 Chrome 浏览器时,指定--proxy-server选项:
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080"
该选项使得 Google 浏览器在运行时,使用特定的代理(全局)。
接下来,就可以访问 chrome web store 进行一系列的插件安装。或者登录自己原有的 Google 帐号,进行数据同步(当然会同步已经安装的插件)。
最后,在操作完成后,重启浏览器。此时,不需要再使用--proxy-server选项,我们直接配置 Proxy SwitchyOmega 插件即可。
性质
针对 Proxy SwitchyOmega 功能,这里不再详述。
四种代理配置模式
Proxy Profile
设置代理服务器,默认所有的请求都将通过代理服务器。通过配置,可以使某些请求地址不通过代理服务器。
支持的协议有:SOCKS4/5,HTTP(s)
PAC Profile
设置 PAC 脚本文件(可以是本地的或者在线的),使用 PAC 配置决定是否使用代理。
Switch Profile
高级功能。允许配置的不同条件,在满足条件时,自动应用不同的配置文件。
Virtual Profile
虚拟配置文件。根据需要Virtual Profile可以充当任何其他配置文件。它可以与 SwitchProfile 一起使用,只需点击一次即可更改多条件的结果。
关于配置文件的同步
SwitchyOmega 支持配置文件同步,但是一定要登录 Google 帐号的,因为同步服务由 Chrome Sync 提供,而此服务会上传数据到谷歌。
应用
禁用 Chrome 代理
在 Google Chrome 中,浏览器默认使用系统代理。当我们开启代理软件并使用代理软件的默认规则时,我们某些内部网站无意匹配到规则,进而导致我们的网站无法访问。
通过该插件,接管代理配置,我们直接使用 Direct 模式,以解决问题。
但是,该场景下,该浏览器便无法通过代理访问网站,我们能够接受这种情况,并用其他浏览器来访问外部往网站。
参考
https://www.switchyomega.com/settings.html
Ubuntu 下使用 Shadowsocks + GFWlist 实现全局 pac 代理:http://blog.sina.com.cn/s/blog_3c63c21b0102vla1.html
SwitchOmega 主页:https://github.com/FelisCatus/SwitchyOmega