Formato Completo del manifest.json de extensiones del Google Chrome

Iniciado por **Aincrad**, 10 Junio 2021, 22:40 PM

0 Miembros y 1 Visitante están viendo este tema.

**Aincrad**


Hola, como dice en el titulo, necesito el formato completo del archivo "manifest.json" de extensiones para navegador google chrome.

Por ejemplo, tengo el ejmplo de Google aqui que es :

Código (java) [Seleccionar]
{
  // Required
  "manifest_version": 3,
  "name": "My Extension",
  "version": "versionString",

  // Recommended
  "action": {...},
  "default_locale": "en",
  "description": "A plain text description",
  "icons": {...},

  // Optional
  "action": ...,
  "author": ...,
  "automation": ...,
  "background": {
    // Required
    "service_worker":
  },
  "chrome_settings_overrides": {...},
  "chrome_url_overrides": {...},
  "commands": {...},
  "content_capabilities": ...,
  "content_scripts": [{...}],
  "content_security_policy": "policyString",
  "converted_from_user_script": ...,
  "current_locale": ...,
  "declarative_net_request": ...,
  "devtools_page": "devtools.html",
  "differential_fingerprint": ...,
  "event_rules": [{...}],
  "externally_connectable": {
    "matches": ["*://*.example.com/*"]
  },
  "file_browser_handlers": [...],
  "file_system_provider_capabilities": {
    "configurable": true,
    "multiple_mounts": true,
    "source": "network"
  },
  "homepage_url": "http://path/to/homepage",
  "host_permissions": [...],
  "import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],
  "incognito": "spanning, split, or not_allowed",
  "input_components": ...,
  "key": "publicKey",
  "minimum_chrome_version": "versionString",
  "nacl_modules": [...],
  "natively_connectable": ...,
  "oauth2": ...,
  "offline_enabled": true,
  "omnibox": {
    "keyword": "aString"
  },
  "optional_permissions": ["tabs"],
  "options_page": "options.html",
  "options_ui": {
    "chrome_style": true,
    "page": "options.html"
  },
  "permissions": ["tabs"],
  "platforms": ...,
  "replacement_web_app": ...,
  "requirements": {...},
  "sandbox": [...],
  "short_name": "Short Name",
  "storage": {
    "managed_schema": "schema.json"
  },
  "system_indicator": ...,
  "tts_engine": {...},
  "update_url": "http://path/to/updateInfo.xml",
  "version_name": "aString",
  "web_accessible_resources": [...]
}






Hay todo bien, pero cuando voy a una extension de las que tengo instaladas en mi navegador, y reviso el archivo "manifest.json" de dicha extension, me doy cuenta que hay campos que nos salen en el ejemplo de google.

Por ejemplo :

Código (java) [Seleccionar]
{
   "background": {
      "persistent": false,
      "scripts": [ "common.js", "mirroring_common.js", "background_script.js" ]
   },
   "content_security_policy": "default-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; script-src 'self' https://apis.google.com https://feedback.googleusercontent.com https://www.google.com https://www.gstatic.com; child-src https://accounts.google.com https://content.googleapis.com https://www.google.com; connect-src 'self' http://*:* https://*:*; font-src https://fonts.gstatic.com;",
   "default_locale": "en",
   "description": "Provider for discovery and services for mirroring of Chrome Media Router",
   "differential_fingerprint": "1.3bba8f43f392ecbc35b582986edcbf7c6591081b63f3f0214f8eed1d239b0f60",
   "externally_connectable": {
      "ids": [ "idmofbkcelhplfjnmmdolenpigiiiecc", "ggedfkijiiammpnbdadhllnehapomdge", "njjegkblellcjnakomndbaloifhcoccg" ]
   },
   "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNTWJoPZ9bT32yKxuuVa9LSEYobjPoXCLX3dgsZ9djDrWKNikTECjdRe3/AFXb+v8jkmmtYQPnOgSYn06J/QodDlCIG6l470+gkOoobUM7fOs1AVOse23qYUV4jbuRW3+YZlCvaWCFeczCNbGIUgKEi5B2fyQazy60AL1sLW3utQIDAQAB",
   "manifest_version": 2,
   "minimum_chrome_version": "37",
   "name": "Chrome Media Router",
   "oauth2": {
      "client_id": "919648714761-55j965o0km033psv3i9qls5mo3qtdrb0.apps.googleusercontent.com",
      "scopes": [ "https://www.googleapis.com/auth/calendar.readonly", "https://www.googleapis.com/auth/hangouts", "https://www.googleapis.com/auth/hangouts.readonly", "https://www.googleapis.com/auth/meetings", "https://www.googleapis.com/auth/userinfo.email" ]
   },
   "permissions": [ "alarms", "cast", "declarativeWebRequest", "desktopCapture", "gcm", "http://*/*", "identity", "identity.email", "management", "mdns", "mediaRouterPrivate", "metricsPrivate", "networkingPrivate", "processes", "storage", "system.cpu", "settingsPrivate", "tabCapture", "tabs", "https://hangouts.google.com/*", "https://*.google.com/cast/chromecast/home/gsse" ],
   "update_url": "https://clients2.google.com/service/update2/crx",
   "version": "9121.329.0.0",
   "web_accessible_resources": [ "cast_sender.js" ]
}



Como ves, es ese ejemplo , estan campos que en el ejemplo de google no hay, los cuales son : "persistent" y "scripts" , entro otros campos.





En pocas palabras , necesito un "manifest.json" Completo , con todos los campos y que hallan.







Serapis

#1
https://datatracker.ietf.org/doc/html/rfc8259

...y ya con la documentación del formato del manifest y la especificación de json,  podrás satisfacer tu interés

**Aincrad**

Hola, gracias por responder, básicamente necesito todos los campos de puede llevar el archivo "manifest.json" en las extensiones de google chrome, para posteriormente deserializar .

No encontré nada referente a eso, en la pagina que suministraste. pero de todos modos gracias.