Categories: Kali Linux

WTF – A Personal Information Dashboard For Your Terminal

WTF is a personal terminal-based dashboard utility, designed for displaying infrequently-needed, but very important, daily data. WTF is only compatible with Go versions 1.9.2 or later. It currently does not compile with gccgo.

Also Read Cr3dOv3r – Know The Dangers Of Credential Reuse Attacks

WTF Installation

There are two ways to install WTF:

From Source

Get this repo and install the dependencies:

go get -u github.com/senorprogrammer/wtf
cd $GOPATH/src/github.com/senorprogrammer/wtf
make install
make run

and that should probably do it.

As a Binary

Grab the latest version from here:

https://github.com/senorprogrammer/wtf/releases

expand it, and cd into the resulting directory. Then run:

./wtf

and that should also do it.

Configuration

Configuration Files

By default WTF looks in a ~/.config/wtf/ directory for a YAML file called config.yml. If the ~/.config/wtf/ directory doesn’t exist, it will create that directory on start-up, and then display instructions for creating a new configuration file.

In other words, it expects to have a YAML config file at: ~/.config/wtf/config.yml.

Example Configuration Files

A couple of example config files are provided in the _sample_configs/ directory of the Git repository.

To try out WTF quickly, copy simple_config.yml into ~/.config/wtf/ as config.yml and relaunch WTF. You should see the app launch and display the Security, Clocks and Status widgets onscreen.

Custom Configuration Files

To try out different configurations (or run multiple instances of WTF), you can pass the path to a config file via command line arguments on start-up.

To load a custom configuration file (ie: one that’s not ~/.config/wtf/config.yml), pass in the path to configuration file as a parameter on launch:

    $> wtf --config=path/to/custom/config.yml
Configuration Attributes

A number of top-level attributes can be set to customize your WTF install. See Attributes for detials.

Environment (ENV) Variables

Some modules require the presence of environment variables to function properly. Usually these are API keys or other sensitive data that one wouldn’t want to have laying about in the config files.

For modules that require them, the name of the required environment variable(s) can be found in that module’s “Required ENV Variables” section of the documentation.

Grid Layout

WTF uses the Grid layout system from tview to position widgets onscreen. It’s not immediately obvious how this works, so here’s an explanation:

Think of your terminal screen as a matrix of letter positions, say 100 chrs wide and 58 chrs tall.

Columns breaks up the width of the screen into chunks, each chunk a specified number of characters wide. use

[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]

Ten columns that are ten characters wide

Rows break up the height of the screen into chunks, each chunk a specified number of characters tall. If we wanted to have five rows:

[10, 10, 10, 10, 18]

The co-ordinate system starts at top-left and defines how wide and tall a widget is. If we wanted to put a 2-col, 2-row widget in the bottom of the screen, we’d position it at:

  top: 4     // top starts in the 4th row
  left: 9    // left starts in the 9th column
  height: 2  // span down rows 4 & 5 (18 characters in size, total)
  width: 2   // span across cols 9 & 10 (20 characters in size, total)

 

R K

Recent Posts

ModTask – Task Scheduler Attack Tool

ModTask is an advanced C# tool designed for red teaming operations, focusing on manipulating scheduled…

1 day ago

HellBunny : Advanced Shellcode Loader For EDR Evasio

HellBunny is a malleable shellcode loader written in C and Assembly utilizing direct and indirect…

1 day ago

SharpRedirect : A Lightweight And Efficient .NET-Based TCP Redirector

SharpRedirect is a simple .NET Framework-based redirector from a specified local port to a destination…

1 day ago

Flyphish : Mastering Cloud-Based Phishing Simulations For Security Assessments

Flyphish is an Ansible playbook allowing cyber security consultants to deploy a phishing server in…

2 days ago

DeLink : Decrypting D-Link Firmware Across Devices With A Rust-Based Library

A crypto library to decrypt various encrypted D-Link firmware images. Confirmed to work on the…

2 days ago

LLM Lies : Hallucinations Are Not Bugs, But Features As Adversarial Examples

LLMs (e.g., GPT-3.5, LLaMA, and PaLM) suffer from hallucination—fabricating non-existent facts to cheat users without…

2 days ago