No more CORS error by appending 'Access-Control-Allow-Origin: *' header to local and remote web requests when enabled

Latest Version

Version
0.3.8
Update
February 10, 2024
Size
203KiB
Developer
Category
Users
200,000+
Rating
4.16049 ★
Manifest Version
2
Web Store Status
Languages Support
English
See more
Permissions
Storage

WebRequest
WebRequestBlocking
DeclarativeNetRequest
ContextMenus
Debugger
See more

CORS Unblock Extension

This extension bypasses the \"XMLHttpRequest\" and \"fetch\" rejections by altering the \"Access-Control-Allow-Origin\" and \"Access-Control-Allow-Methods\" headers for every request that the browser receives. You can activate the extension by pressing the action button. Also, use the right-click context menu over the action button to modify which headers the extension manipulates. You can also ask the extension not to overwrite these headers when the server returns values for them.

The default values for the headers:

Access-Control-Allow-Origin: request initiator or empty
Access-Control-Allow-Methods\": GET, PUT, POST, DELETE, HEAD, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK
Access-Control-Allow-Methods: request initiator or empty
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: request initiator or *

Additional Features:
1. It can remove the following CSP-related headers:
\"Content-Security-Policy\", \"Content-Security-Policy-Report-Only\", \"X-WebKit-CSP\" and \"X-Content-Security-Policy\".

2. It can overwrite the returned 4xx status code from the server. Use this feature when a server does not support a method, but you want to pretend it does.

3. It can append necessary headers to pretend websites (local or remote hosts) support SharedArrayBuffer class.

4. It can permit cross-origin frame embedding (by removing the \"X-Frame-Options\" header) to simplify remote page embedding during local development.

5. It can include or exclude the \"referer\" and \"origin\" headers when a server is sensitive to them to work appropriately.

6. The extension optionally uses the \"chrome.debugger\" to overwrite 4xx status codes (in case a server does not support a method, you can use this feature to pretend the server accepts a response or supports an unsupported method).

7. The extension also optionally fixes CORS policies of redirected URLs.

--
It is important to note that this extension fixes preflight requests to permit access to any custom header (when enabled).

Links:
1. For reporting bugs, please use the link https://github.com/balvin-perrie/Access-Control-Allow-Origin---Unblock.

2. To have better control over CSP (content-security-policy), try my https://chrome.google.com/webstore/detail/csp-unblock/lkbelpgpclajeekijigjffllhigbhobd.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "manifest_version": 2, "version": "0.3.8", "name": "CORS Unblock", "description": "__MSG_description__", "default_locale": "en", "permissions": [ "storage", "", "webRequest", "webRequestBlocking", "declarativeNetRequest", "contextMenus", "debugger" ], "declarative_net_request" : { "rule_resources" : [{ "id": "x-frame", "enabled": false, "path": "rulesets/x-frame.json" }, { "id": "overwrite-origin", "enabled": false, "path": "rulesets/overwrite-origin.json" }, { "id": "allow-credentials", "enabled": false, "path": "rulesets/allow-credentials.json" }, { "id": "allow-headers", "enabled": false, "path": "rulesets/allow-headers.json" }, { "id": "referer", "enabled": false, "path": "rulesets/referer.json" }, { "id": "csp", "enabled": false, "path": "rulesets/csp.json" }, { "id": "allow-shared-array-buffer", "enabled": false, "path": "rulesets/allow-shared-array-buffer.json" }] }, "icons": { "16": "/data/icons/16.png", "32": "/data/icons/32.png", "48": "/data/icons/48.png", "64": "/data/icons/64.png", "128": "/data/icons/128.png", "256": "/data/icons/256.png", "512": "/data/icons/512.png" }, "homepage_url": "https://webextension.org/listing/access-control.html", "browser_action":{}, "background": { "scripts": [ "worker.js", "context.js", "v2.js" ] }}
Read more