docs: complete zupt → vaptvupt rename; README v4.0.0 refresh

- README: add 'What's new in 4.0.0' section, extend release history
  v2.2.4 → v4.0.0, fix stale section titles (benchmark/security/feature
  tables), point fast-install at short.securityops.co/vaptvupt, fix
  related-project links (vaptvupt-codec, libvuptsdk, real repo names)
- install.sh: clone the renamed repo, vaptvupt success message
- Rename remaining zupt → vaptvupt across INSTALL.md, DISTRIBUTION.md,
  SECURITY.md, THREAT_MODEL.md, ROADMAP.md, THIRD-PARTY-NOTICES.md,
  gui/ + sdk/ + packaging READMEs, doc/vaptvupt.1, spec comments/URLs
- New doc/vaptvupt-gui.1 (GUI 1.3.0, VAPTVUPT_BIN/ZUPT_BIN env vars);
  doc/zupt-gui.1 kept as hardlinked compat copy
- Deliberately unchanged: .zupt extension, ZUPT header magic,
  ZUPT-* crypto domain-separation constants, zupt_*/ZUPT_* code
  identifiers, libzuptsdk artifact names, legacy symlink notes,
  CHANGELOG/AUDIT historical entries, Provides/Obsoletes upgrade path
- tests/test_packaging_syntax.sh: THREAT_MODEL section titles updated
This commit is contained in:
Cristian Cezar Moisés 2026-06-11 21:46:20 -03:00
commit 136a96ed20
18 changed files with 471 additions and 306 deletions

View file

@ -1,17 +1,17 @@
# Zupt + Zupt GUI — Install Guide for Linux
# VaptVupt + VaptVupt GUI — Install Guide for Linux
If you're seeing the error:
```
zupt-gui depende de python3-pyqt6 | python3-pyside6; porém:
vaptvupt-gui depende de python3-pyqt6 | python3-pyside6; porém:
Pacote python3-pyqt6 não está instalado.
zupt-gui depende de zupt (>= 2.2.3); porém:
Versão de zupt no sistema é 2.1.7-1.
vaptvupt-gui depende de vaptvupt (>= 2.2.3); porém:
Versão de vaptvupt no sistema é 2.1.7-1.
```
This is correct behavior. The `zupt-gui` deb requires:
This is correct behavior. The `vaptvupt-gui` deb requires:
- Python 3 with **PyQt6** or **PySide6** (the GUI toolkit)
- The **zupt CLI 2.2.3** or newer
- The **vaptvupt CLI 2.2.3** or newer
## The fastest fix — one command (Linux Mint, Ubuntu, Debian)
@ -33,11 +33,11 @@ the right order. Done.
sudo apt update
sudo apt install -y python3-pyqt6
# 2. Upgrade zupt CLI to 2.2.3
sudo dpkg -i zupt_2.2.3_amd64.deb
# 2. Upgrade vaptvupt CLI to 4.0.0
sudo dpkg -i vaptvupt_4.0.0_amd64.deb
# 3. Install the GUI
sudo dpkg -i zupt-gui_1.1.1_all.deb
sudo dpkg -i vaptvupt-gui_1.3.0_all.deb
```
If step 3 still complains about deps, run:
@ -50,10 +50,10 @@ sudo apt --fix-broken install
```bash
sudo dnf install -y python3-pyqt6
sudo dnf install -y zupt-2.2.3-1.x86_64.rpm zupt-gui-1.1.1-1.noarch.rpm
sudo dnf install -y vaptvupt-4.0.0-1.x86_64.rpm vaptvupt-gui-1.3.0-1.noarch.rpm
```
(Or build the RPM from the SRPM tarball with `rpmbuild -bb SPECS/zupt.spec`)
(Or build the RPM from the SRPM tarball with `rpmbuild -bb SPECS/vaptvupt.spec`)
### openSUSE Leap / Tumbleweed
@ -66,7 +66,7 @@ sudo zypper install python3-pyqt6
```bash
sudo pacman -S python-pyqt6
# Build zupt from the source tarball
# Build vaptvupt from the source tarball
```
### Anything else (or no apt/dnf/pacman handy)
@ -74,8 +74,8 @@ sudo pacman -S python-pyqt6
Use the AppImage — no install needed:
```bash
tar xzf Zupt-GUI-1.1.1-x86_64.AppDir.tar.gz
cd zupt-gui.AppDir
tar xzf VaptVupt-GUI-1.3.0-x86_64.AppDir.tar.gz
cd vaptvupt-gui.AppDir
./AppRun
```
@ -86,7 +86,7 @@ PyInstaller-built version (not in this release).
## Why does the GUI need Qt6?
The Zupt GUI is written in Python, using either PyQt6 or PySide6 (it
The VaptVupt GUI is written in Python, using either PyQt6 or PySide6 (it
auto-detects whichever is installed). These are bindings to the Qt 6
graphical toolkit — they're how the GUI draws windows, buttons, and
dialogs.
@ -99,28 +99,28 @@ We don't bundle Qt6 inside the deb because:
- Bundling would make the deb 80 MB+ instead of 35 KB
- Distribution-managed Qt gets security updates automatically
## Why does the GUI need zupt 2.2.3?
## Why does the GUI need vaptvupt 2.2.3?
The GUI calls `zupt --pq-sdk` and `zupt keygen --sdk` for state-of-the-art
The GUI calls `vaptvupt --pq-sdk` and `vaptvupt keygen --sdk` for state-of-the-art
post-quantum encryption (HKDF-SHA3 hybrid combiner, key commitment, HPKE
binding, Argon2id). These flags didn't exist in 2.1.7 — they were added
in 2.2.0.
If you have an older zupt installed, the GUI's compress/extract will fail
If you have an older vaptvupt installed, the GUI's compress/extract will fail
with "unknown option --pq-sdk".
## After installing — verify
```bash
zupt version # should show: 2.2.3
zupt-gui # should launch the GUI window
vaptvupt version # should show: 2.2.3
vaptvupt-gui # should launch the GUI window
```
## If the GUI window still doesn't appear
```bash
# Run from terminal to see error messages
zupt-gui
vaptvupt-gui
# If you see "ImportError: No module named 'PyQt6'":
# The GUI fell back through both PyQt6 and PySide6 imports.
@ -136,20 +136,20 @@ zupt-gui
## Reporting issues
If you've tried the above and zupt-gui still won't work, open an issue
at https://git.securityops.co/cristiancmoises/zupt/issues with:
If you've tried the above and vaptvupt-gui still won't work, open an issue
at https://git.securityops.co/cristiancmoises/vaptvupt/issues with:
1. Output of `lsb_release -a` (or `cat /etc/os-release`)
2. Output of `python3 --version`
3. Output of `python3 -c 'import PyQt6; print(PyQt6.__version__)' 2>&1`
4. Output of `zupt version`
5. Output of `zupt-gui` (the error message it printed to terminal)
4. Output of `vaptvupt version`
5. Output of `vaptvupt-gui` (the error message it printed to terminal)
---
## Building from source
If you want to build Zupt from the source tarball instead of installing
If you want to build VaptVupt from the source tarball instead of installing
the pre-built `.deb` / `.rpm` packages, you'll need:
### Build dependencies
@ -160,10 +160,10 @@ the pre-built `.deb` / `.rpm` packages, you'll need:
| `make` | build driver |
| `libargon2-dev` | Argon2id KDF |
| `libssl-dev` | OpenSSL libcrypto (AES, SHA-256) |
| **`libzuptsdk-dev` 2.0.0+** | Zupt's cryptographic SDK |
| **`libzuptsdk-dev` 2.0.0+** | VaptVupt's cryptographic SDK |
The `libzuptsdk-dev` package is a separate sister project — it contains
the post-quantum hybrid cryptography that Zupt uses on its `--pq-sdk`
the post-quantum hybrid cryptography that VaptVupt uses on its `--pq-sdk`
path. Both libraries are by the same author (Cristian Cezar Moisés) but
are distributed as separate source/binary packages so each can evolve
on its own release cadence.
@ -188,20 +188,20 @@ rpmbuild -bb SPECS/libzuptsdk.spec
sudo rpm -i ~/rpmbuild/RPMS/x86_64/libzuptsdk-2.0.0-*.rpm
```
### Build Zupt itself
### Build VaptVupt itself
```bash
tar -xzf zupt-2.2.3-source.tar.gz
cd zupt-2.2.3
tar -xzf vaptvupt-2.2.3-source.tar.gz
cd vaptvupt-2.2.3
make # build the `./zupt` binary
make # build the `./vaptvupt` binary
sudo make install # install to /usr/local/bin (override with PREFIX=/usr)
./zupt version # verify
./vaptvupt version # verify
```
The `make` step takes 10-30 seconds. The build emits the binary as
`./zupt`. The default install prefix is `/usr/local`; override with
`./vaptvupt`. The default install prefix is `/usr/local`; override with
`PREFIX=/usr` for system-wide install.
### Run the test suite
@ -216,7 +216,7 @@ its own pass/fail count.
### Cross-compilation
Zupt builds on x86_64, aarch64, armhf, ppc64le, s390x, and riscv64. To
VaptVupt builds on x86_64, aarch64, armhf, ppc64le, s390x, and riscv64. To
cross-compile:
```bash
@ -230,7 +230,7 @@ x86_64).
### Static linking against libzuptsdk
If you want a fully self-contained `zupt` binary (no `libzuptsdk.so.2`
If you want a fully self-contained `vaptvupt` binary (no `libzuptsdk.so.2`
runtime dependency), you can link against the static library:
```bash