CastReader — Read Aloud + AI Explain Firefox

Examine source code of CastReader — Read Aloud + AI Explain

Inspect and view changes in CastReader — Read Aloud + AI Explain source codes across current and past versions
Please login to examine the extension's source code.
manifest.json
{
  "manifest_version": 2,
  "name": "__MSG_extName__",
  "description": "__MSG_extDescription__",
  "version": "1.2.25",
  "icons": {
    "16": "/icon-16.png",
    "32": "/icon-32.png",
    "48": "/icon-48.png",
    "128": "/icon-128.png"
  },
  "default_locale": "en",
  "permissions": [
    "activeTab",
    "storage",
    "scripting",
    "contextMenus",
    "alarms",
    "*://api.castreader.ai/*",
    "*://castreader.ai/*",
    "*://*.cos.accelerate.myqcloud.com/*",
    "*://weread.qq.com/*",
    "*://www.youtube.com/*",
    "https://read.amazon.com/*",
    "https://read.amazon.co.uk/*",
    "https://read.amazon.ca/*",
    "https://read.amazon.com.au/*",
    "https://read.amazon.co.jp/*",
    "https://lesen.amazon.de/*",
    "https://read.amazon.de/*",
    "https://lire.amazon.fr/*",
    "https://read.amazon.fr/*",
    "https://leggi.amazon.it/*",
    "https://read.amazon.it/*",
    "https://leer.amazon.es/*",
    "https://read.amazon.es/*",
    "https://read.amazon.in/*",
    "https://ler.amazon.com.br/*",
    "https://read.amazon.com.br/*",
    "https://leer.amazon.com.mx/*",
    "https://read.amazon.com.mx/*",
    "https://lezen.amazon.nl/*",
    "https://read.amazon.nl/*",
    "https://read.amazon.cn/*",
    "*://docs.google.com/*",
    "<all_urls>"
  ],
  "browser_specific_settings": {
    "gecko": {
      "id": "castreader@castreader.ai",
      "strict_min_version": "140.0",
      "data_collection_permissions": {
        "required": [
          "websiteContent",
          "browsingActivity",
          "personallyIdentifyingInfo",
          "personalCommunications"
        ],
        "optional": [
          "technicalAndInteraction"
        ]
      }
    }
  },
  "content_security_policy": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'",
  "web_accessible_resources": [
    "pro-paywall/*",
    "tesseract/*",
    "content-scripts/weread-intercept.js",
    "content-scripts/kindle-intercept.js",
    "content-scripts/google-docs-intercept.js",
    "content-scripts/ireader-antidebug.js",
    "content-scripts/youtube-bridge.js"
  ],
  "background": {
    "scripts": [
      "background.js"
    ]
  },
  "content_scripts": [
    {
      "matches": [
        "<all_urls>"
      ],
      "all_frames": true,
      "run_at": "document_idle",
      "js": [
        "content-scripts/content.js"
      ]
    },
    {
      "matches": [
        "*://docs.google.com/*"
      ],
      "run_at": "document_start",
      "js": [
        "content-scripts/google-docs-hook.js"
      ]
    },
    {
      "matches": [
        "*://docs.google.com/*"
      ],
      "run_at": "document_start",
      "js": [
        "content-scripts/google-docs-intercept.js"
      ],
      "world": "MAIN"
    },
    {
      "matches": [
        "*://*.ireader.com.cn/*",
        "*://ireader.com.cn/*"
      ],
      "all_frames": true,
      "run_at": "document_start",
      "js": [
        "content-scripts/ireader-antidebug.js"
      ],
      "world": "MAIN"
    },
    {
      "matches": [
        "*://*.ireader.com.cn/*",
        "*://ireader.com.cn/*"
      ],
      "all_frames": true,
      "run_at": "document_start",
      "js": [
        "content-scripts/ireader-hook.js"
      ]
    },
    {
      "matches": [
        "https://leer.amazon.com.mx/*",
        "https://leer.amazon.es/*",
        "https://leggi.amazon.it/*",
        "https://ler.amazon.com.br/*",
        "https://lesen.amazon.de/*",
        "https://lezen.amazon.nl/*",
        "https://lire.amazon.fr/*",
        "https://read.amazon.ca/*",
        "https://read.amazon.cn/*",
        "https://read.amazon.co.jp/*",
        "https://read.amazon.co.uk/*",
        "https://read.amazon.com.au/*",
        "https://read.amazon.com.br/*",
        "https://read.amazon.com.mx/*",
        "https://read.amazon.com/*",
        "https://read.amazon.de/*",
        "https://read.amazon.es/*",
        "https://read.amazon.fr/*",
        "https://read.amazon.in/*",
        "https://read.amazon.it/*",
        "https://read.amazon.nl/*"
      ],
      "run_at": "document_start",
      "js": [
        "content-scripts/kindle-hook.js"
      ]
    },
    {
      "matches": [
        "https://leer.amazon.com.mx/*",
        "https://leer.amazon.es/*",
        "https://leggi.amazon.it/*",
        "https://ler.amazon.com.br/*",
        "https://lesen.amazon.de/*",
        "https://lezen.amazon.nl/*",
        "https://lire.amazon.fr/*",
        "https://read.amazon.ca/*",
        "https://read.amazon.cn/*",
        "https://read.amazon.co.jp/*",
        "https://read.amazon.co.uk/*",
        "https://read.amazon.com.au/*",
        "https://read.amazon.com.br/*",
        "https://read.amazon.com.mx/*",
        "https://read.amazon.com/*",
        "https://read.amazon.de/*",
        "https://read.amazon.es/*",
        "https://read.amazon.fr/*",
        "https://read.amazon.in/*",
        "https://read.amazon.it/*",
        "https://read.amazon.nl/*"
      ],
      "run_at": "document_start",
      "js": [
        "content-scripts/kindle-intercept.js"
      ],
      "world": "MAIN"
    },
    {
      "matches": [
        "*://weread.qq.com/*"
      ],
      "run_at": "document_start",
      "js": [
        "content-scripts/weread-hook.js"
      ]
    },
    {
      "matches": [
        "*://weread.qq.com/*"
      ],
      "run_at": "document_start",
      "js": [
        "content-scripts/weread-intercept.js"
      ],
      "world": "MAIN"
    },
    {
      "matches": [
        "*://www.youtube.com/*",
        "*://youtu.be/*"
      ],
      "run_at": "document_idle",
      "js": [
        "content-scripts/youtube-bridge.js"
      ],
      "world": "MAIN"
    },
    {
      "matches": [
        "*://www.youtube.com/*",
        "*://youtu.be/*"
      ],
      "run_at": "document_idle",
      "js": [
        "content-scripts/youtube-hook.js"
      ]
    }
  ],
  "browser_action": {
    "default_title": "__MSG_extName__"
  }
}

Best CastReader — Read Aloud + AI Explain Alternatives

Here are some Firefox add-ons that are similar to CastReader — Read Aloud + AI Explain: