2020-08-09 17:09:06 +00:00
|
|
|
{
|
|
|
|
"manifest": {
|
|
|
|
"manifest_version": 2,
|
|
|
|
"name": "Yomichan",
|
2022-04-04 23:17:43 +00:00
|
|
|
"version": "22.4.4.0",
|
2020-08-09 17:09:06 +00:00
|
|
|
"description": "Japanese dictionary with Anki integration",
|
|
|
|
"author": "Alex Yatskov",
|
|
|
|
"icons": {
|
2021-02-13 01:27:43 +00:00
|
|
|
"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"
|
2020-08-09 17:09:06 +00:00
|
|
|
},
|
|
|
|
"browser_action": {
|
|
|
|
"default_icon": {
|
2021-02-13 01:27:43 +00:00
|
|
|
"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"
|
2020-08-09 17:09:06 +00:00
|
|
|
},
|
|
|
|
"default_title": "Yomichan",
|
2021-02-13 04:23:26 +00:00
|
|
|
"default_popup": "action-popup.html"
|
2020-08-09 17:09:06 +00:00
|
|
|
},
|
|
|
|
"background": {
|
2021-02-13 04:03:15 +00:00
|
|
|
"page": "background.html",
|
2020-08-09 17:09:06 +00:00
|
|
|
"persistent": true
|
|
|
|
},
|
|
|
|
"content_scripts": [
|
|
|
|
{
|
2021-08-07 16:40:51 +00:00
|
|
|
"run_at": "document_idle",
|
2020-08-09 17:09:06 +00:00
|
|
|
"matches": [
|
|
|
|
"http://*/*",
|
|
|
|
"https://*/*",
|
|
|
|
"file://*/*"
|
|
|
|
],
|
2021-08-07 16:40:51 +00:00
|
|
|
"match_about_blank": true,
|
|
|
|
"all_frames": true,
|
2020-08-09 17:09:06 +00:00
|
|
|
"js": [
|
2021-02-14 03:52:28 +00:00
|
|
|
"js/core.js",
|
|
|
|
"js/yomichan.js",
|
2021-02-15 01:25:41 +00:00
|
|
|
"js/app/frontend.js",
|
2021-02-14 04:13:53 +00:00
|
|
|
"js/app/popup.js",
|
|
|
|
"js/app/popup-factory.js",
|
|
|
|
"js/app/popup-proxy.js",
|
|
|
|
"js/app/popup-window.js",
|
2022-04-03 20:20:55 +00:00
|
|
|
"js/app/theme-controller.js",
|
2021-02-15 01:25:41 +00:00
|
|
|
"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/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",
|
2021-02-14 04:13:53 +00:00
|
|
|
"js/app/content-script-main.js"
|
2021-08-07 16:40:51 +00:00
|
|
|
]
|
2020-08-09 17:09:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"minimum_chrome_version": "57.0.0.0",
|
|
|
|
"options_ui": {
|
2021-02-13 04:03:15 +00:00
|
|
|
"page": "settings.html",
|
2020-08-09 17:09:06 +00:00
|
|
|
"open_in_tab": true
|
|
|
|
},
|
2020-09-19 01:16:39 +00:00
|
|
|
"sandbox": {
|
|
|
|
"pages": [
|
2021-02-13 04:03:15 +00:00
|
|
|
"template-renderer.html"
|
2020-09-19 01:16:39 +00:00
|
|
|
],
|
2021-07-03 02:12:02 +00:00
|
|
|
"content_security_policy": "sandbox allow-scripts; default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'unsafe-inline'"
|
2020-09-19 01:16:39 +00:00
|
|
|
},
|
2020-08-09 17:09:06 +00:00
|
|
|
"permissions": [
|
|
|
|
"<all_urls>",
|
|
|
|
"storage",
|
|
|
|
"clipboardWrite",
|
|
|
|
"unlimitedStorage",
|
|
|
|
"webRequest",
|
|
|
|
"webRequestBlocking"
|
|
|
|
],
|
|
|
|
"optional_permissions": [
|
2021-02-08 22:52:41 +00:00
|
|
|
"clipboardRead",
|
2021-11-23 21:16:13 +00:00
|
|
|
"nativeMessaging",
|
|
|
|
"webNavigation"
|
2020-08-09 17:09:06 +00:00
|
|
|
],
|
|
|
|
"commands": {
|
2021-01-16 16:33:34 +00:00
|
|
|
"toggleTextScanning": {
|
2020-08-09 17:09:06 +00:00
|
|
|
"suggested_key": {
|
|
|
|
"default": "Alt+Delete"
|
|
|
|
},
|
2021-01-16 16:33:34 +00:00
|
|
|
"description": "Toggle text scanning on/off"
|
2020-08-09 17:09:06 +00:00
|
|
|
},
|
2021-01-18 19:22:48 +00:00
|
|
|
"openInfoPage": {
|
2021-01-18 20:35:24 +00:00
|
|
|
"description": "Open the info page"
|
2021-01-16 16:33:34 +00:00
|
|
|
},
|
|
|
|
"openSettingsPage": {
|
|
|
|
"description": "Open the settings page"
|
|
|
|
},
|
|
|
|
"openSearchPage": {
|
2020-08-09 17:09:06 +00:00
|
|
|
"suggested_key": {
|
|
|
|
"default": "Alt+Insert"
|
|
|
|
},
|
2021-01-16 16:33:34 +00:00
|
|
|
"description": "Open the search page"
|
|
|
|
},
|
|
|
|
"openPopupWindow": {
|
|
|
|
"description": "Open the popup window"
|
2020-08-09 17:09:06 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"web_accessible_resources": [
|
2021-02-13 04:23:26 +00:00
|
|
|
"popup.html",
|
2021-02-13 04:03:15 +00:00
|
|
|
"template-renderer.html"
|
2020-08-09 17:09:06 +00:00
|
|
|
],
|
2021-03-14 22:41:15 +00:00
|
|
|
"content_security_policy": "default-src 'self'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"
|
2020-08-09 17:09:06 +00:00
|
|
|
},
|
2021-05-31 17:24:40 +00:00
|
|
|
"defaultVariant": "base",
|
2020-08-09 17:09:06 +00:00
|
|
|
"variants": [
|
2021-05-31 17:24:40 +00:00
|
|
|
{
|
|
|
|
"name": "base",
|
2021-06-01 02:24:17 +00:00
|
|
|
"buildable": false
|
2021-05-31 17:24:40 +00:00
|
|
|
},
|
2020-08-09 17:09:06 +00:00
|
|
|
{
|
2020-09-26 17:40:09 +00:00
|
|
|
"name": "chrome",
|
2021-05-31 17:24:40 +00:00
|
|
|
"inherit": "base",
|
2020-12-18 21:46:00 +00:00
|
|
|
"fileName": "yomichan-chrome.zip",
|
|
|
|
"excludeFiles": [
|
2020-12-18 22:06:30 +00:00
|
|
|
"sw.js",
|
2021-02-14 16:19:54 +00:00
|
|
|
"js/dom/simple-dom-parser.js",
|
2021-02-14 02:28:47 +00:00
|
|
|
"lib/parse5.js"
|
2020-12-18 21:46:00 +00:00
|
|
|
]
|
2020-09-26 17:40:09 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "chrome-dev",
|
2021-05-31 17:24:40 +00:00
|
|
|
"inherit": "chrome",
|
2020-09-26 17:40:09 +00:00
|
|
|
"fileName": "yomichan-chrome-dev.zip",
|
|
|
|
"modifications": [
|
|
|
|
{
|
|
|
|
"action": "replace",
|
|
|
|
"path": ["name"],
|
|
|
|
"pattern": "^.*$",
|
|
|
|
"patternFlags": "",
|
|
|
|
"replacement": "$& (development build)"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "replace",
|
|
|
|
"path": ["description"],
|
|
|
|
"pattern": "^(.*)(?:\\.\\s*)?$",
|
|
|
|
"patternFlags": "",
|
|
|
|
"replacement": "$1. This is a development build; get the stable version here: https://tinyurl.com/yaatdjmp"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2020-12-18 20:54:05 +00:00
|
|
|
{
|
|
|
|
"name": "chrome-mv3",
|
2021-05-31 17:24:40 +00:00
|
|
|
"inherit": "base",
|
2020-12-18 20:54:05 +00:00
|
|
|
"fileName": "yomichan-chrome-mv3.zip",
|
|
|
|
"modifications": [
|
|
|
|
{"action": "set", "path": ["manifest_version"], "value": 3},
|
2021-11-23 21:16:13 +00:00
|
|
|
{"action": "set", "path": ["minimum_chrome_version"], "value": "96.0.0.0"},
|
2020-12-18 20:54:05 +00:00
|
|
|
{"action": "move", "path": ["browser_action"], "newPath": ["action"]},
|
|
|
|
{"action": "delete", "path": ["background", "page"]},
|
|
|
|
{"action": "delete", "path": ["background", "persistent"]},
|
|
|
|
{"action": "set", "path": ["background", "service_worker"], "value": "sw.js"},
|
|
|
|
{"action": "move", "path": ["content_security_policy"], "newPath": ["content_security_policy_old"]},
|
|
|
|
{"action": "set", "path": ["content_security_policy"], "value": {}},
|
|
|
|
{"action": "move", "path": ["content_security_policy_old"], "newPath": ["content_security_policy", "extension_pages"]},
|
|
|
|
{"action": "move", "path": ["sandbox", "content_security_policy"], "newPath": ["content_security_policy", "sandbox"]},
|
|
|
|
{"action": "remove", "path": ["permissions"], "item": "<all_urls>"},
|
2020-12-18 22:18:00 +00:00
|
|
|
{"action": "remove", "path": ["permissions"], "item": "webRequestBlocking"},
|
|
|
|
{"action": "add", "path": ["permissions"], "items": ["declarativeNetRequest", "scripting"]},
|
2020-12-18 20:54:05 +00:00
|
|
|
{"action": "set", "path": ["host_permissions"], "value": ["<all_urls>"], "after": "optional_permissions"},
|
2021-11-23 21:16:13 +00:00
|
|
|
{"action": "remove", "path": ["optional_permissions"], "item": "webNavigation"},
|
2020-12-18 20:54:05 +00:00
|
|
|
{"action": "move", "path": ["web_accessible_resources"], "newPath": ["web_accessible_resources_old"]},
|
|
|
|
{"action": "set", "path": ["web_accessible_resources"], "value": [{"resources": [], "matches": ["<all_urls>"]}], "after": "web_accessible_resources_old"},
|
|
|
|
{"action": "move", "path": ["web_accessible_resources_old"], "newPath": ["web_accessible_resources", 0, "resources"]}
|
2020-12-18 22:06:30 +00:00
|
|
|
],
|
|
|
|
"excludeFiles": [
|
2021-02-13 04:03:15 +00:00
|
|
|
"background.html",
|
2021-02-14 16:19:54 +00:00
|
|
|
"js/dom/native-simple-dom-parser.js"
|
2020-12-18 20:54:05 +00:00
|
|
|
]
|
|
|
|
},
|
2020-09-26 17:40:09 +00:00
|
|
|
{
|
|
|
|
"name": "firefox",
|
2021-05-31 17:24:40 +00:00
|
|
|
"inherit": "base",
|
2020-09-26 17:40:09 +00:00
|
|
|
"fileName": "yomichan-firefox.xpi",
|
|
|
|
"modifications": [
|
|
|
|
{
|
|
|
|
"action": "remove",
|
|
|
|
"path": ["web_accessible_resources"],
|
2021-02-13 04:03:15 +00:00
|
|
|
"item": "template-renderer.html"
|
2020-09-26 17:40:09 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "delete",
|
|
|
|
"path": ["sandbox"]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "set",
|
|
|
|
"path": ["content_security_policy"],
|
2021-03-14 22:41:15 +00:00
|
|
|
"value": "default-src 'self'; script-src 'self' 'unsafe-eval'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"
|
2020-09-26 17:40:09 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "set",
|
|
|
|
"path": ["browser_specific_settings"],
|
|
|
|
"value": {
|
|
|
|
"gecko": {
|
|
|
|
"id": "alex@foosoft.net",
|
|
|
|
"strict_min_version": "57.0"
|
|
|
|
}
|
|
|
|
}
|
2021-02-08 22:52:41 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "remove",
|
|
|
|
"path": ["optional_permissions"],
|
|
|
|
"item": "nativeMessaging"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "add",
|
|
|
|
"path": ["permissions"],
|
|
|
|
"items": ["nativeMessaging"]
|
2020-09-26 17:40:09 +00:00
|
|
|
}
|
2020-12-18 21:46:00 +00:00
|
|
|
],
|
|
|
|
"excludeFiles": [
|
2020-12-18 22:06:30 +00:00
|
|
|
"sw.js",
|
2021-02-14 16:19:54 +00:00
|
|
|
"js/dom/simple-dom-parser.js",
|
2021-02-14 02:28:47 +00:00
|
|
|
"lib/parse5.js"
|
2020-08-09 17:09:06 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
2020-09-26 17:40:09 +00:00
|
|
|
"name": "firefox-dev",
|
|
|
|
"inherit": "firefox",
|
|
|
|
"fileName": "yomichan-firefox-dev.xpi",
|
2020-08-09 17:09:06 +00:00
|
|
|
"modifications": [
|
|
|
|
{
|
|
|
|
"action": "replace",
|
|
|
|
"path": ["name"],
|
|
|
|
"pattern": "^.*$",
|
|
|
|
"patternFlags": "",
|
|
|
|
"replacement": "$& (development build)"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "replace",
|
|
|
|
"path": ["description"],
|
|
|
|
"pattern": "^(.*)(?:\\.\\s*)?$",
|
|
|
|
"patternFlags": "",
|
|
|
|
"replacement": "$1. This is a development build; get the stable version here: https://tinyurl.com/yaatdjmp"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "set",
|
2020-09-26 17:40:09 +00:00
|
|
|
"path": ["browser_specific_settings", "gecko", "id"],
|
2020-08-09 17:09:06 +00:00
|
|
|
"value": "alex.testing@foosoft.net"
|
2021-01-25 22:24:09 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"action": "set",
|
|
|
|
"path": ["browser_specific_settings", "gecko", "update_url"],
|
|
|
|
"value": "https://foosoft.net/projects/yomichan/dl/updates.json"
|
2020-08-09 17:09:06 +00:00
|
|
|
}
|
2020-12-18 21:46:00 +00:00
|
|
|
],
|
|
|
|
"excludeFiles": [
|
2020-12-18 22:06:30 +00:00
|
|
|
"sw.js",
|
2021-02-14 16:19:54 +00:00
|
|
|
"js/dom/simple-dom-parser.js",
|
2021-02-14 02:28:47 +00:00
|
|
|
"lib/parse5.js"
|
2020-08-09 17:09:06 +00:00
|
|
|
]
|
2022-05-22 15:26:36 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "firefox-mv3",
|
|
|
|
"inherit": "firefox",
|
|
|
|
"fileName": "yomichan-firefox-mv3.xpi",
|
|
|
|
"modifications": [
|
|
|
|
{"action": "set", "path": ["manifest_version"], "value": 3},
|
|
|
|
{"action": "set", "path": ["browser_specific_settings", "gecko", "strict_min_version"], "value": "101.0"},
|
|
|
|
{"action": "move", "path": ["browser_action"], "newPath": ["action"]},
|
|
|
|
{"action": "delete", "path": ["background", "persistent"]},
|
|
|
|
{"action": "move", "path": ["content_security_policy"], "newPath": ["content_security_policy_old"]},
|
|
|
|
{"action": "set", "path": ["content_security_policy"], "value": {}},
|
|
|
|
{"action": "move", "path": ["content_security_policy_old"], "newPath": ["content_security_policy", "extension_pages"]},
|
|
|
|
{"action": "remove", "path": ["permissions"], "item": "<all_urls>"},
|
|
|
|
{"action": "add", "path": ["permissions"], "items": ["scripting"]},
|
|
|
|
{"action": "set", "path": ["host_permissions"], "value": ["<all_urls>"], "after": "optional_permissions"},
|
|
|
|
{"action": "remove", "path": ["optional_permissions"], "item": "webNavigation"},
|
|
|
|
{"action": "move", "path": ["web_accessible_resources"], "newPath": ["web_accessible_resources_old"]},
|
|
|
|
{
|
|
|
|
"action": "set",
|
|
|
|
"path": ["web_accessible_resources"],
|
|
|
|
"value": [
|
|
|
|
{
|
|
|
|
"resources": [],
|
|
|
|
"matches": [
|
|
|
|
"http://*/*",
|
|
|
|
"https://*/*",
|
|
|
|
"file://*/*"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"after": "web_accessible_resources_old"
|
|
|
|
},
|
|
|
|
{"action": "move", "path": ["web_accessible_resources_old"], "newPath": ["web_accessible_resources", 0, "resources"]}
|
|
|
|
],
|
|
|
|
"excludeFiles": [
|
|
|
|
"sw.js",
|
|
|
|
"js/dom/simple-dom-parser.js",
|
|
|
|
"lib/parse5.js"
|
|
|
|
]
|
2020-08-09 17:09:06 +00:00
|
|
|
}
|
|
|
|
]
|
2020-08-24 01:20:14 +00:00
|
|
|
}
|