備忘録

備忘録

Chrome拡張機能でProxy設定情報を取得する方法

Ⅰ. はじめに

タイトルの通り「Chrome拡張機能でProxy設定情報を取得する方法」です。

Ⅱ. やり方

1. サンプルプログラムを書く

manifest.json

{
  "manifest_version": 2,
  "name": "ChromeTestExtension",
  "version": "1.0.0",
  "background": {
    "scripts": [ "scripts/background.js" ]
  },
  "content_scripts": [
    {
      "js": [ "scripts/content_script.js" ],
      "matches": [ "*://example.com/*" ],
      "run_at": "document_end"
    }
  ],
  "permissions": [ "tabs", "proxy" ]
}

scripts/background.js

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  switch (message.action) {
    case 'get_proxy_info':
      chrome.proxy.settings.get({ 'incognito': false }, (config) => {
        sendResponse(config)
      })
      break
  }

  return true
})

scripts/content_script.js

chrome.runtime.sendMessage({ action: "get_proxy_info" }, result => {
  console.log(result)
})

実行結果

Proxy設定情報の取得に成功し、システムの設定値が使用されている事がわかる
f:id:kagasu:20210401140046p:plain