Examine source code of Art Saver

Inspect and view changes in Art Saver source codes across current and past versions
Premium users can view and search full source code, and see the source code differences between two versions.
Upgrade to premium
manifest.json
{
  "manifest_version": 3,
  "name": "Art Saver",
  "version": "2.3.0",
  "description": "Easily download and track downloads in supported art gallery websites.",
  "browser_specific_settings": {
    "gecko": {
      "id": "{d1af7113-37c0-495e-8396-ee18861346c7}",
      "strict_min_version": "109.0"
    }
  },
  "options_ui": {
    "page": "options/options.html",
    "open_in_tab": true
  },
  "background": {
    "scripts": [
      "scripts/storage.js",
      "background/sites/deviantart.js",
      "background/sites/newgrounds.js",
      "background/sites/twitter.js",
      "background/sites/bluesky.js",
      "background/sites/pixiv.js",
      "background/sites/furaffinity.js",
      "background/sites/inkbunny.js",
      "background/settings.js",
      "background/background.js"
    ]
  },
  "icons": {
    "16": "icons/icon_16.svg",
    "48": "icons/icon.svg"
  },
  "action": {
    "default_popup": "/popup/popup.html"
  },
  "commands": {
    "_execute_action": {
      "suggested_key": {},
      "description": "Activate toolbar button"
    }
  },
  "permissions": [
    "downloads",
    "storage"
  ],
  "host_permissions": [
    "*://*/*"
  ],
  "web_accessible_resources": [
    {
      "resources": [
        "icons/*",
        "content/ui/*",
        "content/styles/*",
        "styles/*",
        "workers/*"
      ],
      "matches": [
        "*://*.deviantart.com/*",
        "*://*.newgrounds.com/*",
        "*://*.twitter.com/*",
        "*://*.x.com/*",
        "*://*.bsky.app/*",
        "*://*.pixiv.net/*",
        "*://*.furaffinity.net/*",
        "*://*.inkbunny.net/*"
      ]
    }
  ],
  "content_scripts": [
    {
      "matches": [
        "*://*.deviantart.com/*"
      ],
      "js": [
        "lib/purify.min.js",
        "background/sites/deviantart.js",
        "content/scripts/sites/deviantart.js"
      ]
    },
    {
      "matches": [
        "*://*.newgrounds.com/*"
      ],
      "js": [
        "background/sites/newgrounds.js",
        "content/scripts/sites/newgrounds.js"
      ]
    },
    {
      "matches": [
        "*://*.twitter.com/*",
        "*://*.x.com/*"
      ],
      "js": [
        "background/sites/twitter.js",
        "content/scripts/sites/twitter.js"
      ]
    },
    {
      "matches": [
        "*://*.bsky.app/*"
      ],
      "js": [
        "background/sites/bluesky.js",
        "content/scripts/sites/bluesky.js"
      ]
    },
    {
      "matches": [
        "*://*.pixiv.net/*"
      ],
      "js": [
        "background/sites/pixiv.js",
        "content/scripts/sites/pixiv.js"
      ]
    },
    {
      "matches": [
        "*://*.furaffinity.net/*"
      ],
      "js": [
        "background/sites/furaffinity.js",
        "content/scripts/sites/furaffinity.js"
      ]
    },
    {
      "matches": [
        "*://*.inkbunny.net/*"
      ],
      "js": [
        "background/sites/inkbunny.js",
        "content/scripts/sites/inkbunny.js"
      ]
    },
    {
      "matches": [
        "*://*.deviantart.com/*",
        "*://*.newgrounds.com/*",
        "*://*.twitter.com/*",
        "*://*.x.com/*",
        "*://*.bsky.app/*",
        "*://*.pixiv.net/*",
        "*://*.furaffinity.net/*",
        "*://*.inkbunny.net/*"
      ],
      "js": [
        "scripts/storage.js",
        "scripts/shortcuts.js",
        "content/scripts/classes.js",
        "content/scripts/main.js"
      ]
    }
  ]
}