genact Documentation

A nonsense activity generator

12,031 stars Rust Rust 1 file ยท ~1,110 tokens #cli#fake#hacktoberfest#nonsense#useless#wasm#webassembly
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy genact on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name genact --restart always svenstaro/genact:latest

genact - a nonsense activity generator






Pretend to be busy or waiting for your computer when you should actually be doing real work! Impress people with your insane multitasking skills. Just open a few instances of genact and watch the show. genact has multiple scenes that pretend to be doing something exciting or useful when in reality nothing is happening at all.

Installation

You don't have to install anything! For your convenience, prebuilt binaries for Linux, OSX and Windows are provided here that should run without any dependencies. Additionally, there is a web version at https://svenstaro.github.io/genact/

It's compatible with FreeBSD, Linux, macOS, Windows, and most modern web browsers that support WebAssembly.

On FreeBSD: You don't have to do anything special here. Just run

text
pkg install genact
genact

On Linux: Download genact-linux from the releases page and run

text
chmod +x genact-linux
./genact-linux

On macOS: Download genact-osx from the releases page and run

text
chmod +x genact-osx
./genact-osx

A homebrew package is also available. To install it this way, run

text
brew install genact

On macOS, you can also install via MacPorts:

text
sudo port install genact

On Windows: Download genact-win.exe from the releases page and double click it.

It is also available on Scoop:

text
scoop install genact

With Cargo: If you have a somewhat recent version of Rust and Cargo installed, you can run

text
cargo install genact
genact

With gah: If you are using gah, you can run

text
gah install genact

Running

To see a list of all available options, you can run

text
./genact -h

or

text
cargo run -- -h

or (on Docker)

text
docker run -it --rm svenstaro/genact -h

Usage

text
A nonsense activity generator

Usage: genact [OPTIONS]

Options:
  -l, --list-modules                               List available modules
  -m, --modules <MODULES>                          Run only these modules [possible values: ansible, bootlog, botnet, bruteforce, cargo, cc, composer,
                                                   cryptomining, docker_build, docker_image_rm, download, julia, kernel_compile, memdump, mkinitcpio,
                                                   rkhunter, simcity, terraform, uv, weblog, wpt]
  -s, --speed-factor <SPEED_FACTOR>                Global speed factor [default: 1]
  -i, --instant-print-lines   Instantly print this many lines [default: 0]
      --exit-after-time <EXIT_AFTER_TIME>          Exit after running for this long (format example: 2h10min)
      --exit-after-modules <EXIT_AFTER_MODULES>    Exit after running this many modules
      --print-completions <shell>                  Generate completion file for a shell [possible values: bash, elvish, fish, powershell, zsh]
      --print-manpage                              Generate man page
  -h, --help                                       Print help
  -V, --version                                    Print version

Web usage

In the web version, you can run specific modules by providing them as ?module
parameters like this: https://svenstaro.github.io/genact?module=cc&module=memdump

You can also provide a ?speed-factor like this:
https://svenstaro.github.io/genact?speed-factor=5

Building

You should have a recent version of rust and cargo installed.

Then, just clone it like usual and cargo run to get output:

text
git clone https://github.com/svenstaro/genact.git
cd genact
cargo run --release

Releasing

This is mostly a note for me on how to release this thing:

  • Make sure CHANGELOG.md is up to date.
  • cargo release <version>
  • cargo release --execute <version>
  • Releases will automatically be deployed by GitHub Actions.
  • Update Arch package.