Repository navigation
What's New in v3.5.0
The Payload Safety Hardening & CLI Aesthetics update. v3.5.0 focuses on deep safety hardening for remote OTA HTTP streaming, arithmetic overflow protection, negative seek underflow defenses, updated dependencies, and a completely redesigned CLI help interface with color-coded syntax highlighting.
Highlights
- Checked Arithmetic & Overflow Protection: Implemented
checked_addcalculations for payload data offsets to eliminate integer overflow risks when parsing remote OTA payloads. - Hardened HTTP Remote Stream Validation: Added strict validation for
Payload::parse_remotemagic bytes (CrAU), manifest offsets, header bounds, and signature sizes against corrupted HTTP streams. - Negative Seek Underflow Defenses: Hardened
CachingHttpReaderremoteSeekimplementations with checked bounds to prevent negative seek underflows (i64underflow protection). - Automated Test Suite Expansion: Added comprehensive unit tests covering remote payload header parsing, short input handling, invalid magic bytes, and stream seeking behavior.
- Revamped CLI Help & Terminal Aesthetics: Redesigned
FRIENDLY_HELPinterface with color-coded syntax highlighting (otaripperin cyan, options/subcommands in yellow, arguments in bright white), structured section hierarchy (▸ QUICK START,▸ COMMON TASKS, etc.), pixel-perfect column alignment, and zero emojis. - Toolchain & Dependency Refresh: MSRV upgraded to Rust 1.98.1 alongside updated core dependencies (
clap,anyhow,serde,console,indicatif,memmap2,crossbeam-channel,liblzma).
What's Changed
- feat(payload): payload safety hardening, remote seek bounds checking, and overflow protection (#51)
- refactor(cmd): redesign
FRIENDLY_HELPinterface layout, color palette, syntax highlighting, and column alignment - test(payload): add unit tests for remote payload parsing and HTTP seek bounds
- build(deps): bump dependencies in Cargo.toml & Cargo.lock (#49, #50, #51)
Full Changelog: v3.4.0...v3.5.0
Download Guide - Pick the Right Build
| Platform | Architecture | Download | Notes |
|---|---|---|---|
| 🪟 Windows | x86_64 (MSVC) | ⬇️ otaripper-3.5.0-windows-msvc-x86_64.zip | ⭐ Recommended for most Windows users |
| 🪟 Windows | x86_64 (MinGW / GNU) | ⬇️ otaripper-3.5.0-windows-gnu-x86_64.zip | Only if you explicitly need MinGW |
| 🐧 Linux | x86_64 (glibc) | ⬇️ otaripper-3.5.0-linux-x86_64.tar.gz | Standard dynamic Linux build |
| 🐧 Linux | x86_64 (static / musl) | ⬇️ otaripper-3.5.0-linux-static-x86_64.tar.gz | Fully portable, works on almost any distro |
| 🐧 Linux | ARM64 (aarch64) | ⬇️ otaripper-3.5.0-linux-arm64.tar.gz | ARM servers, SBCs, phones |
| 🍎 macOS | Intel (x86_64) | ⬇️ otaripper-3.5.0-macos-x86_64.tar.gz | Intel-based Macs |
| 🍎 macOS | Apple Silicon (ARM64) | ⬇️ otaripper-3.5.0-macos-arm64.tar.gz | M1–M5 Macs |
| 🤖 Android / Termux | ARM64 | ⬇️ otaripper-3.5.0-android-arm64.zip | Termux-only environment |
Integrity & Verification
Verify the compressed archives using the master checksums.txt file attached to this release:
# Verify downloaded archive
sha256sum -c checksums.txt
# Verify extracted binary integrity
sha256sum -c *.sha256