Releases: selfcustody/krux-installer
v0.0.20
🥳 🎅🏾 Merry Christmas and a Happy New Year! 🎅🏾 🥳
This release is intended to be the first stable version of an entire code refactoring.
Hope it can help educate people with the "dont trust, verify" ethos during the installation process of a selfcustody bitcoin wallet!
Installing
Read the selfcustody/krux documentation.
All features you already know
- Automatic check of latest official firmware;
- Optional selection of older firmware versions;
- Supported devices: M5stickV, Sipeed Amigo, Sipeed Bit, Sipeed Dock, Sipeed Cube, Yahboom, WonderMV;
- Flash official firmware with automatic integrity/authenticity verification;
- Flash beta firmware devices;
- Air-gap update devices with SDcard;
- Wipe devices;
- 12 locale support;
- support for Windows, MacOS Arm, MacOS Intel, Debian-like OS and Fedora;
Minor changes
- Fixed Fedora crashes;
- Better error handling during flash procedure;
- Better error handling during wipe procedure;
- Better error handling during air-gap update procedure;
What's Changed
- v0.0.2-alpha by @qlrd in #66
- Bump poethepoet from 0.25.1 to 0.27.0 by @dependabot in #76
- Update Chinese JSON file by @theBillLee in #77
- Bump cryptography from 42.0.8 to 43.0.0 by @dependabot in #75
- Bump black from 24.4.2 to 24.8.0 by @dependabot in #74
- Bump pytest-cov from 4.1.0 to 5.0.0 by @dependabot in #73
- Update coactions/setup-xvfb requirement to 6b00cf1889f4e1d5a48635647013c0508128ee1a by @dependabot in #68
- Bump actions/github-script from 6 to 7 by @dependabot in #69
- Bump actions/checkout from 3 to 4 by @dependabot in #70
- Bump dorny/paths-filter from 2 to 3 by @dependabot in #71
- v0.0.20-alpha-2 by @qlrd in #84
- Update CHANGELOG.md by @qlrd in #86
- v0.0.20-alpha-3 by @qlrd in #88
- Fix on pylint's disable by @qlrd in #89
- Update CHANGELOG.md by @qlrd in #90
- Bump poethepoet from 0.27.0 to 0.28.0 by @dependabot in #81
- Bump cryptography from 43.0.0 to 43.0.1 by @dependabot in #83
- Bump pylint from 3.2.6 to 3.3.1 by @dependabot in #91
- v0.0.20-beta by @qlrd in #101
- Bump poethepoet from 0.28.0 to 0.29.0 by @dependabot in #92
- Bump qrcode from 7.4.2 to 8.0 by @dependabot in #94
- Bump pillow from 10.4.0 to 11.0.0 by @dependabot in #97
- v0.0.20 by @qlrd in #109
Special thanks
My sincere thanks to the people/organizations below. Without you all this 6 months to 1 year effort, from version 0.0.14 to 0.0.20, would not be possible to went deeper and deeper into the rabbit hole 🐰
- @OpenSats
- @jdlcdl
- @odudex
- @tadeubas
- @kkdao
- @3rdIteration
- @vinteumorg
- @theBillLee
- @PMK
- @BitCoisas
- To all people of Krux and KruxBR Telegram group!
Full Changelog: v0.0.14...v0.0.20
v0.0.20-beta
Summary
Major update
Now user can, after download and verify an official firmware, select between:
- to flash;
- or make an airgapped update:
- user will be requested to insert a SDCard on computer;
- user can select among recognized removable drives;
- both
firmware.bin
andfirmware.bin.sig
will be copied to sdcard; - after the copy, user will be requested to eject sdcard and insert it on device;
- at same time, the
firmware.bin
's computed hash will appear to compare with the computed hash on device;
Minor updates
- added support to de_DE locale;
- added support to ja_JP locale;
- fixes on Windows bug that didn't allow users to select a custom asset folder;
Installation
Please see our docs.
What's Changed
- Bump poethepoet from 0.27.0 to 0.28.0 by @dependabot in #81
- Bump cryptography from 43.0.0 to 43.0.1 by @dependabot in #83
- Bump pylint from 3.2.6 to 3.3.1 by @dependabot in #91
- [Enhancement] Allow unzip, verify and copy firmware.bin(.sig) for airgapped updates in #93
- [Bugfix] no module named win32timezone #98 (kudos to @sandman21vs)
- [Enhancement] support for de_DE in #99
- [Enhancement] add ja_JP in #100 (kudos to @BitCoisas)
- [Bugfix] uniform "boldness" on japanese glyphs in #102 (kudos to @odudex and @jdlcdl)
- [Bugfix] Flash screen do not translated "PLEASE DO NOT UNPLUG DEVICE" in #103 (kudos to @tadeubas)
Full Changelog: v0.0.20-alpha-3...v0.0.20-beta
Thanks
- all selfcustody team (@odudex , @tadeubas , @jdlcdl , @kkdao, @3rdIteration);
- @OpenSats for the support;
- @vinteumorg for all incredible people.
v0.0.20-alpha-3
Summary
Hotfix: in previous versions of installer, when a new firmware's hotfix is released and it's versions isn't defined on installer,
it could break all GUI.
This release will support any new firmware's hotfixes.
Installation
Please see our docs.
What's Changed
- v0.0.20-alpha-3 by @qlrd in #88
- Fix on pylint's disable by @qlrd in #89
- Update CHANGELOG.md by @qlrd in #90
Full Changelog: v0.0.20-alpha-2...v0.0.20-alpha-3
v0.0.20-alpha-2
Installation
Please follow the docs instructions: https://selfcustody.github.io/krux/getting-started/installing/from-gui/
CHANGELOG
- Changed the version from
0.0.2-alpha
to0.0.20-alpha-2
as suggested by @odudex; - Refactored the code a little bit to be more pythonic;
- Removed startup messages as suggested by @tadeubas:
- On linux the
GreetingsScreen
class will check:- if user is on
dialout
/uucp
group (debian and fedora based / archlinux); - internet connection
- if user is on
- On MacOS an Windows the
GreetingsScreen
class will check:- internet connection
- On linux the
- Added the window resize behaviour;
- Removed fullscreen on startup;
- Fedora and Ubuntu:
- fixed desktop icon entry on
.ci/create-deb
; - fixed desktop icon entry on
.ci/create-rpm
;
- fixed desktop icon entry on
- Added more tests:
- ask_permissions_dialout_screen;
- error_screen.
- Many fixes on chinese translation
What's Changed
- Bump poethepoet from 0.25.1 to 0.27.0 by @dependabot in #76
- Update Chinese JSON file by @theBillLee in #77
- Bump cryptography from 42.0.8 to 43.0.0 by @dependabot in #75
- Bump black from 24.4.2 to 24.8.0 by @dependabot in #74
- Bump pytest-cov from 4.1.0 to 5.0.0 by @dependabot in #73
- Update coactions/setup-xvfb requirement to 6b00cf1889f4e1d5a48635647013c0508128ee1a by @dependabot in #68
- Bump actions/github-script from 6 to 7 by @dependabot in #69
- Bump actions/checkout from 3 to 4 by @dependabot in #70
- Bump dorny/paths-filter from 2 to 3 by @dependabot in #71
- v0.0.20-alpha-2 by @qlrd in #84
- Update CHANGELOG.md by @qlrd in #86
New Contributors
- @theBillLee made their first contribution in #77
Full Changelog: v0.0.2-alpha...v0.0.20-alpha-2
Thanks
Many thanks to:
- Selfcustody team: @odudex, @tadeubas, @jdlcdl , @kkdao and @3rdIteration
- All members of Krux Telegram group, specially @theBillLee;
- @OpenSats to support the project;
- For all people in @vinteumorg;
v0.0.2-alpha
v0.0.2-alpha
What's Changed
Full Changelog: v0.0.14...v0.0.2-alpha
WARNING: This release still in alpha; although it is minimally functional, there is a lot to improve and, therefore, it is possible that bugs and other unexpected behaviors may occur.
Thanks
Many thanks to:
- @odudex, @tadeubas, @jdlcdl and @kkdao, @3rdIteration and @easyux for the friendship, jokes, support, tips, critics, hacks, notes, tests, suggestions;
- @jdlcdl 's family for the generosity in the careful translation into French;
- @PMK for the time to carefully translate app into Dutch;
- All members of Krux Telegram group, specially 봉봉이, infinite1, Иннокентий;
- @OpenSats by showing that a life with sats is always more open to the best possibilities;
- @vinteumorg for the amazing network that was built with amazing people.
Details
- code refactoration from
nodejs
topython
; - re-build project from
electron
tokivy
; - Support for MacOS (arm64 and intel processors);
- Support to download older versions;
- Support to devices according to the appropriate version:
- M5stickV;
- Amigo;
- Dock;
- Bit;
- Yahboom;
- Cube;
- WonderMV (only for beta firmware);
- Flash made with the
ktool
from its source; - Wipe made with the
ktool
from its source; - Added settings page:
- Enable change path of downloaded assets;
- Enable change of flash baudrate;
- Enable change of locale;
- Added about page
- Locale support for 10 languages:
- af_ZA (South Africa Afrikaans);
- en_US (USA English);
- es_ES (Spain spanish);
- fr_FR (France french);
- it_IT (Italian);
- ko_KR (South Korean korean);
- nl_NL (Netherlands dutch);
- pt_BR (Brazilian portuguese);
- ru_RU (Russian cyrillic);
- zh_CN (Simplified chinese)
Installation
We always recomend to verify integrity and authenticity. For authenticity verifications, plese download developer's PGP key:
gpg --keyserver hkps://keys.openpgp.org --recv-keys "B428 1DDD FBBD 207B FA41 1313 8974 C902 9932 6322"
If it not works, try download the key and then:
gpg --import B4281DDDFBBD207BFA4113138974C90299326322.asc
Windows
- Download
krux-installer_v0.0.2-alpha.Setup.exe
; - Execute the .exe file and allow it's execution;
- Follow the steps that will be show;
- Do not forget to create a desktop link;
MacOS (Intel and M1/M2/M3 processors)
- Download
krux-installer_0.0.2-alpha_x86_64.dmg
(Intel); - Download
krux-installer_0.0.2-alpha_arm64.dmg
(M1/M2/M3); - Click on DMG file and wait for a new volume open;
- Once open, drag the application to
Applications
folder; - Open a terminal and type the following command to remove Apple's quarantine extended permission:
xattr -d com.apple.quarantine -r /Applications/krux-installer.app/
WARNING: Once a built-in python is loaded, it may be that the application takes 10 to 25 seconds to open, we will be working to improve this.
Fedora and like
- Download
krux-installer-0.0.2_alpha-1.x86_64.rpm
; - Execute the following command:
sudo dnf install krux-installer-0.0.2_alpha-1.x86_64.rpm
It will add the current user to dialout
group to allow sudoless
flash; maybe it will be necessary to reboot.
Debain and like
- Download
krux-installer_0.0.2-alpha_amd64.deb
; - Execute the following commands:
sudo dpkg -i krux-installer_0.0.2-alpha_amd64.deb
sudo apt-get install -f
It will add the current user to dialout
group to allow sudoless
flash; maybe it will be necessary to reboot.
Other linux distributions
- Download
krux-installer_0.0.2-alpha_amd64.deb
; - Execute the following commands:
ar xv krux-installer_0.0.2-alpha_amd64.deb
bsdtar -xvf data.tar.zst
The executable will be in ./usr/local/bin/krux-installer
.
v0.0.14
What's Changed
Minor update: (Un)patched hard-coded verification that did not allowed cube be flashed with the official firmware. Now maixpy_cube
users will be able to flash the currently v24.07.0
- Bump electron-store from 8.2.0 to 9.0.0 by @dependabot in #54
- Bump markdownlint-cli from 0.39.0 to 0.41.0 by @dependabot in #55
- Bump electron from 29.4.2 to 30.1.0 by @dependabot in #57
- Cube flash for official release by @qlrd in #60
Full Changelog: v0.0.13...v0.0.14
Many thanks for Selfcustody team: @odudex , @tadeubas , @jdlcdl , @kkdao, @3rdIteration, @easyux
Install
Follow instructions at out docs
v0.0.13
What's Changed
Major update: Added wipe feature: now users will be able to easily wipe their devices in a emergency case.
Minor update: Correction of records that were overlapped between flash sessions
Many thanks to all selfcustody team: @odudex, @tadeubas, @jdlcdl, @kkdao, @ytcryptoguide
Full Changelog: v0.0.12...v0.0.13
Install
Windows
This is a simple installer. Simple double click and follow the instructions;
Linux/AppImage
This is a simple standalone application. But you will need to allow execution with:
chmod +x krux-installer-0.0.13.AppImage
./krux-installer-0.0.13.AppImage
Debian/Ubuntu
sudo dpkg -i krux-installer_0.0.13_amd64.deb
sudo apt-get install -f
When its done, the krux-installer
command will be available in your bash
and in your desktop entries.
Fedora
sudo dnf install krux-installer-0.0.13.x86_64.rpm
When its done, the krux-installer
command will be available in your bash
and in your desktop entries.
RHEL based distros:
sudo yum localinstall krux-installer-0.0.13.x86_64.rpm
or
sudo rpm -ivh krux-installer-0.0.13.x86_64.rpm
Developer PGP public key:
gpg --keyserver hkps://keys.openpgp.org --recv-keys "B428 1DDD FBBD 207B FA41 1313 8974 C902 9932 6322"
v0.0.12
Added major updates
This release will follow new features of krux firmware:
- Now
maixpy_amigo_tft
andmaixpy_amigo_ips
are unified asmaixpy_amigo
;
New two amigos:
-
Added
maixpy_yahboom
in device list for both official and beta releases; -
Added
maixpy_cube
in device list (only for beta releases);
Many thanks to the selfcustody team: @odudex , @tadeubas, @jdlcdl, @kkdao and the telegram users for feedbacks. Without you guys, this release can't be done!
What's Changed
- Bump electron from 28.2.5 to 29.1.0 by @dependabot in #46
- Bump markdownlint-cli from 0.38.0 to 0.39.0 by @dependabot in #43
- Bump chai from 4.4.1 to 5.1.0 by @dependabot in #45
- Bump vite-plugin-electron from 0.15.6 to 0.28.2 by @dependabot in #47
- Bump @vitejs/plugin-vue from 4.6.2 to 5.0.4 by @dependabot in #48
- added yahboom and cube to devices list by @qlrd in #49
Full Changelog: v0.0.11...v0.0.12
Install
Windows
This is a simple installer. Simple double click and follow the instructions;
Linux/AppImage
This is a simple standalone application. But you will need to allow execution with:
chmod +x krux-installer-0.0.12.AppImage
./krux-installer-0.0.12.AppImage
Debian/Ubuntu
sudo dpkg -i krux-installer_0.0.12_amd64.deb
sudo apt-get install -f
When its done, the krux-installer
command will be available in your bash
and in your desktop entries.
Fedora
sudo dnf install krux-installer-0.0.12.x86_64.rpm
When its done, the krux-installer
command will be available in your bash
and in your desktop entries.
RHEL based distros:
sudo yum localinstall krux-installer-0.0.12.x86_64.rpm
or
sudo rpm -ivh krux-installer-0.0.12.x86_64.rpm
Developer PGP public key:
gpg --keyserver hkps://keys.openpgp.org --recv-keys "B428 1DDD FBBD 207B FA41 1313 8974 C902 9932 6322"
v0.0.11
Added minor updates:
- An error page with quit buttons;
- Show an error page when flash fail;
- A quit button when flash is done;
- A
.rpm
package for Fedora Linux And RedHat Linux based distros with x86_64/amd_64 architetures; - Fixed desktop icon for
deb
andrpm
packages.
Many thanks to the selfcustody team: @odudex , @tadeubas, @jdlcdl , Jeff, Pacman and the telegram users for feedbacks !
Verify integrity/authenticity
Integrity
Download the properly <binary>.sha256.txt
:
wget https://github.com/selfcustody/krux-installer/releases/download/v0.0.11/<binary>.sha256.txt
Checksum:
sha256sum --check <binary>.sha256.txt
Signature
Import the public pgp key:
gpg --keyserver hkps://keys.openpgp.org --recv-keys "B428 1DDD FBBD 207B FA41 1313 8974 C902 9932 6322"
Download signature:
wget https://github.com/selfcustody/krux-installer/releases/download/v0.0.11/<binary>.sig
Verify:
gpg --verify <binary>.sig
Install
AppImage
This is a simple standalone application. But you will need to allow execution with:
chmod +x krux-installer-0.0.11.AppImage
./krux-installer-0.0.11.AppImage
Windows
This is a simple installer. Simple double click and follow the instructions
Debian like
sudo dpkg -i krux-installer_0.0.11_amd64.deb
sudo apt-get install -f
Fedora
sudo dnf install krux-installer-0.0.11.x86_64.rpm
Other RHEL based distros:
sudo yum localinstall krux-installer-0.0.11.x86_64.rpm
or
sudo rpm -ivh krux-installer-0.0.11.x86_64.rpm
When its done, the krux-installer
command will be available in your bash
and in your desktop entries.
v0.0.1
This is the first stable release of krux-installer
.
🎅🏾 And the first one for debian-like
users. Merry christmas 🎅🏾
The user experience did not changed, but some changes were necessary to keep the code up to date.
Full Changelog: https://github.com/selfcustody/krux-installer/blob/main/CHANGELOG.md
Please see this warning: https://github.com/selfcustody/krux-installer/blob/main/WARNING.md
Many thanks to the selfcustody team: @odudex , @tadeubas, @jdlcdl , Jeff, Pacman and the telegram users for feedbacks !
Verify integrity/authenticity
The process can change depending of used OS, where <binary>
can be one of:
krux-installer_0.0.1_amd64.deb
krux-installer-0.0.1.AppImage
krux-installer_0.0.1.exe
Integrity
Download the properly <binary>.sha256.txt
:
wget https://github.com/selfcustody/krux-installer/releases/download/v0.0.1/<binary>.sha256.txt
Checksum:
sha256sum --check <binary>.sha256.txt <binary>
Signature
Import the public pgp key:
gpg --keyserver hkps://keys.openpgp.org --recv-keys "B428 1DDD FBBD 207B FA41 1313 8974 C902 9932 6322"
Download signature:
wget https://github.com/selfcustody/krux-installer/releases/download/v0.0.1/<binary>.sig
Verify:
gpg --verify <binary>.sig <binary>
Install
AppImage
This is a simple standalone application. But you will need to allow execution with:
chmod +x krux-installer-0.0.1.AppImage
Windows
This is a simple installer. Simple double click and follow the instructions
Debian like
To install you will need to execute two commands:
sudo dpkg -i krux-installer_0.0.1_amd64.deb
and then
sudo apt-get install -f
When its done, the krux-installer
command will be available in your bash
and in your desktop entries.