Code Monkey home page Code Monkey logo

chromium-notifier's Introduction

Important Notice

This project is going to be archived in March 2023. It's been a fun one and I'm happy to have given something back to the Chromium community. The project has been on cruise-control for quite some time anyway, mostly because I've stopped using it myself. To keep it working beyond the coming months it's going to need some updates which I simply lack the time (and motivation to make time) for. Parts of the functionality need to be re-written to work in a service worker context for manifest v3. The privacy proxy needs updating to adapt to backend changes. On top of that, it's running at its capacity limits since months and I don't feel like paying for higher service tiers (it runs on Vercel/MongoDB Atlas). It doesn't help that some forks of the extension have their users hammer on the error logger either.

There's going to be one last update in the form of v2.0.0. It will have the option to use the privacy proxy removed, which I'm going to shut down (also includes the error logger). Apart from that, the functionality will be identical to the latest v1 (v1.8.9). So if you want to track updates for your installed extensions (which is optional), you're going to have to let it communicate with origin servers directly (i.e. Google, with all privacy implications).

v2.0.0 (or v1.8.9 with the privacy proxy disabled) should keep working for as long as the Woolyss API and the Chrome Web Store API do not introduce breaking changes and your preferred Chromium build supports installing manifest v2 extensions (in some way).

Chromium Update Notifications

This extension will periodically check Woolyss and display a "New" icon badge once the version found for the selected platform/tag is different to the one you're currently using. Additionally it can track updates for and manage all installed extensions (those supporting it).

Installation

  1. Review source code
  2. Download the .crx file from latest release
  3. Navigate to chrome://extensions
  4. Drag-and-drop the .crx file into the browser window

Installing via "Load unpacked extension"

If it's not possible to enable or install the extension and a warning tells you "This extension is not listed in the Chrome Web Store and may have been added without your knowledge" or "crx required proof missing", try the following:

  1. Download and unpack the source code from the latest release or git-clone the master branch of this repository into a local folder
  2. Navigate to chrome://extensions
  3. Enable developer mode
  4. Click on "Load unpacked extension" and select folder

Please note that it's not possible to update via "Load unpacked extension". Every extension installed via this method will be installed as a separate and new extension, regardless of previously installed versions. If you've cloned the repository however, you can just git-pull the new release tag and click on the reload button in the extension's tile at chrome://extensions to update seamlessly.

I plan to list this extension in the Chrome Web Store soon to get around this issue (see #14).

Configuration

Click on the extension's icon, select platform (mac, win64 etc.) and tag – i.e. the Chromium version you're using – and enable tracking of extension updates if desired.

You can also enable error tracking to help improving this extension and increase your privacy by using a proxy to fetch extension updates. The latter will strip all personal and adtech-related data your browser might send if it requests the data directly (this was always enabled in versions prior to 1.7.0, now it's optional). I use a public Vercel deployment to host the proxy, so you can review all of the actual source code used to run it. (Removed in v2.0.0, see comment on top!)

If your Chromium build contains this patch, you may set the flag chrome://flags/#extension-mime-request-handling to "Always prompt for install" to enable 1-click installation of extension updates.

chromium-notifier's People

Contributors

kkkrist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chromium-notifier's Issues

Extension's Update Notification Bug

I have a few extension installed on my Chromium (win64-stable-ungoogled-marmaduke)

I also have Chromium Web Store installed.

I have the latest version 1.4.4.3 of this extension but Chromium Notifier tells me "There is an update v1.4.4.1" ??
It is old but there is always "New" notification on the Chromium Notifier icon.

Please check this.

Screenshot_1

Notification buggy

Hi there and thanks for your work. It's appreciated.
The plugin icon at the toolbar in chromium always shows the "NEW" badge again and again after some minutes/hours, even if there is no update. I click on the icon, but then there is just this for example:

Chromium v100.0.4896.127
Current: v100.0.4896.127
Revision: 1086 (16.4.2022, 00:51:08)
Settings
Last update: 16.4.2022, 14:45:20

... nothing new.

Revision: Invalid Date

image

this issue is very similar to #39, but it's not the same issue probs.

i have already triggered the re-fetch and reopened the browser several times. will probably try reinstalling the extension

Update logo and publishing.

Hi, firstly the logos should be updated to reflect the new Chromium logo. Second, why have you not published this to the chrome web store. I recently made an account, and have added these extensions.
https://chrome.google.com/webstore/detail/chromium-vector-icon-pain/cnlndebkegcfnbiknohgneobakigplhf
https://chrome.google.com/webstore/detail/crunchbangplusplus-scroll/mfindlbbleadbcpkgbkbfojnghelnfil
https://chrome.google.com/webstore/detail/cog-system-info-viewer/bkapefioegaebnkbjpfbbemmmcholeii
https://chrome.google.com/webstore/detail/thorium-scrollbars/ilhogmofjjmlbjoceipichhgfnnbldcn
https://chrome.google.com/webstore/detail/thorium-material-dark-the/dahfohiipmpcppjbablgfoggbogdmddp

I can update the logos and publish it for you, as well as update it to manifest v3 so that it will continue working in the future.

UA Reduction considerations

Hey there,

At the moment, the notifier uses the user agent to determine whether or not the current browser is out of date. This may not be as reliable in the future as UA reduction is slated to start rolling out soon. This behaviour can be tested via the #reduce-user-agent or #freeze-user-agent (pre-M93).

A more reliable way to handle this situation in the future may be to use navigator.userAgentData.getHighEntropyValues(["uaFullVersion"]), with the current method as a fallback.

Thanks,
Elliott

Find new ways to retrieve version info from extension store APIs

Currently we're retrieving extension version info from https://clients2.google.com/service/update2. Unfortunately Google seems to have stripped version info from responses making our extension list all installed extensions under "No update info available". So we need to reverse-engineer how regular Chrome handles updates now and find another way to get the info.

As I've stopped using this extension myself a while ago and currently have hardly time to spare, it would be nice if someone else could do the reverse-engineering part. I'd happily update the api calls and push a new version once that's done.

Example API call:

GET /service/update2/crx?x=id%3Dklbibkeccnjlkjkiokjodocebajanakg%26uc&prodversion=77.0.3865.90

Response before update:

<?xml version="1.0" encoding="UTF-8"?>
<gupdate
  xmlns="http://www.google.com/update2/response" protocol="2.0" server="prod">
  <daystart elapsed_days="4663" elapsed_seconds="48885"/>
  <app appid="klbibkeccnjlkjkiokjodocebajanakg" cohort="" cohortname="" status="ok">
    <updatecheck
      codebase="https://clients2.googleusercontent.com/crx/blobs/QgAAAC6zw0qH2DJtnXe8Z7rUJP2HvPGsVbNocCmvAYPMRjisorNmqhpnTLF5kfM_x5cjrac1ZvHxGOLo21Olggkw2LJ7BwtZ42flI_pnI31sOOUpAMZSmuUe58K32zpo3MVYzpqHgPeyd42LRQ/extension_7_1_0_0.crx"
      fp="1.dc8b9ef8af7ed4d8b9d5ee658395cc034e7d00042bd7beffe6a20f897daccab3"
      hash_sha256="dc8b9ef8af7ed4d8b9d5ee658395cc034e7d00042bd7beffe6a20f897daccab3"
      protected="0"
      size="262658"
      status="ok"
      version="7.1.0"
    />
  </app>
</gupdate>

Current response

<?xml version="1.0" encoding="UTF-8"?>
<gupdate
  xmlns="http://www.google.com/update2/response" protocol="2.0" server="prod">
  <daystart elapsed_days="5215" elapsed_seconds="14970"/>
  <app appid="klbibkeccnjlkjkiokjodocebajanakg" cohort="1::" cohortname="" status="ok">
    <updatecheck _esbAllowlist="false" status="noupdate"/>
  </app>
</gupdate>

How to solve: No update info available

I have created a WebExtension, but i really don't want to publish this Extension in the Chrome Store. Is a publication in the store required, when i want to check for Extension updates? I Have tried to use your extension as a template and have added "update_url" in manifest.json pointing to a XML file in https://raw.githubusercontent.com/..., the file is available and the URL works, but the message "No update info available" is not gone yet. Can you please give some hints, how i can solve this?

Invalid Date

Hi, the extension showed an error icon. This is the content:
Untitled
Is this normal?

Extension won't fetch data for a long time (if at all)

Hello again,

another (possible) bug: I sometimes have the problem that the extension is taking ages (haven't measured yet exactly how long, but it is running unchanged now for over an hour) for it to actually finish its search for updates ("Waiting for data...").
I don't yet know which combination of browser restart(s), extension reloads and just waiting reliably resolves this.

See the screenshots below for the error messages.

Console-Tab

During these times the console shows an error like this:
image

Which leads to the following part in background.js:
image


All the while the console for the pop-up shows this:
image

With this corresponding part in popup.js:
image

EDIT:
With v1.7.3 this still occurs but the error in background.js is gone! Errors in popup.js are still there. (With the same error messages.)

TypeError: Failed to fetch

When openening Chromium, the extension instantly displays "Error" in red.

Error message is "TypeError: Failed to fetch".

Current: v96.0.4664.45
Revision: 929512 (19.11.2021, 02:46:54)
Tracking win64-stable-ungoogled-marmaduke

Can I provide other useful information to help debug this?

Track Extensions Causing Issue

If I enable the "Track Extensions" option, the menu no longer shows up. Clicking on the icon will produce a small, thin, blank menu. Also, there is no #extension-mime-request-handling flag to change. I'm using Win64-stable Chromium 78.0.3904.70.

Hibbiki Stable tag missing?

Hi,

In Tags, you don't list the Hibbiki tag? I use the Hibbiki version to get the Sync and Google integration included.

Thanks
Kevin

Make fetching update info via the proxy optional

When I first wrote this extension, I didn't know that you can relax CORS restrictions for certain URLs by adding them to the manifest's permissions (this is my first extension after all). So I created a proxy service to bypass them, foremost for URLs pointing to the Chrome Web Store. But the proxy has also helped a great deal debugging problems. That's why I've kept it in place even after learning it's actually not needed.

Now I've learned through this comment that Chromium can block extensions not listed in the Chrome Web Store from working at all. So it's time to to list it. As the proxy solution is probably not going to make it through the review process, I want to ditch it. This should be fairly easy as most of the code needed can be ported from the proxy.

Update:

As the request headers sent to Google when directly fetching extension info may contain lots of cookies with personal and adtech-related data, I now plan to make by-passing the proxy optional. Users then can choose to strip their personal data by using the proxy or trust Google with it. If this will keep the extension from being listed in the store, so be it.

Don't work since Monday. Any idea?

Don't work since Monday. Any idea?
I updated now manually to Build #4646
I disabled the extension and activated it... no update of the last search from Monday the 13th
Screenshot 2021-09-17 161356

crx required proof missing

I am getting this error when trying to install the plugin, even under developer mode. I have just installed chromium, so it's the latest version (79.0.3945.88). Any idea what I could try?

Version number no longer visible

Hallo,

seit ein paar Wochen wird die Versionsnummer vom Win64 Dev official nicht mehr im Addon angezeigt. Auf der offiziellen Website ebenso nicht mehr.

Screenshot 2021-11-04 092056
Screenshot 2021-11-04 092135

Mit freundlichen Grüßen

Installation on Version 87.0.4280.88 macOs fails

Dear @kkkrist,

I tried to install your notifier in a fresh installation of Chromium for macOs, Version 87.0.4280.88 and got the following message:

Package is invalid: "CRX_REQUIRED_PROOF_MISSING".

I am using macOs 10.15.7 and downloaded your latest release version from Github.

Regards,
Felix

Excessive CPU/GPU consumption

Hello there,

firstly, thank you very much for this extension.

Recently (since the last 2 version if I recall correctly) the extension is using excessive amounts of GPU and CPU processing power. Enough that my laptop fan is running at full speed while I'm actually doing nothing. While idling Process Explorer tells me that it uses constantly up to 20% of my CPU and almost 50% of my GPU.

I'm on Windows 10 x64 Version 1809. My laptop uses an Intel Core i7-8550U, has 16GB of RAM and an Intel UHD Graphics 620.

Would be nice if you could take a look into that.

Extension Updates show the same Version-Number as new

Since the last version of the "Update Notifications Plugin" (1.8.6), the extension manager shows the same version number as "new" for many plug-ins. The information displayed is not correct; the plug-ins do not have this version number in the current version.

Bildschirmfoto 2021-11-10 um 07 29 40

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.