開発

SwitchyOmegaの使い方とChromeで使えない理由:後継ZeroOmegaへの移行と設定例

SwitchyOmegaの使い方とChromeで使えない理由:後継ZeroOmegaへの移行と設定例

SwitchyOmegaは、ブラウザのプロキシを宛先ごとに切り替える拡張機能です。Chromeでは2025年7月のChrome 138以降、Manifest V2の拡張機能として無効化され、2026年8月31日にはChromeウェブストアからも削除されました。この記事では、2026年10月時点の公式情報をもとに、後継フォークのZeroOmega 3.5.2系への移行手順、SSHトンネルをSOCKS5プロファイルとして使う設定、Auto Switchのルール書式とPACでの再現方法を、コピーして使える設定例付きで説明します。拡張機能を使わずに同じ切り替えを実現する起動フラグと、組織として採用すべきでない場面も判断基準として示します。

まとめ:ChromeでSwitchyOmegaの代わりにZeroOmegaを選ぶ条件

ChromeとEdgeで同じ使い方を続けるなら、移行先はZeroOmegaです。SwitchyOmegaのソースを引き継いだManifest V3対応のフォークで、プロファイル・Auto Switch・ルール書式の考え方はそのまま通用します。元のSwitchyOmegaは作者が保守終了を告知しており、Chromeで動かす手段は残っていません。

ただし、拡張機能でのプロキシ切り替えは、開発者や検証担当が手元で使う道具にとどめるべきです。社内の全端末に同じ経路を配るなら、PACファイルの配布やゼロトラスト型のアクセスを提供するサービスに置き換えます。個人が設定したルールは、退職や端末交換のたびに失われるためです。

SwitchyOmegaがChromeで動かない理由と開発停止までの時系列

最初に、SwitchyOmegaが今どうなっているかを整理します。検索上位の手順記事の多くはManifest V2時代に書かれており、そのままでは再現できません。

Chrome 138でのManifest V2無効化と2026年8月のストア削除

ChromeのManifest V2サポート終了のタイムラインによると、2025年3月31日に全チャネルでManifest V2拡張機能が既定で無効になり、2025年7月24日のChrome 138で再有効化もできなくなりました。企業向けの例外ポリシーExtensionManifestV2AvailabilityはChrome 139で削除され、Chrome 138が最後の対応版です。

同じページには、2026年8月31日に残っていたManifest V2拡張機能がストアからすべて削除されたと追記されています。Chrome 138以前に入れたものは動き続けますが、更新は届かず、一度消すと再インストールできません。SwitchyOmegaはManifest V2のまま止まっているため、この影響をそのまま受けました。

作者の保守終了告知と旧Firefox版2.5.10の更新状況

作者は2025年1月12日、GitHubのissue #2513で、プロジェクトの保守を終えたと告知しました。Manifest V3への書き直しは規模が大きく、レビューする時間が取れないという理由です。GitHubの最終リリースは2018年8月27日のv2.5.20でした。

Firefoxには今も旧SwitchyOmegaの掲載が残っています。ただし版は2.5.10、最終更新は2018年1月28日です。動くことと保守されていることは別の話なので、Firefoxでも後継のZeroOmegaへ移す方を勧めます。

拡張機能がchrome.proxy APIでPACを差し込む仕組み

SwitchyOmega系の拡張機能は、設定画面で作ったプロファイルを内部のomega-pacモジュールでPACスクリプトに変換し、ブラウザのプロキシ設定へ差し込みます。使うのはChromeのproxy APIで、マニフェストに"proxy"権限を宣言した拡張機能だけが呼べます。最小の例は次のとおりです。

// manifest.json に "permissions": ["proxy"] が必要
chrome.proxy.settings.set({
  value: {
    mode: "pac_script",
    pacScript: {
      data: "function FindProxyForURL(url, host) {\n" +
            "  if (dnsDomainIs(host, '.internal.example.co.jp')) return 'SOCKS5 127.0.0.1:1080';\n" +
            "  return 'DIRECT';\n" +
            "}"
    }
  },
  scope: "regular"
});

modeにはdirect・auto_detect・pac_script・fixed_servers・systemの5種類があります。Auto Switchはこのpac_scriptで動くため、後で触れるPACの制約をそのまま受け継ぎます。

ZeroOmegaの導入と旧SwitchyOmegaの設定を移す手順

移行先のZeroOmegaは、SwitchyOmegaのリポジトリをフォークし、Manifest V3へ対応させたプロジェクトです。ライセンスも元と同じGPL v3以降を引き継いでいます。

READMEの掲載リンクからZeroOmega公式版を入れるインストール手順

入手先は、ZeroOmegaのGitHubリポジトリのREADMEに並ぶ3つのストアです。似た名前の拡張機能が複数あるため、検索結果から選ばずにREADMEのリンクから開いてください。

  1. READMEの「Chrome Web Store」からProxy SwitchyOmega 3 (ZeroOmega)を開き、URL末尾のIDがpfnededegaaopdmhkdmcofjmoldfipedであることを確かめる
  2. EdgeではEdge Add-ons、FirefoxではFirefox Add-onsの掲載から入れる
  3. 追加後、ツールバーに固定し、旧SwitchyOmegaが残っていれば削除する

2026年10月5日時点でChromeウェブストアの版は3.5.2、更新日は2026年9月10日、利用者数は90万人と表示されています。オフライン環境向けには、ReleasesページにCRXとXPIのファイルも置かれています。

旧環境の設定を書き出して取り込む方法とGist・WebDAV同期

旧SwitchyOmegaがまだ開けるブラウザ(Firefox版や、Chrome 138以前のまま止めた端末)があれば、設定画面の「Import/Export」からバックアップファイルを書き出し、ZeroOmega側の同じ画面で復元します。Chromeで無効化された拡張機能は設定画面を開けないため、その場合はプロファイルを手で作り直すことになります。

v3.5.2のリリースノートには、既存のプロファイルが既定では以前とまったく同じに動くよう直したと書かれています。移した後の端末間の共有は、Gistによる同期と、v3.5.0で入ったWebDAV同期が使えます。プロファイルにはプロキシのホスト名が含まれるため、公開Gistに置かないよう注意してください。

SSHのSOCKS5トンネルをZeroOmegaのプロファイルに設定する例

開発現場で多い使い方は、踏み台サーバー経由でしか届かない検証環境を、ブラウザの一部の通信だけトンネルに通す形です。VPNと違い、PC全体の経路は変えません。両者の違いはプロキシとVPNの違いと企業での選び方で整理しています。

ssh -Dで手元の1080番ポートにSOCKS5の入口を開くコマンド

OpenSSHのsshのマニュアルによると、-Dはダイナミックポートフォワーディングの指定で、指定したポートでSOCKS4とSOCKS5のサーバーとして振る舞います。次のコマンドで、手元の1080番に入口が開きます。

# -N はリモートでコマンドを実行しない指定。接続中だけトンネルが開く
ssh -N -D 127.0.0.1:1080 -l deploy bastion.example.co.jp

# 鍵や多段接続は ~/.ssh/config 側にまとめておくと短く書ける
# Host bastion
#   HostName bastion.example.co.jp
#   User deploy
#   IdentityFile ~/.ssh/id_ed25519
#   DynamicForward 127.0.0.1:1080

127.0.0.1を明示しているのは、同じネットワークの他の端末からこの入口を使わせないためです。鍵認証の設定はSSH接続の仕組みと公開鍵認証の設定、入口になるサーバーの設計は踏み台サーバーの構築と多段接続で確認できます。

プロファイルのプロトコル・バイパス一覧とSOCKS5のDNS解決

ZeroOmegaでは「New profile」から「Proxy Profile」を作り、プロトコルをSOCKS5、サーバーを127.0.0.1、ポートを1080にします。「Bypass List」には、トンネルに通さない宛先を1行ずつ書きます。既定で入っている127.0.0.1・[::1]・localhostは残してください。

SOCKS5を選ぶ利点は、名前解決もトンネルの向こう側で行われる点です。ChromiumのSOCKSプロキシの説明も、SOCKS5ではホスト名をプロキシ側で解決すると書いています。社内DNSにしか載っていない*.internal系の名前も、この方式なら引けます。なお、v3.5.1でSOCKS経由のDNS問い合わせを止める設定が加わりました。手元のDNSで解決させたい場合だけ切り替えます。

Auto Switchのルール書式とPACで宛先ごとに振り分ける設定

宛先ごとにプロファイルを使い分けるのがAuto Switchです。画面の表で編集できますが、ルールが10行を超えたらテキストで管理した方が、差分を追いやすくなります。

SwitchyOmega Conditions書式でルールをテキスト管理する例

ルール一覧のテキスト書式は、SwitchyOmegaのwikiの条件書式で定義されています。先頭行は[SwitchyOmega Conditions]で、@with resultを書くと、各条件の末尾に+プロファイル名で振り分け先を付けられます。

[SwitchyOmega Conditions]
@with result

@note 社内の検証環境は SSH トンネル経由
*.internal.example.co.jp +ssh-tunnel

@note 顧客の検証サーバーは顧客指定のプロキシ
*.stg.customer.example +customer-proxy

@note 社内ポータルだけは除外して既定へ
!portal.internal.example.co.jp

* +direct

条件は上から順に評価され、最初に一致した行で止まります。@with resultを使うときは、最後に*の行が必須です。プレフィックスの無い行はホスト名のワイルドカード、UrlWildcard:(略記UW:)はURL全体、UrlRegex:は正規表現として扱われます。!付きの行は、最後の*行に書いた既定の振り分け先へ送られます。

HTTPSのURL条件がパスで分岐しないPAC側の制約と振り分け単位

よくある詰まりどころが、UrlWildcard: https://example.com/admin/*のようにパスまで書いた条件が効かないケースです。MDNのPACファイルの説明によると、https://のURLはPACに渡る前にパスとクエリが取り除かれ、Chrome 75以降はこれを無効にする方法がありません。

Auto SwitchはPACとして動くため、HTTPSの宛先はホスト名単位でしか振り分けられません。パスで経路を変えたい要件は、ブラウザ側の設定ではなく、サーバー側のリバースプロキシで振り分けるのが筋です。

同じ振り分けをPACファイルと起動フラグで拡張機能なしに再現する例

拡張機能を入れられない端末では、同じ振り分けをPACファイルで書けます。使える関数はisPlainHostName()・dnsDomainIs()・shExpMatch()などで、戻り値に;区切りで複数書くと左から順に試されます。

function FindProxyForURL(url, host) {
  // ドットを含まないホスト名は直結
  if (isPlainHostName(host)) return "DIRECT";
  // 社内の検証環境だけ SSH トンネル(SOCKS5)へ
  if (dnsDomainIs(host, ".internal.example.co.jp")) return "SOCKS5 127.0.0.1:1080";
  // 顧客の検証サーバーは指定プロキシ。落ちていたら直結
  if (shExpMatch(host, "*.stg.customer.example")) return "PROXY 192.0.2.10:8080; DIRECT";
  return "DIRECT";
}

全通信を1本のSOCKS5へ流すだけなら、Chromeの起動フラグで足ります。Chromiumの説明にある--host-resolver-rulesを併せて付けると、ブラウザ内部の先読みが手元のDNSへ問い合わせる漏れを防げます。

# Windows(PowerShell)。--user-data-dir で別プロファイルとして起動しないと、
# 既に開いているChromeに吸収されてフラグが効かない
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --user-data-dir="$env:TEMP\chrome-socks" `
  --proxy-server="socks5://127.0.0.1:1080" `
  --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE 127.0.0.1"

設定が効いているかは、アドレスバーにchrome://net-internals/#proxyを入れると、現在の実効プロキシ設定として確認できます。

ZeroOmegaを採用する条件と組織で拡張機能に頼らない場面

最後に、ZeroOmegaを使うべき場面と使わない場面を言い切ります。判断の軸は「誰の端末で、誰が設定を管理するか」の1点です。

開発者が検証環境を個人で切り替える用途での設定管理と採用基準

採用するのは、開発者や検証担当が、自分のブラウザで複数の検証環境やプロキシを行き来する用途です。顧客ごとに指定プロキシが違う受託開発の現場や、SSHトンネル経由でしか見られない管理画面の確認が典型になります。ルールが数十行に収まり、設定を本人が管理できる規模なら、ZeroOmegaで十分です。

この用途でも、権限の重さは理解しておきます。プロキシ権限と全サイトへのアクセス権を持つ拡張機能は、ブラウザの通信経路を書き換えられる立場にあります。READMEのリンク以外から入れない、ソースが公開されている版を使う、の2点は譲らないでください。

全社端末のプロキシ管理を拡張機能に任せない理由と組織向けの置き換え先

全社の端末に同じ経路を強制したい場合は採用しません。拡張機能は利用者が無効にでき、設定も端末ごとにばらつきます。SwitchyOmegaのように保守が止まれば、全員が一斉に移行作業を負うことにもなります。

組織としては、PACファイルをWebサーバーから配布して端末管理で強制するか、利用者と端末を認証してから社内アプリへ通す方式に移します。後者の考え方を比較する際の参考は、ゼロトラストネットワーク(ZTNA)とVPNの違いです。踏み台やVPC、接続経路の設計から見直す場合は、AWS・Google Cloud・Azureのインフラ構築でご相談いただけます。

SwitchyOmega・ZeroOmegaの使い方に関するよくある質問

SwitchyOmegaの移行と設定について、検索されやすい疑問に短く答えます。Chromeでの扱い、後継の安全性、確認方法などをまとめました。

SwitchyOmegaはChromeでもう使えないのですか?

使えません。Chrome 138以降はManifest V2の拡張機能を再有効化できず、Chrome 139では企業向けの例外ポリシーも削除されました。2026年8月31日にはストアからも消えています。Chromeで同じ操作を続けるなら、Manifest V3に対応した後継フォークのZeroOmegaへ移してください。

ZeroOmegaは安全に使える拡張機能ですか?

ソースはGitHubで公開され、ライセンスは元のSwitchyOmegaと同じGPL v3以降です。2026年9月にもv3.5.2が出ており、保守は続いています。ただし似た名前の掲載が複数あるため、READMEに載っているストアのリンクから入れ、ChromeではIDがpfnededegaaopdmhkdmcofjmoldfipedであることを確かめてください。

Microsoft EdgeやFirefoxでもZeroOmegaは使えますか?

どちらのブラウザでも利用可能です。READMEには、Chromeウェブストアに加えてEdge Add-onsとFirefox Add-onsの掲載が並んでいます。Firefoxの旧SwitchyOmega 2.5.10は今も入れられますが、2018年1月から更新が止まっているため、ブラウザをまたいで設定を揃える意味でもZeroOmegaに統一する方が管理しやすくなります。

Auto SwitchでURLのパスごとにプロキシを分けられないのはなぜですか?

Auto SwitchはPACスクリプトとして動き、ChromeはHTTPSのURLをPACへ渡す前にパスとクエリを取り除くためです。Chrome 75以降はこの動作を無効にできません。HTTPSの宛先はホスト名単位で振り分ける設計にし、パスで経路を変える必要があればサーバー側のリバースプロキシで処理します。

プロキシの設定が実際に効いているかを確認する方法はありますか?

Chromeのアドレスバーにchrome://net-internals/#proxyを入れると、ブラウザが使っている実効のプロキシ設定が表示されます。拡張機能が設定を差し込めていれば、そこにPACやプロキシサーバーが出ます。SSHトンネルの場合は、ターミナル側でssh -N -Dの接続が切れていないかも併せて確かめてください。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.05.22 テックブログ Irodori-TTSとは?v4.1の使い方・絵文字一覧・商用利用とv3からの変更点
  2. 2026.04.02 コラム 延滞税の計算方法|令和8年は年2.8%と9.1%、起算日と1,000円未満切捨て
  3. 2025.06.09 テックブログ Java仮想マシン(JVM)とは?仕組み・メモリ構成・JITを実機の出力で解説
  4. 2026.04.02 テックブログ Cloudflare EmDashとは?料金・WordPress移行・プラグインの実仕様【v0.29.0/2026年7月】
  5. 2026.01.22 テックブログ Xアルゴリズム最新(2026年9月)|おすすめの仕組みと公開コードの重み一覧

RELATED POSTS 関連記事

目次