Skip to content

Commit 0776aef

Browse files
authored
New version: syedinsaf.otaripper version 2.3.0 (microsoft#372404)
1 parent e376dd9 commit 0776aef

3 files changed

Lines changed: 99 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Created with WinGet Releaser using komac v2.16.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json
3+
4+
PackageIdentifier: syedinsaf.otaripper
5+
PackageVersion: 2.3.0
6+
InstallerType: zip
7+
NestedInstallerType: portable
8+
NestedInstallerFiles:
9+
- RelativeFilePath: otaripper.exe
10+
PortableCommandAlias: otaripper
11+
UpgradeBehavior: install
12+
Commands:
13+
- otaripper
14+
ReleaseDate: 2026-05-07
15+
Installers:
16+
- Architecture: x64
17+
InstallerUrl: https://github.com/syedinsaf/otaripper/releases/download/v2.3.0/otaripper-2.3.0-windows-msvc-x86_64.zip
18+
InstallerSha256: 36F64303E0C4157D4081C1C78D33F409F4341F0949C9253825FAA37387AC0631
19+
ManifestType: installer
20+
ManifestVersion: 1.12.0
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Created with WinGet Releaser using komac v2.16.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json
3+
4+
PackageIdentifier: syedinsaf.otaripper
5+
PackageVersion: 2.3.0
6+
PackageLocale: en-US
7+
Publisher: Syed Insaf
8+
PublisherUrl: https://github.com/syedinsaf
9+
PublisherSupportUrl: https://github.com/syedinsaf/otaripper/issues
10+
Author: Syed Insaf
11+
PackageName: otaripper
12+
PackageUrl: https://github.com/syedinsaf/otaripper
13+
License: Apache-2.0
14+
LicenseUrl: https://github.com/syedinsaf/otaripper/blob/HEAD/LICENSE
15+
Copyright: Copyright (c) 2026 Syed Insaf
16+
ShortDescription: 'Fast, safe, and reliable Android OTA partition extractor '
17+
Description: otaripper is a high-performance, multi-threaded partition extractor for Android OTA packages (payload.bin and full OTA .zip files). Built in Rust, it features SIMD-accelerated memory operations and robust fail-safe behavior.
18+
Moniker: otaripper
19+
Tags:
20+
- android
21+
- aosp
22+
- cli
23+
- payload
24+
- terminal
25+
ReleaseNotes: |-
26+
What’s New in v2.3.0
27+
A massive performance and reliability overhaul. v2.3.0 introduces "Zero-Copy" extraction for ZIP-based payloads and deep kernel-level I/O optimizations that push the limits of NVMe and high-speed storage.
28+
Highlights
29+
- Zero-Copy ZIP Extraction: By utilizing direct memory mapping for STORED entries within ZIP files, otaripper now bypasses traditional extraction buffers entirely. This leads to near-instantaneous mapping and extreme throughput for modern Android OTA zips.
30+
- Kernel-Level Zero-Fill Bypass: Optimized the handling of empty blocks by bypassing user-space zeroing. On supported filesystems, this drastically reduces CPU cycles and disk wear when encountering sparse partitions.
31+
- Atomic Pipeline Refactor: The extraction engine has been decomposed into focused, method-driven stages. This architectural change hardens error recovery, ensuring that partial extractions are cleaned up gracefully and diagnostics are more precise.
32+
- Enhanced I/O Caching: Implemented OS-level sequential caching hints. This pre-warms the system's page cache during extraction, resulting in significantly faster SHA-256 validation passes.
33+
Performance & Core Improvements
34+
Pushing I/O Boundaries
35+
- posix_fallocate Integration: On Linux, we now use posix_fallocate to pre-allocate disk space. This eliminates file fragmentation and reduces write contention on highly-parallel extraction tasks.
36+
- Modernized Dependencies: Updated sysinfo to v0.39.0 for more accurate hardware detection and thread-scaling logic.
37+
- Hardened Recovery: Improved lock-poisoning handling and transactional cleanup logic to ensure the filesystem remains consistent even if a process is interrupted.
38+
What's Changed
39+
- feat: instant zip extraction via direct memory mapping by @ArKT-7
40+
- perf: bypass user-space zeroing for empty blocks by @ArKT-7
41+
- perf: add OS-level sequential caching to speed up I/O and SHA-256 validation by @ArKT-7
42+
- perf: use posix_fallocate on Linux to fix write contention by @ArKT-7
43+
- refactor: decompose extraction pipeline into focused methods with hardened error recovery by @syedinsaf
44+
- build(deps): update sysinfo to 0.39.0 by @syedinsaf
45+
Full Changelog: v2.2.2...v2.3.0
46+
Download Guide — Pick the Right Build
47+
───────────────────┬──────────────────────┬────────────────────────────────────────────────┬──────────────────────────────────────────
48+
Platform │Architecture │Download │Notes
49+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
50+
🪟 Windows │x86_64 (MSVC) │⬇️ otaripper-2.3.0-windows-msvc-x86_64.zip │⭐ Recommended for most Windows users
51+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
52+
🪟 Windows │x86_64 (MinGW / GNU) │⬇️ otaripper-2.3.0-windows-gnu-x86_64.zip │Only if you explicitly need MinGW
53+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
54+
🐧 Linux │x86_64 (glibc) │⬇️ otaripper-2.3.0-linux-x86_64.tar.gz │Standard dynamic Linux build
55+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
56+
🐧 Linux │x86_64 (static / musl)│⬇️ otaripper-2.3.0-linux-static-x86_64.tar.gz │Fully portable, works on almost any distro
57+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
58+
🐧 Linux │ARM64 (aarch64) │⬇️ otaripper-2.3.0-linux-arm64.tar.gz │ARM servers, SBCs, phones
59+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
60+
🍎 macOS │Intel (x86_64) │⬇️ otaripper-2.3.0-macos-x86_64.tar.gz │Intel-based Macs
61+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
62+
🍎 macOS │Apple Silicon (ARM64) │⬇️ otaripper-2.3.0-macos-arm64.tar.gz │M1 / M2 / M3 Macs
63+
───────────────────┼──────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────
64+
🤖 Android / Termux│ARM64 │⬇️ otaripper-2.3.0-android-arm64.zip │Termux-only environment
65+
───────────────────┴──────────────────────┴────────────────────────────────────────────────┴──────────────────────────────────────────
66+
Integrity & Verification
67+
All releases include .sha256 checksum files so you can verify downloads before running.
68+
sha256sum -c otaripper-2.3.0-<build>.sha256
69+
ReleaseNotesUrl: https://github.com/syedinsaf/otaripper/releases/tag/v2.3.0
70+
ManifestType: defaultLocale
71+
ManifestVersion: 1.12.0
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Created with WinGet Releaser using komac v2.16.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json
3+
4+
PackageIdentifier: syedinsaf.otaripper
5+
PackageVersion: 2.3.0
6+
DefaultLocale: en-US
7+
ManifestType: version
8+
ManifestVersion: 1.12.0

0 commit comments

Comments
 (0)