50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
# solvertools
|
||
|
||
**solvertools** is a lightweight Python library providing utility functions to help build and run Capture The Flag (CTF) challenge solvers. It’s especially useful when integrating with [`ctfcli`](https://github.com/CTFd/ctfcli) for setting up automated healthchecks.
|
||
|
||
---
|
||
|
||
## 🔧 Features
|
||
|
||
- Simplifies the setup for connecting to local or remote challenge instances.
|
||
- Provides easy flag extraction and result reporting.
|
||
- Designed to streamline CTF development workflows.
|
||
|
||
---
|
||
|
||
## 🚀 Installation
|
||
|
||
```bash
|
||
pip install pwntools
|
||
pip install solvertools
|
||
```
|
||
|
||
## 💡 Designed for ctfcli
|
||
|
||
This library helps you quickly write challenge solvers that integrate cleanly with `ctfcli`, making it easy to set up automated healthchecks for your challenges.
|
||
|
||
## 🛠 Requirements
|
||
|
||
- Python 3.6+
|
||
- [pwntools](https://docs.pwntools.com/)
|
||
|
||
---
|
||
|
||
## 🧪 Example Healthcheck Solver
|
||
|
||
```python
|
||
#!/usr/bin/env python3
|
||
from solvertools import connect_tcp, extract_flag
|
||
|
||
conn = connect_tcp("challenge.py")
|
||
conn.sendline(b"some input")
|
||
output = conn.recvall().decode()
|
||
extract_flag(output, r"flag\{.*?\}")
|
||
```
|
||
|
||
---
|
||
|
||
## 📜 License
|
||
|
||
MIT License. Feel free to use and adapt!
|