ungoogled-software / ungoogled-chromium

Google Chromium, sans integration with Google
BSD 3-Clause "New" or "Revised" License
20.8k stars 844 forks source link

automatic updates (or just checking for updates) for the browser and extensions #174

Open magicgoose opened 7 years ago

magicgoose commented 7 years ago

This would a good thing, because outdated browsers and extensions are a security risk. And checking manually every time is meh, I'm sure most users will just forget about it.

Eloston commented 7 years ago

We could probably create some sort of extension that users can install to have this functionality. Or we could have some external utility to check for updates.

I am open to suggestions.

9Morello commented 7 years ago

An extension that checks for new Chromium versions would be cool. Not sure whats the best way for extensions, though.

sp-1234 commented 7 years ago

https://blog.chromium.org/2009/07/smaller-is-faster-and-safer-too.html https://dev.chromium.org/developers/design-documents/software-updates-courgette tl;dr original chromium uses updates in form of binary diffs and they are very size-efficient

Probably if these diffs are generated and uploaded to "Github releases" too, they might work too.

woolyss commented 7 years ago

Henry updated its tool (chrlauncher) to install, update and launch ungoogled-chromium ;) https://github.com/henrypp/chrlauncher/issues/33#issuecomment-279736691

...but nothing about extensions. Sorry.

magicgoose commented 7 years ago

@woolyss it's only for windows™.

woolyss commented 7 years ago

@magicgoose, Yes. It is only for Windows.

I know it is possible to write a shell script to update ungoogled-chromium on Mac and Linux. An example about Chromium: https://github.com/mloporchio/chromium-downloader-script More on my site: https://chromium.woolyss.com/#updater (this is about Chromium but can be improved for ungoogled-chromium)

Eloston commented 7 years ago

It's a bit unnecessary to provide an external updater system for Linux, as most Linux systems come with a package system. For Mac, I think there are several packaging systems out there already.

woolyss commented 7 years ago

Yes @Eloston, I completely agree with you.

koichirose commented 7 years ago

Any news on this? Is there a way to at least have notifications about new updates?

pjv commented 7 years ago

i wrote a super-kludgy shell script with a node package dependency, a dependency on jq, and a dependency on curl that looks at the extensions you have installed and then downloads the latest version from the play store into a directory of your choosing. You then have to drag them into the extensions page to install the updates.

It only works with play store extensions and it's a long way from a proper updater, but it beats doing it all manually, and I think if anyone wanted to it could be improved/extended.

Here's a gist.

EDIT: this is only tested on OS X.

Unkn0wn-MDCLXIV commented 7 years ago

I've written a small script to update and install extensions easily. It's windows only tho, but if there is demand I can upload and release it on github. See my other reply at #226

ajkblue commented 7 years ago

I've found the easiest way to keep ungoogled-chromium updated is with brew cask, which will automatically install the latest version for me as long as I run "brew update".

Eloston commented 6 years ago

For users of feeds, an Atom feed is available for the contributor binaries download page

XXLCXX commented 6 years ago

Eloston - Give please the link to download your browser. DEBIAN

antonin-lebrard commented 6 years ago

@sem5959 https://ungoogled-software.github.io/ungoogled-chromium-binaries/

XXLCXX commented 6 years ago

Спасибо.

unicorntaco commented 6 years ago

I favor the idea of an extension to perform these various checks. It would be great if that extension would accept SOCKS5 proxy (with auth) for googley chittering.

ownchoice commented 6 years ago

This is the only downside of using Ungoogled Chromium for me. I don't want to have the browser and extensions outdated, and updating manually is a little bit painful.

Eloston commented 6 years ago

FYI my proposed solution for automatic extension updates is in #285.

intika commented 6 years ago

Update checker for UC : Here are some extensions solution that can be used to check for update for UC other than a distro repo

Eloston commented 6 years ago

In addition to the Atom feed for contributor binaries (link above), there's also the Atom feed for new tags from GitHub.

intika commented 6 years ago

a function chat check that link could be added easily mainstream but in one hand

I think as it would just check one link for updates i think it would be fair to enable it by default (this eventual feature) and add a flag to make it disableable

@Eloston what do you think ?

Eloston commented 6 years ago

@intika This is something an extension can do perfectly well. I see no need for anything to be added to ungoogld-chromium for this. Once a solution comes around, we could suggest it in the Wiki.

IANatCAMBIO commented 5 years ago

I agree in leaving this functionality as an extension. The modular framework is there for a reason, and should be used whenever possible.

It sounds like this is really 2 issues: Checking/Notifying that a new version is available and Performing the update.

BSD/Linux and MacOS can use their package managers for #2, but a notification of a new version would be nice.

Windows users would need both types of functionality.

As Intika said above, extensions to check for page changes (i.e. new published binaries) already exist, but they must be setup and configured. If we're trying to stay true to the published purpose for this project, then we try to maintain functional parity with Chrome/Chromium. That would include at least notifying of updates.

Would it be possible to have a bundle of default extensions (including and update checker) to provide the functionality? This does not have to be included with UC, so that we still maintain the 'you must opt-in for new features' requirement. Although, it should not be enabled by default, branding and hosting that bundle along with the binary downloads would allow for standard Open-Source protections (code review).

NeverDecaf commented 5 years ago

I threw together a barebones extension that adds this functionality to Ungoogled Chromium: https://github.com/NeverDecaf/chromium-web-store

Unfortunately I could not find a way with my limited javascript knowledge to dynamically detect the buttons on the chrome web store, therefore if the site layout changes at all this part of the extension will surely break. The code for update checking, however, uses the chrome api and should work fine until google deprecates it.

Please note I have barely tested this, and on Windows only. If something is broken I'll be happy to fix it if I can, just open an issue. A PR to add a robust button detection or to make the popup actually look nice is more than welcome.

woolyss commented 5 years ago

Thank you very much NeverDecaf. It works like a charm. Bravo!

I made a video to show it. Free to use and share it anywhere!

My config:

NeverDecaf commented 5 years ago

@woolyss Thanks for the video! I've added it to the readme as it makes the install process very clear.

woolyss commented 5 years ago

It is ok @NeverDecaf. Thank you. I put a link of your github project on my site. Contact me if you want a better video! ;)

Nurmagoz commented 4 years ago

Appimage support update, any issue with it? This resolves almost all GNU/Linux upgrades issue (using appimage version).

https://docs.appimage.org/packaging-guide/optional/updates.html

https://github.com/AppImage/AppImageUpdate

PF4Public commented 4 years ago

outdated […] extensions are a security risk.

In the light of a recent news about an extension being sold to people, whose intentions were not very decent, auto-updating mechanism of Chrome backfired badly on users. So that auto-updated extension also poses a security risk!

Nurmagoz commented 4 years ago

can you share with us the sources? "extension being sold to people" , "chrome backfired badly on users"

ThX

PF4Public:

outdated […] extensions are a security risk.

In the light of a recent news about an extension being sold to people, whose intentions were not very decent, auto-updating mechanism of Chrome backfired badly on users. So that auto-updated extension also poses a security risk!

PF4Public commented 4 years ago

Given the tremendous hatred that the author of the extension received, I hesitate providing direct links, as this might spawn another wave of anger, which is unconstrictive and absolutely not helpful in this situation.

I think, I'll just describe the security issue itself instead. Imagine an extension, that is installed on a lot of Chrome profiles. One day, author of the extension gives access to posting updates to someone else. That person modifies the extension to send headers of a select requests of victims to himself. Due to autoupdate, this malicious extension got installed on a computers of unsuspecting users without their approval or consent.

Aftermath is still unfolding unfortunately :(

dm17 commented 3 years ago

@woolyss @NeverDecaf You guys think it would be easier to just have a Dockerfile with a config file sources repos for each extension we want - and we just rebuild this every time we want to latest plugins & ungoogled-chromium? Thoughts? I also have different extensions per chromium profile, which could be a pain for this.

selurvedu commented 3 years ago

For users of feeds, an Atom feed is available for the contributor binaries download page

@Eloston this is great! Would it b possible to create OS/distribution-specific feeds?

Jon-guy30 commented 1 year ago

Hi! I've just started using ungoogled-chromium and wondering about the auto-update issue. Currently I'm subscribed to the ungoogled Atom feed linked above. I think the updating of this browser could be made easier, for example I really like how LibreWolf handles it, they have an unofficial LibreWolf updater extension. I think ungoogled-chromium could really benefit from such an extension. We already have a Google WebStore updater, now it just needs a browser update handler. While Atom feeds are good, it's not really good for non-technical people. They want easy, hassle-free updating, or at least an update notification within the web browser software.

I've also looked at chrlauncher. I'm not sure how to configure it to be just an updater, from what I've read it downloads an entire chromium browser to the computer, I don't want another browser installed, I want it to update only. These are my chrlauncher settings, at least the important ones:

ChromiumDirectory=C:\Users\User\AppData\Local\Chromium\Application
ChromiumUpdateUrl=https://github.com/ungoogled-software/ungoogled-chromium/tags (uncommented, I obviously put the GitHub tags URL in it)
# Chromium executable file name (string):
ChromiumBinary=chrome.exe
# Use chrlauncher as updater, but does not start Chromium (boolean):
#
# false -> update & start Chromium (default)
# true  -> download & install Chromium update without start
ChromiumUpdateOnly=true
ChromiumType=ungoogled-chromium

Could anyone tell me if this is how it's done or is it incorrect? Thanks! The documentation of chrlauncher isn't really helping me.

giddisey commented 1 year ago

For users of feeds, an Atom feed is available for the contributor binaries download page

@Eloston this is great! Would it b possible to create OS/distribution-specific feeds?

https://github.com/ungoogled-software/ungoogled-chromium-windows/releases.atom

dm17 commented 1 year ago

Hi! I've just started using ungoogled-chromium and wondering about the auto-update issue. Currently I'm subscribed to the ungoogled Atom feed linked above. I think the updating of this browser could be made easier, for example I really like how LibreWolf handles it, they have an unofficial LibreWolf updater extension. I think ungoogled-chromium could really benefit from such an extension. We already have a Google WebStore updater, now it just needs a browser update handler. While Atom feeds are good, it's not really good for non-technical people. They want easy, hassle-free updating, or at least an update notification within the web browser software.

I've also looked at chrlauncher. I'm not sure how to configure it to be just an updater, from what I've read it downloads an entire chromium browser to the computer, I don't want another browser installed, I want it to update only. These are my chrlauncher settings, at least the important ones:

ChromiumDirectory=C:\Users\User\AppData\Local\Chromium\Application
ChromiumUpdateUrl=https://github.com/ungoogled-software/ungoogled-chromium/tags (uncommented, I obviously put the GitHub tags URL in it)
# Chromium executable file name (string):
ChromiumBinary=chrome.exe
# Use chrlauncher as updater, but does not start Chromium (boolean):
#
# false   -> update & start Chromium (default)
# true    -> download & install Chromium update without start
ChromiumUpdateOnly=true
ChromiumType=ungoogled-chromium

Could anyone tell me if this is how it's done or is it incorrect? Thanks! The documentation of chrlauncher isn't really helping me.

Figured that out yet?

claudiodekker commented 9 months ago

Since this appears to be a common and recurring issue (arguably for good reason), I figured I'd try to partially address it by creating a Chromium extension that automatically checks for new Chromium updates in-line with your preferences.

Its functionality resembles that of NeverDecaf's "Chromium Web Store" extension: It displays a badge indicating available updates and, when interacted with, provides a concise overview of all available updates, allowing you to directly download newer build versions, jump to the release page, copy hashes and more. Essentially, it serves as the closest thing to an automated updater mechanism, without one being built-in.

You can find it here: https://github.com/claudiodekker/chromium-update-notifier