38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
# bb64
|
|
|
|
# Installation
|
|
|
|
```
|
|
curl -fsSL https://gitea.jde.nz/public/bb64/releases/download/latest/install.sh | bash
|
|
```
|
|
|
|
# Use
|
|
|
|
Bash Base64, written in C++.
|
|
|
|
Uses a custom Base64 character set for bash compatibility, not compatible with other utilities.
|
|
|
|
```
|
|
Useage:
|
|
bb64 BASE64COMMAND Decodes the base64 encoded command, and runs it
|
|
bb64 -i BASE64COMMAND Decodes the base64 encoded command, and prints to the screen
|
|
If it contains a bb64 command within the decoded command, it
|
|
also decodes that and prints it to the screen.
|
|
bb64 -e COMMAND(S) encodes the commands in base64.
|
|
```
|
|
|
|
# Implementation Notes
|
|
|
|
bb64 runs the command by replacing the current process, so it ensures that tty, environment
|
|
variables etc are all identical for the run command. It works with interactive commands, like
|
|
nano or ssh.
|
|
|
|
The command is run as:
|
|
`bash -c COMMAND`
|
|
Where COMMAND is passed to bash as a single argument.
|
|
|
|
If the command is run, the return value is the return value of the command.
|
|
If it isn't run, bb64 returns -1.
|
|
|
|
`./build.sh` will build bb64 for x86_64 (amd64) and arm64 architectures.
|