polcak / jsrestrictor

JavaScript Restrictor web extension
GNU General Public License v3.0
251 stars 29 forks source link

FPD stopped working in v0.19 on Kiwi Browser (Android) #211

Closed Y-T-G closed 1 month ago

Y-T-G commented 2 months ago

Summary

It was working fine until v0.18.1. But after the update to v0.19, it no longer works.

I tried reinstalling and it still doesn't work. Downgrading to v0.18.1 works.

OS: Android 12 Browser: Kiwi Browser Other extensions that might affect JShelter behaviour: uBlock Origin

How to reproduce

  1. Install Kiwi Browser.
  2. Install JShelter from Chrome Web Store
  3. Try testing fingerprint detection at amiunique.org (no detection)

Expected result

JShelter FPD should get triggered and a notification sent.

Actual result

No detection, notification or abuse count on JShelter icon.

Reproducibility

No. It's on Android, so only a few browsers support extensions such as Kiwi.

Workarounds

Downgrading to v0.18.1 works.

Have you tried other steps to solve the issue?

  1. I tried checking the dev tools logs. It showed the following error:
    document_start.js:74 ReferenceError: fp_assemble_injection is not defined
    at wrapWindow (document_start.js:31:15)
    at configureInjection (document_start.js:49:51)
    at <anonymous>:16:22
    at <anonymous>:26:11 'Trying to initialize wrappers.'
    configureInjection  @   document_start.js:74

I don't know JS enough to resolve it.

Additional information / notes

Kiwi Browser supports Dev Tools natively, so I could get any other logs or information you may need

polcak commented 1 month ago

Hello,

just to make sure, have you activated Extensions Developer Mode, see https://jshelter.org/mv3-jshelter-debut/ or more specifically https://developer.chrome.com/docs/extensions/reference/api/userScripts#developer_mode_for_extension_users?

If the mode is on, could you try:

  1. Click the popup icon of JShelter.
  2. Click "Global options"
  3. Click expert settings.
  4. Copy the content of the text area to a separate file and backup the settings if you do not want to lose that.
  5. Reset the configuration to the default state.

Let us know if the problem persists with a default configuration.

To recover the settings, paste the backup to the text area. Click on the overwrite settings button.

hackademix commented 1 month ago

Yes, it's very likely the developer mode not being toggled. And I'm not even sure it is possible on Kiwi Browser, is it?

Y-T-G commented 1 month ago

Hello.

Developer Mode is on.

image

But I don't think it works. https://github.com/kiwibrowser/src.next/issues/1152

Kiwi Browser hasn't been updated in some time, so the Chromium version it uses is pretty outdated. I doubt it has any Manifest v3 restrictions yet.

polcak commented 1 month ago

I guess that this is not a matter of restrictions in Kiwi but rather Kiwi does not have enough support of Manifest v3 APIs. When Kiwi merges the changes in the latest Chromium, the JShelter (and other extensions like Tampermonkey) will start to work again.

We never listed Kiwi as a supported browser. Chrome Web Store will only support Mv3 extensions. A workaround for users is to install 0.18. If anyone is willing to volunteer to support 0.18 for future updates, let me know.

For now, I am closing this issue as JShelter needs browsers that support Mv3 by design.