35 lines
2.0 KiB
Markdown
35 lines
2.0 KiB
Markdown
# File Tools
|
|
|
|
Inspect, hash, rename, split and join local files in the browser.
|
|
|
|
File Tools is a standalone local-first application in the [add·ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal). Inputs are processed in the browser and are not uploaded.
|
|
|
|
## Version 0.1 scope
|
|
|
|
- Bounded head/tail signature inspection for every selected file with three-worker concurrency, aggregate progress, cancellation, per-file errors and claimed-versus-detected MIME reporting
|
|
- Paged 512-byte hexadecimal/ASCII views plus bounded UTF-8 and extracted-string previews
|
|
- Streaming SHA-256 and SHA-512 hashing in a cancellable module worker
|
|
- Same-size and same-hash duplicate candidates plus deterministic JSON/CSV inventory manifests that explicitly report inspection coverage, failures and cancellations
|
|
- Deterministic, bounded batch-rename planning with path-safe names and collision suffixes; the plan is visible before separate browser downloads begin
|
|
- Zero-copy Blob slicing into manifest-described parts, explicit ordered rejoin, and standard `SHA256SUMS` / `SHA512SUMS` exports
|
|
|
|
Detection and entropy results are heuristics, not format validation, malware analysis or proof of encryption. A selection is limited to 500 entries; file contents remain represented by browser `File` handles and are read only for an inspection window, visible hex window, explicit streaming hash, or explicit export operation. Rename exports create copies and never rename the source handle. Split parts are downloaded separately because no archive container is implied, while join uses the displayed input order and does not infer a part manifest. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md).
|
|
|
|
## Development
|
|
|
|
Requires Node.js 22 and npm 11.
|
|
|
|
```sh
|
|
npm ci
|
|
npm run check
|
|
npm run test:browser
|
|
```
|
|
|
|
## Release
|
|
|
|
`npm run release:artifact` creates a deterministic `release/file-tools-0.2.0.zip` and checksum sidecar.
|
|
|
|
## Licence
|
|
|
|
GPL-3.0-or-later. Runtime dependencies retain their own licences; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|