d3245f0c22
CI / lint (push) Successful in 4s
CI / backend-lint-and-test (push) Successful in 37s
CI / frontend-build (push) Successful in 40s
extension / lint (push) Successful in 36s
CI / intimp (push) Successful in 4m4s
CI / intapi (push) Successful in 8m2s
CI / intcore (push) Successful in 8m45s
extension / lint (pull_request) Successful in 14s
Pre-upload verify request: after capturing the live browser cookies,
hit a known authenticated endpoint with credentials:'include' from the
extension's background context. If the platform reports we're not
logged in, abort the upload so we don't overwrite FC-side credentials
with stale data.
- platforms.js: add `verify` config per cookie-auth platform
- hentaifoundry: HEAD /?enterAgree=1 (mirrors gallery-dl's HF
_init_site_filters; same 401 path the operator hit 2026-06-03)
- patreon: GET /api/current_user (clean 401 when logged out)
- subscribestar, deviantart: no stable auth endpoint, skip verify
- cookies.js: verifyCookiesForPlatform() returns {ok, status, reason}.
ok=true/false/null tri-state — null = verify not configured, caller
treats as "proceed".
- background.js EXPORT_COOKIES + EXPORT_ALL_COOKIES: verify gates the
upload; failures bubble up with the platform's name + reason.
- popup.js: success message now appends "(verified ✓)" when applicable.
- manifest + package.json: 1.0.6 → 1.0.7.
77 lines
2.1 KiB
JSON
77 lines
2.1 KiB
JSON
{
|
|
"manifest_version": 3,
|
|
"name": "FabledCurator",
|
|
"version": "1.0.7",
|
|
"description": "Export cookies from supported platforms to FabledCurator and add creators as sources in one click.",
|
|
|
|
"browser_specific_settings": {
|
|
"gecko": {
|
|
"id": "fabledcurator@fabledsword.com",
|
|
"strict_min_version": "115.0"
|
|
}
|
|
},
|
|
|
|
"content_security_policy": {
|
|
"_comment": "Override the MV3 default CSP to OMIT upgrade-insecure-requests. FC runs over plain HTTP per the homelab posture (feedback_homelab_http), and the default MV3 CSP would silently upgrade every fetch(http://curator.../...) to https:// and fail with NS_ERROR_GENERATE_FAILURE. Operator-flagged 2026-05-26 after the 'Test connection' button errored despite a working CORS preflight on the backend.",
|
|
"extension_pages": "script-src 'self'; object-src 'self';"
|
|
},
|
|
|
|
"permissions": [
|
|
"cookies",
|
|
"storage",
|
|
"tabs",
|
|
"activeTab",
|
|
"webRequest",
|
|
"webRequestBlocking"
|
|
],
|
|
|
|
"host_permissions": [
|
|
"*://*.patreon.com/*",
|
|
"*://*.subscribestar.com/*",
|
|
"*://*.subscribestar.adult/*",
|
|
"*://*.hentai-foundry.com/*",
|
|
"*://*.discord.com/*",
|
|
"*://*.pixiv.net/*",
|
|
"*://*.deviantart.com/*",
|
|
"*://app-api.pixiv.net/*",
|
|
"*://oauth.secure.pixiv.net/*",
|
|
"*://*/*"
|
|
],
|
|
|
|
"action": {
|
|
"default_popup": "popup/popup.html",
|
|
"default_icon": "icons/icon.svg",
|
|
"default_title": "FabledCurator"
|
|
},
|
|
|
|
"background": {
|
|
"scripts": ["lib/platforms.js", "lib/cookies.js", "lib/api.js", "background/background.js"]
|
|
},
|
|
|
|
"options_ui": {
|
|
"page": "options/options.html",
|
|
"browser_style": true
|
|
},
|
|
|
|
"content_scripts": [
|
|
{
|
|
"matches": [
|
|
"*://*.patreon.com/*",
|
|
"*://*.subscribestar.com/*",
|
|
"*://*.subscribestar.adult/*",
|
|
"*://*.hentai-foundry.com/*",
|
|
"*://*.deviantart.com/*",
|
|
"*://*.pixiv.net/*"
|
|
],
|
|
"js": ["lib/platforms.js", "content/content-script.js"],
|
|
"css": ["content/content-script.css"],
|
|
"run_at": "document_idle"
|
|
}
|
|
],
|
|
|
|
"icons": {
|
|
"48": "icons/icon.svg",
|
|
"96": "icons/icon.svg"
|
|
}
|
|
}
|