关于sttr
sttr是一款针对字符串的跨平台数据转换与处理工具,旨在帮助广大研究人员对字符串执行各种操作。
sttr是一个命令行软件,可以让你快速对字符串运行各种转换操作:
// 提示输入内容 sttr // 直接输入 sttr md5 "Hello World" // 文件输入 sttr md5 file.text sttr base64-encode image.jpg // 从不同的处理器读取内容,例如cat、curl和printf等.. echo "Hello World" | sttr md5 cat file.txt | sttr md5 // 将输出写入到文件 sttr yaml-json file.yaml > file-output.json
功能介绍
当前版本的sttr支持对目标字符串执行下列操作:
编码/解码
ascii85-encode - 将文本编码为 Ascii85
ascii85-decode - 解码你的 Ascii85 文本
base32-decode - 解码你的 Base32 文本
base32-encode - 将文本编码为 Base32
base64-decode - 解码你的 Base64 文本
base64-encode - 将文本编码为 Base64
base85-encode - 将文本编码为 Base85
base85-decode - 解码你的 Base85 文本
base64url-decode - 解码你的 Base64 URL
base64url-encode - 将文本编码为 URL
html-decode - 取消转义你的 HTML
html-encode - 转义你的 HTML
rot13-encode - 将你的文本编码为 ROT13
url-decode - 解码 URL 实体
url-encode - 对 URL 实体进行编码
哈希
bcrypt - 获取文本的 bcrypt 哈希值
md5 - 获取文本的 MD5 校验和
sha1 - 获取文本的 SHA1 校验和
sha256 - 获取文本的 SHA256 校验和
sha512 - 获取文本的 SHA512 校验和
字符串
camel - 将文本转换为 camelCase
kebab - 将文本转换为 kebab-case
lower - 将文本转换为小写
pascal - 将文本转换为 PascalCase 格式
reverse - 反向文本 ( txeT esreveR )
slug - 将文本转换为 slug-case
snake - 将文本转换为 snake_case
title - 将文本转换为标题大小写
upper - 将文本转换为大写
行
count-lines - 计算文本的行数
reverse-lines- 反向行
shuffle-lines - 随机打行
sort-lines - 按字母顺序对行进行排序
unique-lines - 从列表中获取唯一行
空格
remove-spaces - 删除所有空格 + 新行
remove-newlines-删除所有新行
计数
count-chars - 查找文本的长度(包括空格)
count-lines - 计算文本的行数
count-words - 计算文本中的单词数
RGB/十六进制
hex-rgb - 将 #hex-color 代码转换为 RGB
hex-encode - 对文本进行十六进制编码
hex-decode - 将十六进制转换为字符串
JSON
json - 将文本格式化为 JSON
json-escape - JSON 转义
json-unescape ——JSON Unescape
json-yaml - 将 JSON 转换为 YAML 文本
json-msgpack - 将 JSON 转换为 MSGPACK
msgpack-json - 将 MSGPACK 转换为 JSON
YAML
yaml-json - 将 YAML 转换为 JSON 文本
Markdown
markdown-html - 将 Markdown 转换为 HTML
Markdown
extract-emails- 从给定的文本中提取电子邮件
extract-ip - 从文本中提取 IPv4 和 IPv6
extract-urls - 提取文本中的 URL(我们不进行 ping 检查)
其他
escape-quotes - 从文本中转义单引号和双引号
completion-为指定的 shell 生成自动完成脚本
interactive - 在交互模式下使用 sttr
version - 打印 sttr 的版本
zeropad - 用零填充数字
目前该工具仍处于积极开发中,将来会添加针对字符串的更多功能。
工具要求
Go运行环境
工具安装
由于该工具基于Go开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go运行时环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
快速安装
您可以运行以下命令curl将其安装在 PATH 中的某个位置,以便于使用。理想情况下,它将安装在./bin 文件夹
curl -sfL https://raw.githubusercontent.com/abhimanyu003/sttr/main/install.sh | sh
Webi
macOS / Linux:
curl -sS https://webi.sh/sttr | sh
Windows
curl.exe https://webi.ms/sttr | powershell
Homebrew
如果您使用的是 macOS 并使用 Homebrew,则可以sttr使用以下命令进行安装:
brew tap abhimanyu003/sttr brew install sttr
Snap
sudo snap install sttr
Arch Linux
yay -S sttr-bin
Scoop
scoop bucket add sttr https://github.com/abhimanyu003/scoop-bucket.git scoop install sttr
Go
go install github.com/abhimanyu003/sttr@latest
工具使用
安装后只需运行sttr命令即可:
sttr
查看工具帮助信息:
sttr -h sttr zeropad -h sttr md5 -h
处理文件输入:
sttr {command-name} {filename} sttr base64-encode image.jpg sttr md5 file.txt sttr md-html Readme.md
将输出写入文件:
sttr yaml-json file.yaml > file-output.json
从其他命令获取输入:
curl https: //jsonplaceholder.typicode.com/users | sttr json-yaml
链接不同的处理器:
sttr md5 hello | sttr base64-encode echo "Hello World" | sttr base64-encode | sttr md5
工具运行演示
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
sttr:【GitHub传送门】
参考资料
https://youtu.be/4nFRKbY_HVE?t=2529?ref=abhimanyu003/sttr