Release Binary Tools 0.1.0

This commit is contained in:
2026-09-01 13:04:49 +02:00
commit 60768466c1
59 changed files with 10424 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Binary Tools
Convert, inspect and decode byte-oriented formats locally in the browser. Binary Tools is a standalone add·ideas Toolbox application; files and input never leave the browser.
## Features
- Synchronized UTF-8, hexadecimal, Base64, RFC 4648 Base32 and Bitcoin-alphabet Base58 conversions.
- A paged byte/offset/ASCII inspector with clickable highlighted source ranges.
- CBOR and MessagePack JSON encode/decode.
- Strict ASN.1 DER TLV trees, including canonical identifiers, lengths and core primitive encodings.
- Protocol Buffers wire inspection with optional JSON field schemas for common scalar and nested message types.
- Offline-capable PWA, light/dark/system themes and keyboard-accessible controls.
## Safety and limits
All input is inert data. The application makes no external requests and never evaluates decoded content. Inputs and encoded outputs are capped at 1 MiB; structured parsing is capped at depth 64 and 10,000 nodes. Base58 is capped at 4 KiB because arbitrary-base conversion is quadratic. DER rejects indefinite/non-minimal lengths and identifiers plus malformed core primitive encodings. Protobuf groups are deliberately unsupported. Schema assistance validates field records and wire compatibility, but is intentionally limited and is not a generated protobuf runtime.
## Development
Requires Node.js 22+ and npm 11.
```sh
npm ci
npm run check
npm run test:browser
npm run package:release -- --force
```
The deterministic release is written to `release/binary-tools-0.1.0.zip` with a SHA-256 sidecar.
## Licence
GPL-3.0-or-later. See `LICENSE` and `THIRD_PARTY_NOTICES.md`.