Add manifest.firefox.json for Firefox MV3 (gecko ID, background scripts instead of service_worker, options_ui). Introduce browser-polyfill.js shim so all modules use whichever API is available (browser.* or chrome.*). Add build.sh to target chrome, firefox, or both. https://claude.ai/code/session_01Dvgwe7XMoSxnWXkih8p1Cw
57 lines
1.3 KiB
JSON
57 lines
1.3 KiB
JSON
{
|
|
"manifest_version": 3,
|
|
"name": "Silent Send",
|
|
"version": "0.1.0",
|
|
"description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.",
|
|
"browser_specific_settings": {
|
|
"gecko": {
|
|
"id": "silent-send@example.com",
|
|
"strict_min_version": "128.0"
|
|
}
|
|
},
|
|
"permissions": [
|
|
"storage",
|
|
"activeTab",
|
|
"scripting"
|
|
],
|
|
"host_permissions": [
|
|
"https://claude.ai/*"
|
|
],
|
|
"background": {
|
|
"scripts": ["src/background/service-worker.js"],
|
|
"type": "module"
|
|
},
|
|
"content_scripts": [
|
|
{
|
|
"matches": ["https://claude.ai/*"],
|
|
"js": ["src/content/injector.js"],
|
|
"css": ["src/content/content.css"],
|
|
"run_at": "document_start",
|
|
"all_frames": true
|
|
}
|
|
],
|
|
"action": {
|
|
"default_popup": "src/popup/popup.html",
|
|
"default_icon": {
|
|
"16": "icons/icon16.svg",
|
|
"48": "icons/icon48.svg",
|
|
"128": "icons/icon128.svg"
|
|
}
|
|
},
|
|
"options_ui": {
|
|
"page": "src/options/options.html",
|
|
"open_in_tab": true
|
|
},
|
|
"icons": {
|
|
"16": "icons/icon16.svg",
|
|
"48": "icons/icon48.svg",
|
|
"128": "icons/icon128.svg"
|
|
},
|
|
"web_accessible_resources": [
|
|
{
|
|
"resources": ["src/content/content.js"],
|
|
"matches": ["https://claude.ai/*"]
|
|
}
|
|
]
|
|
}
|