Skip to content

Commit f4e9c3c

Browse files
joaozinhomqlrd
andauthored
docs: specifies the offline new workaround (#282)
* docs: specifies the offline new workaround * docs: add joaozinho to the authors of the pyproject and update changelog * fix:depandabot cve/21 refs #21 * chore: apply qlrd pr suggestions about lint in .md Co-authored-by: qlrd <106913782+qlrd@users.noreply.github.com> --------- Co-authored-by: qlrd <106913782+qlrd@users.noreply.github.com>
1 parent e0f576a commit f4e9c3c

4 files changed

Lines changed: 53 additions & 23 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# CHANGELOG
22

3+
## Unreleased
4+
5+
- Removed the entire runtime download pipeline left over from the online workflow, now that firmware is embedded at build time:
6+
- download screens (`base_download_screen`, `download_stable_zip_screen`, `download_beta_screen`), version selection screens (`select_version_screen`, `select_old_version_screen`) and the `warning_beta` / `warning_already_downloaded` / `unzip_stable` screens`;
7+
- `downloader`, `selector` and `unzip` utils, plus the `check_verifyer`;
8+
- the associated unit and E2E tests and their orphaned i18n strings;
9+
- With this cleanup the installer makes **no network calls at runtime** and no longer checks the internet connection on startup — the user flow is now just: open the installer, select a device and flash.
10+
311
## 0.0.23
412

513
- Replace `requests` with `curl` in the firmware fetch step, eliminating the

README.md

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,52 @@
1010
Krux Installer is a GUI based tool to flash [Krux](https://github.com/selfcustody/krux)
1111
without typing any command in terminal for [flash the firmware onto the device](https://selfcustody.github.io/krux/getting-started/installing/#flash-the-firmware-onto-the-device).
1212

13+
## Works offline
14+
15+
Since `v0.0.22`, Krux Installer runs **fully offline**. The Krux firmware binaries are bundled inside the installer at build time, so it no longer contacts GitHub at runtime — no internet connection is required to flash your device.
16+
17+
### What changed
18+
19+
Earlier versions fetched the firmware over the network: the installer queried GitHub for the available releases, let you pick a version, then downloaded, verified and unzipped the assets before flashing. All of that runtime networking has been removed. The installer no longer:
20+
21+
- checks your internet connection on startup;
22+
- queries GitHub for the list of available firmware versions;
23+
- downloads, verifies or unzips firmware assets on your machine.
24+
25+
Instead, each release ships with a single firmware version already embedded, verified and unpacked inside the binary. The user flow is now simply: **open the installer → select your device → flash**.
26+
27+
### Choosing a firmware version
28+
29+
Each release ships with a fixed firmware version embedded in the binary
30+
(the current one is `v26.03.0`). To flash a different firmware version,
31+
download the installer release that bundles it, or build from source with
32+
your desired version (see [Firmware embedding (for developers)](/#firmware-embedding-for-developers)).
33+
1334
## Installing
1435

1536
[<img src="img/badge_github.png" alt="github releases page" width="186">](https://github.com/selfcustody/krux-installer/releases)
1637

1738
Available for:
1839

19-
* Linux:
20-
* Debian-like;
21-
* Fedora-like;
22-
* In the experimental phase, we have a nix flake for development.
23-
* Windows;
24-
* MacOS:
25-
* intel processors;
26-
* arm64 processors (M1/M2/M3/M4).
40+
- Linux:
41+
- Debian-like;
42+
- Fedora-like;
43+
- In the experimental phase, we have a nix flake for development.
44+
- Windows;
45+
- MacOS:
46+
- intel processors;
47+
- arm64 processors (M1/M2/M3/M4).
2748

2849
## Build from source
2950

30-
* [System setup](/#system-setup)
31-
* [Linux](/#linux)
32-
* [Windows](/#windows)
33-
* [MacOS](/#macos)
34-
* [Install UV](/#install-UV)
35-
* [Download sources](/#download-sources)
36-
* [Update code](/#update-code)
37-
* [Developing](/#developing)
51+
- [System setup](/#system-setup)
52+
- [Linux](/#linux)
53+
- [Windows](/#windows)
54+
- [MacOS](/#macos)
55+
- [Install UV](/#install-UV)
56+
- [Download sources](/#download-sources)
57+
- [Update code](/#update-code)
58+
- [Developing](/#developing)
3859

3960
## System setup
4061

@@ -211,9 +232,9 @@ uv run poe build-win
211232
It will export all project in a
212233
[`one-file`](https://pyinstaller.org/en/stable/usage.html#cmdoption-F) binary:
213234

214-
* linux: `./dist/krux-installer`
215-
* macOS: `./dist/krux-installer.app/Contents/MacOS/krux-installer`
216-
* windows: `./dist/krux-installer.exe`
235+
- linux: `./dist/krux-installer`
236+
- macOS: `./dist/krux-installer.app/Contents/MacOS/krux-installer`
237+
- windows: `./dist/krux-installer.exe`
217238

218239
To more options see [.ci/create-spec.py](./.ci/create-spec.py) against the PyInstaller
219240
[options](https://pyinstaller.org).

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ name = "krux-installer"
33
version = "0.0.22"
44
description = "A GUI based application to flash Krux firmware on K210 based devices"
55
authors = [
6-
{name = "qlrd", email = "qlrddev@gmail.com"}
6+
{name = "qlrd", email = "qlrddev@gmail.com"},
7+
{name = "joaozinhom", email = "joaomcr@proton.me"}
78
]
89
license = {text = "MIT"}
910
readme = "README.md"

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)