Yomichan

Yomichan

Japanese dictionary with Anki integration

Merlin
Additional files are visible only to premium users

manifest.json


{
  "update_url": "https://clients2.google.com/service/update2/crx",
  "manifest_version": 2,
  "name": "Yomichan",
  "version": "22.10.23.0",
  "description": "Japanese dictionary with Anki integration",
  "author": "Alex Yatskov",
  "icons": {
    "16": "images/icon16.png",
    "19": "images/icon19.png",
    "32": "images/icon32.png",
    "38": "images/icon38.png",
    "48": "images/icon48.png",
    "64": "images/icon64.png",
    "128": "images/icon128.png"
  },
  "browser_action": {
    "default_icon": {
      "16": "images/icon16.png",
      "19": "images/icon19.png",
      "32": "images/icon32.png",
      "38": "images/icon38.png",
      "48": "images/icon48.png",
      "64": "images/icon64.png",
      "128": "images/icon128.png"
    },
    "default_title": "Yomichan",
    "default_popup": "action-popup.html"
  },
  "background": {
    "page": "background.html",
    "persistent": true
  },
  "content_scripts": [
    {
      "run_at": "document_idle",
      "matches": [
        "http://*/*",
        "https://*/*",
        "file://*/*"
      ],
      "match_about_blank": true,
      "all_frames": true,
      "js": [
        "js/core.js",
        "js/yomichan.js",
        "js/app/frontend.js",
        "js/app/popup.js",
        "js/app/popup-factory.js",
        "js/app/popup-proxy.js",
        "js/app/popup-window.js",
        "js/app/theme-controller.js",
        "js/comm/api.js",
        "js/comm/cross-frame-api.js",
        "js/comm/frame-ancestry-handler.js",
        "js/comm/frame-client.js",
        "js/comm/frame-offset-forwarder.js",
        "js/data/sandbox/string-util.js",
        "js/dom/dom-text-scanner.js",
        "js/dom/document-util.js",
        "js/dom/text-source-element.js",
        "js/dom/text-source-range.js",
        "js/input/hotkey-handler.js",
        "js/language/text-scanner.js",
        "js/script/dynamic-loader.js",
        "js/app/content-script-main.js"
      ]
    }
  ],
  "minimum_chrome_version": "57.0.0.0",
  "options_ui": {
    "page": "settings.html",
    "open_in_tab": true
  },
  "sandbox": {
    "pages": [
      "template-renderer.html"
    ],
    "content_security_policy": "sandbox allow-scripts; default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'unsafe-inline'"
  },
  "permissions": [
    "<all_urls>",
    "storage",
    "clipboardWrite",
    "unlimitedStorage",
    "webRequest",
    "webRequestBlocking"
  ],
  "optional_permissions": [
    "clipboardRead",
    "nativeMessaging",
    "webNavigation"
  ],
  "commands": {
    "toggleTextScanning": {
      "suggested_key": {
        "default": "Alt+Delete"
      },
      "description": "Toggle text scanning on/off"
    },
    "openInfoPage": {
      "description": "Open the info page"
    },
    "openSettingsPage": {
      "description": "Open the settings page"
    },
    "openSearchPage": {
      "suggested_key": {
        "default": "Alt+Insert"
      },
      "description": "Open the search page"
    },
    "openPopupWindow": {
      "description": "Open the popup window"
    }
  },
  "web_accessible_resources": [
    "popup.html",
    "template-renderer.html"
  ],
  "content_security_policy": "default-src 'self'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"
}