Skip to content

jwt-rs/jwt-ui

Repository files navigation

JWT UI - A Terminal UI for decoding/encoding JSON Web Tokens

ci cd License LOC crates.io link Release Coverage GitHub Downloads Crate.io downloads

Follow Deepu K Sasidharan (deepu105)

     ____.__      _____________       ____ ___.___
    |    /  \    /  \__    ___/      |    |   \   |
    |    \   \/\/   / |    |  ______ |    |   /   |
/\__|    |\        /  |    | /_____/ |    |  /|   |
\________| \__/\  /   |____|         |______/ |___|
                \/

A terminal UI for decoding/encoding JSON Web Tokens inspired by JWT.io and jwt-cli

UI

Crafted by

Auth0 by Okta

Installation

Homebrew (Mac & Linux)

brew tap jwt-rs/jwt-ui
brew install jwt-ui

# If you need to be more specific, use:
brew install jwt-rs/jwt-ui/jwt-ui

To upgrade

brew upgrade jwt-ui

Scoop (Windows)

scoop bucket add jwt-ui-bucket https://github.com/jwt-rs/scoop-jwt-ui

scoop install jwt-ui

Cargo

If you have Cargo installed then you install JWT UI from crates.io

cargo install jwt-ui

You can also clone the repo and run cargo run or make to build and run the app

Install script

Run the below command to install the latest binary. Run with sudo if you don't have write access to /usr/local/bin. Else the script will install to the current directory

curl https://raw.githubusercontent.com/jwt-rs/jwt-ui/main/deployment/getLatest.sh | bash

Docker

Run KDash as a Docker container by mounting your KUBECONFIG. For example the below command for the default path

docker run --rm deepu105/jwt-ui

You can also clone this repo and run make docker to build a docker image locally and run it using the above command

Manual

Binaries for macOS, Linux and Windows are available on the releases page

  1. Download the latest binary for your OS.
  2. For Linux/macOS:
    1. cd to the file you just downloaded and run tar -C /usr/local/bin -xzf downloaded-file-name. Use sudo if required.
    2. Run with jwtui
  3. For Windows:
    1. Use 7-Zip or TarTool to unpack the tar file.
    2. Run the executable file jwtui.exe

Troubleshooting

Note: On Debian/Ubuntu you might need to install libxcb-xfixes0-dev and libxcb-shape0-dev. On Fedora libxcb and libxcb-devel would be needed.

Note: On Linux you might need to have package xorg-dev (Debian/Ubuntu) or xorg-x11-server-devel (Fedora) or equivalent installed for the copy to clipboard features to work

USAGE:

jwtui

#or

jwtui [OPTIONS] [TOKEN]

Press ? while running the app to see keybindings

Arguments: [TOKEN] JWT token to decode [mandatory for stdout mode, optional for TUI mode]

Options: -s, --stdout whether the CLI should run in TUI mode or just print to stdout -j, --json whether stdout should be formatted as JSON -t, --tick-rate <TICK_RATE> Set the tick rate (milliseconds): the lower the number the higher the FPS. Must be less than 1000 [default: 250] -S, --secret <SECRET> secret for validating the JWT [default: ] -h, --help Print help -V, --version Print version

Limitations/Known issues

Features

  • Fully offline
  • Dark/Light themes
  • Sensible keyboard shortcuts

Screenshots

Decoder screen

UI

Encoder screen

UI

Stdout

UI

Libraries used

Licence

MIT

Creator