prng_split

Crates.ioprng_split
lib.rsprng_split
version0.1.0
created_at2024-11-21 22:50:34.009309+00
updated_at2024-11-21 22:50:34.009309+00
descriptionA subset of the split commmand with a prng seeded from input for deterministic output
homepage
repositoryhttps://github.com/waynevanson/prng_split
max_upload_size
id1456781
size32,647
Wayne Van Son (waynevanson)

documentation

README

range-split

A subset of the UNIX split command built with a PRNG for creating files of differening and deterministic sizes, seeded from the input.

Quick start

Use cases

Hosting large files in a repository

There's a bit of fluffling around but this can be used to host large files in GitHub without them knowing.

#  archive, compress, split

INPUT_DIR="path/to/big/directory"
PREFIX=".parts/"
RANGE="(0KB,50MB)" # 50MB is GitHub recommended max size.
tar cf - "$INPUT_DIR" | xz -9 -c | range-split -vvvv --factor 16 --prefix "$PREFIX" "$RANGE"
# concatenate, uncompress, unarchive

cat "$@" | xz -d -c | tar xf -

Nix (Flakes)

This library is available as a flake.

{
    inputs = {
        range-split.url = "github:waynevanson/elevated-cycling";
    };

    outputs = {}: {

    };
}
Commit count: 10

cargo fmt