3 个不稳定版本
0.1.2 | 2024 年 4 月 5 日 |
---|---|
0.1.1 | 2024 年 4 月 5 日 |
0.0.9 | 2023 年 10 月 30 日 |
#1310 in 网络编程
每月 75 次下载
2.5MB
5K SLoC
带有 API/认证密钥管理和请求历史/存储的 TUI HTTP 客户端
该项目仍在积极开发中,尽管它可用,但仍可能存在错误,并且需要对代码库进行重构以及添加新功能。
欢迎合作!有很多低垂的果实 👍 和额外的功能的好主意。
Curl TUI 环境 (CuTE)。使用 Rust 开发的 HTTP 客户端/libcurl 前端,使用优秀的 ratatui 库,旨在简化在终端中发送 HTTP 请求的过程,允许您存储和管理之前的请求 + API 密钥。
这是一个工具,当您的请求不够复杂以使用 Postman 等工具,但又比您想要使用 curl
CLI 更复杂时,或者如果您只是不想记住所有这些命令。您可以向后端发送一些请求进行测试,设置 API 密钥并将请求保存以便稍后再次执行。
新功能:我们现在支持导入您的 Postman
收藏集,这样您就可以在终端中轻松访问您的 API。(注意:目前仅支持 https://schema.getpostman.com/json/collection/v2.1.0/
收藏集模式)
特性
-
交互式 TUI 界面:直观的 TUI 界面,使您可以在不离开终端的情况下快速构建和执行 HTTP 请求。
-
直观的 Vim 键绑定: 默认为 Vim-like 键绑定。最终将在配置文件中添加更改支持。(使用
h
或b
返回上一页,使用j
和k
移动光标上下。在输入框中按i
进入插入模式,使用enter
提交表单,使用esc
退出插入模式) -
API密钥管理:一个非常简单的基于sqlite的API密钥存储系统。您可以选择从请求中保存密钥,或添加/编辑/删除/重命名它们。
-
Postman集合:导入您的Postman集合,无需离开终端即可轻松访问您的API。
-
响应可视化:在TUI中以人类可读的格式美化打印JSON响应,然后您可以选择在检查后将其写入文件。您还可以将执行相同请求所需的
curl
CLI命令复制到剪贴板。 -
此应用程序可在Linux、Windows和MacOS上构建和运行。
为什么?
-
您是否运行过
curl --help all
? -
我创建这个项目是因为我需要它。作为一个每天测试API的后端开发人员,Postman很棒,但我已经运行了足够的electron应用,我生活在终端中。
安装
针对非smelly-nerds
的预构建二进制文件可在发行版页面上找到(目前仅为x86-linux)
使用Cargo安装
- 先决条件:确保您的系统上已安装Rust和Cargo。
-
cargoinstall cute_tui
-
确保您的
~/.cargo/bin
目录已添加到您的PATH -
cute
或cute --dump-config .
# 这将在您的当前工作目录中放置一个config.toml文件。您可以编辑此文件并将其放置在~/.config/CuTE
路径中的目录中(见下文)以自定义应用程序的颜色和一些行为。
从源码构建
-
先决条件:确保您的系统上已安装Rust和Cargo。
-
克隆存储库:使用以下命令将此存储库克隆到您的本地计算机
git clone https://github.com/PThorpe92/CuTE.git && cd CuTE
-
构建和运行:使用Cargo构建和运行应用程序
cargo build --release
-
移动二进制文件:将二进制文件移动到您的PATH中您选择的任何位置
sudo cp target/release/cute ~/.local/bin/
命令行选项
cute [可选] '--dump-config ' 或 '--db-path <'/PATH/to/cute.db'>'
-
--dump-config:将默认的config.toml文件输出到指定的路径。如果未指定路径,它将输出到当前工作目录。
- 此
config.toml
文件需要放置在~/.config/CuTE/{config.toml}
以供应用程序读取。 - 目前,配置文件只能指定应用程序的基本颜色和sqlite数据库的路径。未来将添加更多选项。
- 此
-
--db-path:指定sqlite数据库的路径。如果未指定路径,它将默认为
data_local_dir
工作目录。(~/.local/share/CuTE/CuTE.db或Windows/macos的等效路径)
菜单
-
主菜单:主菜单将提供创建不同类型HTTP请求和管理API密钥的选项。
-
请求类型:选择您要执行的HTTP请求类型。此工具支持GET、POST、PUT、PATCH、HEAD、DELETE和自定义请求。
-
API密钥管理:在API密钥管理部分,您可以添加、编辑或删除API密钥。将API密钥分配给配置文件和特定请求以方便集成。
-
查看响应:执行请求后,该工具将在TUI中以可读的格式显示响应,并可选择将其写入文件。
-
已保存的命令:与API密钥类似,您可以存储和查看过去的请求/命令以方便以后使用。
贡献
欢迎并鼓励对此项目的贡献!如果您遇到任何错误,有改进的建议,或想添加新功能,请随时打开问题或提交PR。
在贡献之前,请先阅读贡献指南。
许可证
本项目采用GPL3.0许可证。
如果您有任何问题或需要帮助,请随时联系
有趣的事实
本项目是在缅因州监狱系统中开发的,作者目前正在服刑。我想尽可能提高人们对目前被关押的220万美国人教育及康复重要性的认识。如果您想了解我的故事,可以阅读我的博客文章。
免责声明:本项目按原样提供,其创建者不对其API密钥的使用或由此产生的任何误用或潜在安全漏洞负责。
依赖项
~65MB
~1M SLoC