| `-s` | Silent mode. Do not output anything when extracting |
| `-s` | Silent mode. Do not output anything when extracting |
| `-e <string>` | Post-extraction hook. See below for details. |
| `-e <string>` | Post-extraction hook. See below for details. |
| `-u` | Do not check data integrity (skip hashing) |
| `-` | Stop reading argument flags |
| `-` | Stop reading argument flags |
`sfexec-create-compress` compresses the binary with `gzip`, and decompresses when executed.
`sfexec-create-compress` compresses the binary with `gzip`, and decompresses when executed.
@ -45,15 +46,15 @@ The post extraction hook is passed to `/bin/sh`, with some input changes:
| `%arg[n]` | The `n`th argument passed to `sfexec`, if `n` is outside the range of arguments, nothing is replaced. |
| `%arg[n]` | The `n`th argument passed to `sfexec`, if `n` is outside the range of arguments, nothing is replaced. |
## Building
## Building
To build the `sfexec` binary, g++ is used, along with [sha256_literal] for verifying the post-extraction hook.
To build the `sfexec` binary, `g++` is used, along with [sha256_literal] for verifying the data (unless `-u` is specified) and post-extraction hook.
To clone `sha256_literal` run:
To clone `sha256_literal` run:
``` shell
``` shell
$ make deps
$ make deps
```
```
Included in the repo is a pre-built generator binary, signed with [my GPG key] at `generator-v<version>.gpg` with a checksum in `generator-v<version>.sha256`. Alternatively you can build it yourself like so:
Included in the repo is a pre-built generator binary, signed with [my PGP key] at `generator-v<version>.gpg` with a checksum in `generator-v<version>.sha256`. Alternatively you can build it yourself like so: