Skip to content

Commit

Permalink
[meta] pnpm lock, better chrome instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
yellowsink committed Dec 2, 2022
1 parent 33a838c commit 08589c0
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 5 deletions.
50 changes: 50 additions & 0 deletions CHROME.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Google, Chrome, and Chromium.

_-- A complaint by Yellowsink._
(and why injecting shelter on Chrome is harder than Firefox).

shelter necessarily requires a few things from the injector that cannot be
done from inside of shelter itself.

These are:

- injecting it very early
- removing security where necessary

In Manifest V2 WebExtensions and in Electron, this is doable.

Google, however, decided that MV2 is no longer an acceptable format for extensions,
despite there being nothing really that wrong with it.

So they proposed Manifest V3. This new standard is a massive blow to the freedom an
functionality of many web extensions - worryingly ad blockers are a big category,
I wonder why Google would possibly make ad blockers difficult...

shelter has an injector for Manifest V3 browsers, courtesy of work done by Phorcys
to get Cumcord to inject without MV2.

---

This extension has some caveats:

- Necessarily displays a "debugging this page" popup for a while on load
- Can only remove CSP restrictions for `fetch()` requests: no css `@import` or `<script src="...">`
- If a themer is ever made then this will be a big problem
- There are possible fixes for this, may be investigated down the line.

---

The Google's greed argument goes further than just ad blockers, though.

You may notice that the extension is not (at the time of writing)
on the Chrome Webstore.

Microsoft and Mozilla both allowed me to upload an extension for
free and have it reviewed.

Google decided first that I was not allowed to be a developer due
to my age (????). But even if someone else had published for me,
they also want a $5 fee before you can even start.

So for now, you can load the mv2 or mv3 extension manually.
See README.md for instructions
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,13 @@ https://addons.mozilla.org/en-GB/firefox/addon/shelter-injector/

### Chromium based browser

- download this repo
- copy the `injectors/webext` folder to somewhere safe
- go to extensions and enable developer mode
- click load unpacked and choose the folder in its safe place
- ignore the mv2 error (see chrome.md one ive written it)
- Grab the latest MV2 release from this repo
- Drag and drop the zip file onto the Chromium extensions page.
- Ignore the MV2 error (see CHROME.md for more details)

You can also do the same with the MV3 release.
This will not throw an error about MV2 however there are a few
caveats - notably worse CSP removal - see CHROME.md

## How do I make a plugin?

Expand Down
6 changes: 6 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 08589c0

Please sign in to comment.