15个版本 (稳定版)
1.2.0 | 2024年5月23日 |
---|---|
1.1.0 | 2024年1月22日 |
0.0.5 | 2024年1月11日 |
0.0.1 | 2023年10月24日 |
在 身份验证 中排名 50
每月下载 116 次
1MB
4K SLoC
JWT UI - JSON Web Tokens的解码/编码终端UI
____.__ _____________ ____ ___.___
| / \ / \__ ___/ | | \ |
| \ \/\/ / | | ______ | | / |
/\__| |\ / | | /_____/ | | /| |
\________| \__/\ / |____| |______/ |___|
\/
受 JWT.io 和 jwt-cli 启发的JSON Web Tokens解码/编码终端UI
制作
特性
- 完全离线
- 支持作为纯文本、文件路径(以
@
开头)或base64编码字符串(以b64:
开头)的机密信息。支持的机密信息格式- HMAC -
HS{256,384,512}
: 纯文本、base64编码字符串、JWKS (JSON文本和.json
文件) - RSA -
RS{256,384,512}
,PS{256,384,512}
: PEM文件、DER文件、PKCS8文件、JWKS (JSON文本和.json
文件) - ECDSA -
ES{256,384}
: PEM文件、DER文件、PKCS8文件、JWKS (JSON文本和.json
文件) - EdDSA : PEM文件、DER文件、PKCS8文件、JWKS (JSON文本和
.json
文件) -
- 注意:JWKS 支持仅用于解码。编码时请使用 PEM/DER/PKCS8 文件(RSA/ECDSA/EdDSA)和平文/base64 文本(HMAC)
- HMAC -
- 深色/浅色主题
- 合理的键盘快捷键和鼠标支持
- 复制到剪贴板
- STDOUT 模式
安装
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
升级
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
如果您已安装 Cargo,则可以从 crates.io 安装 JWT UI
cargo install jwt-ui --locked
您也可以克隆该存储库并运行 cargo run
或 make
以构建并运行应用程序
Arch Linux [由 @orhun 维护]
jwt-ui
在 官方仓库 中可用。您可以使用 pacman 安装它
pacman -S jwt-ui
安装脚本
运行以下命令安装最新版本的二进制文件。如果没有对 /usr/local/bin
的写入权限,请使用 sudo 运行。否则,脚本将安装到当前目录
curl https://raw.githubusercontent.com/jwt-rs/jwt-ui/main/deployment/getLatest.sh | bash
Docker
作为 Docker 容器运行 JWT UI。
docker run --rm -it deepu105/jwt-ui
您还可以克隆此存储库并运行 make docker
以在本地构建 Docker 镜像并使用上述命令运行它
手册
macOS (x86_64, arm64)、Linux GNU/MUSL(x86_64, armv6, armv7, aarch64) 和 Windows (x86_64, aarch64) 的二进制文件可在 发布页面 上找到
- 下载您操作系统上的最新 二进制文件。
- 对于 Linux/macOS
cd
到您刚刚下载的文件,并运行tar -C /usr/local/bin -xzf downloaded-file-name
。如果需要,请使用 sudo。- 使用
jwtui
运行
- 对于 Windows
- 使用 7-Zip 或 TarTool 解压 tar 文件。
- 运行可执行文件
jwtui.exe
用法
# Start UI
jwtui
# Start UI with prefilled token to decode and options
jwtui [OPTIONS] [TOKEN]
# Start UI with prefilled token to decode and JWKS secret from URL
jwtui -S $(curl https://domain.auth0.com/.well-known/jwks.json) [TOKEN]
# if your provider has a different URL for JWKS, look for `jwks_uri` in https://your.idp.com/.well-known/openid-configuration
# Print decoded token to stdout with HMAC plain text secret
jwtui -s -S 'plain_text_secret' [TOKEN]
# Print decoded token to stdout without signature validation.
jwtui -sn [TOKEN]
# Print decoded token to stdout with HMAC base64 encoded secret
jwtui -s -S 'b64:eW91ci0yNTYtYml0LXNlY3JldAo=' [TOKEN]
# Print decoded token to stdout as JSON
jwtui -j -S '@./secret.pem' [TOKEN]
# Print decoded token to stdout with JWKS secret from url
jwtui -s -S $(curl https://domain.auth0.com/.well-known/jwks.json) [TOKEN]
在运行应用程序时按 ?
以查看快捷键
参数:[TOKEN] 要解码的 JWT 令牌 [STDOUT 模式必需,TUI 模式可选]
选项
-S, --secret <SECRET>
用于验证 JWT 的密钥。可以是文本、文件路径(以 @ 开头)或 base64 编码的字符串(以 b64: 开头)[默认值:空]-s, --stdout
将输出打印到 STDOUT 而不是在 TUI 模式下启动 CLI-n, --no-verify
打印到 STDOUT 时不要验证 JWT 的签名。-j, --json
将输出打印为 JSON-t, --tick-rate <TICK_RATE>
设置滴答率(毫秒):数字越低,FPS 越高。必须小于 1000 [默认:250]-h, --help
打印帮助信息-V, --version
打印版本
如果您正在寻找非 TUI CLI,请查看 jwt-cli
截图
解码器屏幕
编码器屏幕
标准输出
故障排除
注意:在 Debian/Ubuntu 上,您可能需要安装
libxcb-xfixes0-dev
和libxcb-shape0-dev
。在 Fedora 上需要libxcb
和libxcb-devel
。
注意:在 Linux 上,您可能需要安装包
xorg-dev
(Debian/Ubuntu)或xorg-x11-server-devel
(Fedora)等,以便复制到剪贴板功能正常工作。
限制/已知问题
- Linux/Docker 复制到剪贴板功能依赖于操作系统/架构,可能在某些 Linux 发行版中崩溃,并且不支持
aarch64
和arm
机器。 - [macOS] 由于 macOS 的默认终端应用使颜色渲染异常,KDash 在 iTerm2 上看起来更好。
- [Windows] 由于 PowerShell 的默认主题使颜色看起来很奇怪,KDash 在 CMD 中看起来更好。
使用的库
许可证
MIT
发布
- 更新
Cargo.toml
中的版本 - 更新
CHANGELOG.md
中的发布说明 - 提交更改
- 运行
make release V=vx.x.x
以通过 GitHub actions 发布新版本
创建者
依赖项
~13–26MB
~410K SLoC