jg23497 / Header-Inject

Open-source Chrome extension for injecting and overriding HTTP request headers
MIT License
14 stars 4 forks source link

Update to Chrome extension Manifest Version 3 (MV3) #4

Open jg23497 opened 2 years ago

jg23497 commented 2 years ago

Google is phasing out support for Chrome extensions using Manifest V2:

Beginning January 17, 2022, the Chrome Web Store will stop accepting any new Manifest V2 extensions with visibility set to “Public” or “Unlisted”. Existing Manifest V2 extensions that have previously been published publicly will not be affected by this change and updates to those already-published extensions will continue to be accepted.

Additionally, beginning in June of 2022, this restriction on new extensions will expand to include items set to “Private” visibility as well. For more details and dates relating to the phase-out of Manifest V2, please refer to the Manifest V2 Support Timeline page, which will be kept up to date as more exact dates and milestone details are available.

If you have not yet begun to do so, we recommend that you begin migrating your extensions to Manifest V3.

This will present a challenge for Header Inject as the declarativeNetRequest API must be used going forward to handle network request modification. The declarativeNetRequest API requires a static request modification rule-set, which is potentially too restrictive for Header Inject's dynamic header injection use case.

Further details: https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/

patricknelson commented 1 year ago

Watching this since I need a new extension. I originally used ModHeader which has since resorted to adware and apparently had a history of tracking users and even malware (the repo is now private). Thankfully the source code was released with GNU license, but that's not entirely relevant here (just ranting, sorry).

Anyway: Judging from the source code of the latest version of that extension (easily found on disk if you search for the extension ID, idgpnmonknjnojddfkpgkljpfnnfcklj), they're also using v2 manifest so not sure they solved that issue either.