LyCecilion/ret2cli
GitHub: LyCecilion/ret2cli
Rust 实现的 Ret2Shell CTF 平台命令行客户端,让选手在终端内一站式完成赛事浏览、做题与队伍管理。
Stars: 1 | Forks: 1

# 🚩 Ret2CLI 🖥
CLI client for [Ret2Shell](https://github.com/ret2shell/ret2shell) CTF platform.
[](https://git.io/typing-svg)
## 📖 About
Ret2CLI 是适用于 [Ret2Shell](https://github.com/ret2shell/ret2shell) CTF 平台的 CLI 客户端,目标定位类似于 `gh` 之于 GitHub:让选手在终端内完成从登录、选赛、看题、提交 Flag 到管理队伍的全部流程,无须打开浏览器。
Ret2CLI 采用与 Ret2Shell 相同的 Rust 技术栈,行为语义、均对照 Ret2Shell 服务端源码实现。
## ✨ Features
Ret2CLI 具有部分在浏览器中无法获得的使用体验,包括但不限于:
- **多 Profile / 多账号管理:** 每个 profile 独立保存服务器 URL、多个账号会话与当前比赛,方便在不同 Ret2Shell 实例与赛事间切换;账号登录支持 PoW 验证码与 token 自动轮换。
- **终端内完成赛事:** 查看比赛与排行榜、浏览题目、提交 Flag、下载附件、管理队伍与查看提交记录,全程无需离开终端。
- **交互式 REPL 和 JSON 输出:** 采用类解释器的命令提示符,与 one-line 子命令共用同一套语法;全局 `--json` 模式让 stdout 只输出一个 JSON 值,做到人类和脚本友好。
## 👀 Preview
下面的 GIF 录制于 Ret2CLI 的开发阶段。正式版和开发版可能有部分差异。
