-
Notifications
You must be signed in to change notification settings - Fork 875
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auto Updating #668
Comments
I've been thinking about this a bit and for the first iteration we should be okay-ish with using a third party HTTP update tracker if we do our own, additional validation on top of what is provided there. For example, before we execute downloaded update, we should verify its checksum against a checksum published at http://dist.ipfs.io and signed by a known, hardcoded in ipfs-desktop pgp pubkey, or a similar measure. Note: we don't have that yet: I created PR for adding checksum files in ipfs/distributions#199, we need to merge that and add PGP signing on top of that Rationale: there is no canonical "code signing" body for Linux and we should not assume signing solutions provided by Apple or Microsoft are trustworthy: exhibit A, exhibit B 👌 🙃 In the future (or if above requires a lot of custom code), we should use IPFS itself for tracking updates. Given a determined adversary, HTTP servers are easy to censor and block security updates from reaching vulnerable users.
I think user expects it to "just work" after install, so it would be a better UX to bundle it with ipfs-desktop. |
Just as an update: According to Electron Build's Auto update page, they only support auto-update for these three formats (one for each major platform):
|
Sounds reasonable: most of Linux distributions will want to maintain own package and install it via own package manager anyway. |
This was shipped in https://github.com/ipfs-shipyard/ipfs-desktop/releases/tag/v0.6.0 This is based just on github releases and does includes a sha512 integrity check... version: 0.6.0
files:
- url: ipfs-desktop-0.6.0-mac.zip
sha512: NBp6fI+8BMfeeg3rzwcCd8zVTycyFDBfm7Wzq3WVyo967YDNL5b1kcA/9Ox8zx1RO3xyiszb5Pn4FxadwFyb0g==
size: 93457203
blockMapSize: 97257
- url: ipfs-desktop-0.6.0.dmg
sha512: X912w635b2X0bGfdIexxDbMdk+PytmevNlEcaxoBBJNogkIRTnnAgGb6xrk7jGQSoQqAGVW1FVPcNohSN8DpCw==
size: 96554502
path: ipfs-desktop-0.6.0-mac.zip
sha512: NBp6fI+8BMfeeg3rzwcCd8zVTycyFDBfm7Wzq3WVyo967YDNL5b1kcA/9Ox8zx1RO3xyiszb5Pn4FxadwFyb0g==
releaseDate: '2018-12-21T11:31:10.205Z' see: the @lidel could you raise a seperate issue for creating an independent IPFS based integrity check. |
We've got a few open issues related to the electron-builder release and auto-update process:
There is this new regression where draft-releases aren't being created, and if we make one manually, then CI is unable to upload artefacts Then there is the background desire to have an update mechanism that uses IPFS
@hacdias @lidel @fsdiogo we need to either prove to ourselves that the electron-builder update process can be made reliable, or we need to implement another mechanism, that we can make reliable. Options:
|
Auto updating via github releases is working now. Release marked as "pre-release" are excluded from auto-updates. |
The new IPFS Desktop version must support seamless auto updating of itself and auto updating of its go-ipfs/js-ipfs binaries.
/cc @ipfs-shipyard/gui
The text was updated successfully, but these errors were encountered: