ATAC ⚔📩
目录
描述
ATAC 是可以说是一个终端 API 客户端。 它基于知名客户端如 Postman、Insomnia 甚至 Bruno, 但在您的终端内运行,无需任何特定的图形环境。
ATAC 的理念是现在和永远保持免费、无账户和离线。
如何安装
使用 cargo 安装
[!重要] 首先,确保您的 rust 版本至少为 1.78
只需使用:
cargo install atac
从 Arch 安装
您可以使用 pacman 安装:
pacman -S atac
使用 Homebrew 安装
只需使用:
brew tap julien-cpsn/atac
brew install atac
从 Fedora copr 安装
只需使用:
dnf copr enable joxcat/atac
dnf install atac
二进制文件
最新发布的二进制文件可以在这里找到
[!重要] 记得从终端运行它。 例如,您可以将二进制文件添加到您的 PATH 中。 您无法像运行其他图形应用程序那样运行它,因为它需要 CLI 参数。
[!提示] macOS 用户注意。下载二进制文件后,您可能需要运行命令
sudo xattr -rd com.apple.quarantine ~/bin/atac
(修改以反映atac
所在的路径)。
自行编译
[!重要] 首先,确保您的 rust 版本至少为 1.76
只需克隆仓库并使用:
cargo run
cargo run -- -h
[!提示] 构建最新发布版本
cargo build --release
功能
当前
功能 | ATAC | Postman | Insomnia |
---|---|---|---|
管理集合和请求 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
HTTP 客户端 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
方法 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- GET | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- POST | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- PUT | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- PATCH | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- DELETE | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- HEAD | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- OPTIONS | :white_check_mark: | :white_check_mark: | :white_check_mark: |
认证 | 部分 | :white_check_mark: | :white_check_mark: |
- 基本认证 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- Bearer 令牌 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- JWT, Digest, OAuth1-2, AWS | :x: :soon: | :white_check_mark: | :white_check_mark: |
头部 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
正文 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 多部分表单 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- URL 编码表单 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 文件 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 纯文本 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- JSON, XML, HTML, Javascript | :white_check_mark: | :white_check_mark: | :white_check_mark: |
完整响应 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 状态码 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- Cookies | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 头部 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 持续时间 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
脚本 | :white_check_mark: | 部分 | :x: |
- 请求前脚本 | :white_check_mark: | :x: | :x: |
- 请求后脚本 | :white_check_mark: | :white_check_mark: | :x: |
异步请求 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
每个请求的设置 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 使用代理 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 允许重定向 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 存储 cookies | :white_check_mark: | :white_check_mark: | :white_check_mark: |
导出到其他语言 | :x: :soon: | :white_check_mark: | :x: |
WebSocket 客户端 | :x: :soon: | :white_check_mark: | :white_check_mark: |
GraphQL | :x: :soon: | :white_check_mark: | :white_check_mark: |
gRPC | :x: :soon: | :white_check_mark: | :white_check_mark: |
MQTT | :x: :soon: | :white_check_mark: | :x: |
免费 | :white_check_mark: | 取决于 | 取决于 |
轻量级、快速和高效 | :white_check_mark: | :x: | :x: |
数据存储 | 您自己的可提交、可读和版本化的文件(JSON 或 YAML) | 绑定到您的账户 | 绑定到您的账户 |
离线 | :white_check_mark: | :x: | :x: |
实时协作 | :x: (未计划) | :white_check_mark: | :white_check_mark: |
环境文件和变量 | :white_check_mark: (可提交、可读和版本化) | :white_check_mark: | :white_check_mark: |
查看选项 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
全局配置文件 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- HTTP/HTTPS 代理 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- 禁用 CORS | :white_check_mark: | :x: | :x: |
- 切换语法高亮 | :white_check_mark: | :x: | :x: |
Postman v2.1.0 导入 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
OpenAPI 导入 | :x: :soon: | :white_check_mark: | :white_check_mark: |
TODO v1.0.0
-
待添加
- 为整个代码添加文档
- 取消待处理请求
- 命令行用法(发送请求,添加新请求)
- 请求正文语法高亮
- 将请求导出为其他代码格式(raw, curl, PHP, JS, Rust, ...)
- OpenAPI 和 Insomnia 导入
-
待改进
- 编辑 cookies
- 环境文件变量的自动完成
- 在正文编辑器中处理"home"和"end"键 (https://github.com/Julien-cpsn/ATAC/issues/93)
- 管理多
-
控制台主机
- Windows 11 (专业版)
- WSL2 Debian 12
- Windows 10 (专业版)
- Windows 8.1 (N)
-
Ubuntu 桌面终端
- Ubuntu 23.04 64位
- Ubuntu 17.10
- Pop!_OS 20.04
-
(Arch, Manjaro) KDE Konsole
-
(Arch, NixOS) Kitty
-
Linux Mint
-
(OpenSuse) Alacritty
-
(Chrome OS) Crostini
-
Apple
- macOS Monterey 12.7.1 (Intel芯片)
- macOS Sonama 14.4 (M1 Max, Apple Silicon芯片)
(列表来源此处)
依赖项
库 | 版本 | 原因 |
---|---|---|
reqwest & reqwest cookie store | 0.12.5 & 0.8.0 | 发送请求 |
ratatui | 0.27.0 | 终端UI框架 |
crokey | 1.0 | 用于解析、使用按键绑定文件和一些实用工具 |
tui-big-text | 0.4.5 | 显示大文本。仅用于在主页显示ATAC。 |
tui-tree-widget | 0.21.0 | 显示树状列表。用于显示集合。 |
我的分支 基于 tui-textarea | 0.4.1 | 具有许多功能的文本区域。用于编辑请求正文。 |
throbber-widgets-tui | 0.6.0 | 显示加载UI元素。在请求待处理时使用。 |
ratatui-image | 1.0.1 | 显示响应图像。 |
image | 0.25.1 | 解码图像。 |
syntect | 5.2.0 | 语法高亮 |
serde (serde_json, serde-yaml) | 1.0.203 (1.0.118, 0.9.34) | 将应用程序数据序列化和反序列化到文件中 |
jsonxf | 0.1.1 | 美化JSON |
toml | 0.8.14 | 序列化和反序列化应用程序配置文件 |
boa_engine | 0.18.0 | 创建Javascript运行时。用于请求前后脚本 |
我的分支 基于 postman_collection | 0.2.3 | 反序列化Postman集合文件 |
curl-parser | 0.3.1 | 解析cURL请求文件 |
clap | 4.5.8 | 命令行参数解析器 |
dirs | 5.0.1 | 使用系统文件 |
arboard | 3.4.0 | 将响应正文复制到剪贴板 |
tokio | 1.38.0 | 处理异步请求 |
parking_lot | 0.12.3 | 更小、更快、更灵活的RwLock和Mutex实现。到处使用。 |
strum | 0.26.3 | 枚举工具 |
lazy_static | 1.5.0 | 允许更灵活的常量。主要用于在任何地方访问CLI参数 |
nestify | 0.3.3 | 用于嵌套结构定义 |
walkdir | 2.5.0 | 递归检索文件 |
snailquote | 0.3.1 | 反转义字符串 |
indexmap | 2.2.6 | 有序哈希图。用于环境中以保持文件值的顺序 |
base64 | 0.22.1 | 编码认证。 |
regex | 1.10.5 | 正则表达式。用于解析请求URL |
二进制文件大小
二进制文件大小根据平台不同,从约4.5 MB到约7 MB不等。我尽量保持它尽可能小。
贡献者
维护者
打包者
- Cargo, Brew - @julien-cpsn
- Arch - @orhun
- Fedora copr - @joxcat
星标历史
许可证
本项目的MIT许可证可以在这里查看