Engine Switcher

Switch current search result page between various search engines (DuckDuckGo, Ecosia, StartPage, Bing, Google) in just one click, if you are tired to type !b, !g (especially on mobile) again and again in DuckDuckGo.
Premium users can view and search full source code, and see the source code differences between two versions.
Upgrade to premium
manifest.json
{
  "manifest_version": 2,
  "name": "Engine Switcher",
  "version": "0.9.0",
  "applications": {
    "gecko": {
      "id": "{44dc2f10-2812-48f1-bb39-e880679115b0}"
    }
  },
  "description": "Switch between various search engines in one click",
  "icons": {
    "256": "img/icon.png"
  },
  "page_action": {
    "browser_style": true,
    "default_icon": {
      "256": "img/icon.png"
    },
    "default_title": "Switch Engine!"
  },
  "background": {
    "scripts": [
      "dist/background.js"
    ]
  },
  "content_scripts": [
    {
      "run_at": "document_start",
      "matches": [
        "*://*.startpage.com/*",
        "*://duckduckgo.com/*",
        "*://*.ecosia.org/*",
        "*://gibiru.com/*",
        "*://metager.org/*",
        "*://metager.de/*",
        "*://you.com/*",
        "*://www.onesearch.com/*",
        "*://*.bing.com/*",
        "*://search.brave.com/*",
        "*://yandex.ru/*",
        "*://yandex.com/*",
        "*://www.google.com/*",
        "*://search.yahoo.com/*",
        "*://search.yahoo.co.jp/*",
        "*://search.goo.ne.jp/*",
        "*://en.wikipedia.org/*"
      ],
      "js": [
        "dist/content.js"
      ],
      "css": [
        "dist/content_tippy.css"
      ]
    }
  ],
  "permissions": [
    "tabs",
    "storage"
  ],
  "web_accessible_resources": [
    "img/engines/*.svg",
    "img/engines/*.png",
    "img/engines/*.webp"
  ],
  "commands": {
    "_execute_page_action": {
      "suggested_key": {
        "default": "Ctrl+Alt+N",
        "linux": "Ctrl+Alt+N"
      },
      "description": "Switch to next search engine."
    }
  },
  "options_ui": {
    "page": "dist/options_ui.html",
    "open_in_tab": false
  }
}