amn3zi4/prhook
GitHub: amn3zi4/prhook
基于正则模板的文本与文件分类工具,支持递归处理、嵌套分类和排除规则,帮助安全研究人员快速整理和筛选子域名等资产数据。
Stars: 0 | Forks: 0
# prhook
一款通过正则表达式模板对文本和文件进行分类的工具,支持递归、嵌套分类以及自定义分隔符。
## 安装
```
git clone https://github.com/amn3zi4/prhook
cd prhook
chmod +x prhook.sh
```
## 全局安装
```
cd prhook
sudo make install
```
## 卸载
```
cd prhook
sudo make uninstall
```
## 选项
| 标志 | 描述 |
| :--- | :--- |
| `-t, --template` | 模板文件(必填) |
| `-f, --file` | 输入文件或目录 |
| `-if, --input-format` | `text` 或 `files`(默认:`text`) |
| `-of, --output-format` | `text` 或 `files`(默认:`text`) |
| `-o, --output` | 输出目录(默认:`output`) |
| `-s, --separator` | 词分隔符(例如 `-s ,`) |
| `-r, --recursive` | 递归处理目录 |
| `-a, --add` | 添加到已有结果中 |
| `-Da, --delete-add` | 在添加前删除旧文件 |
| `-Se, --save-empty` | 保留空行 |
| `-h, --help` | 显示帮助 |
## 模板格式
- 奇数行 → 分类名称(文件夹名称)
- 偶数行 → 用于 `grep -E` 的正则表达式
- 分类名称末尾的 `-` → 排除(`grep -v`)
- `/` 用于表示嵌套文件夹
### 模板示例 (`templates/critical_endpoints.txt`)
```
ADMIN
admin|dashboard|console
API
api|graphql|v1
IGNORE_ADMIN -
test|dev|stage
```
## 使用示例
### 1) 标准用法
```
cat examples/subdomains.txt | ./prhook.sh -t templates/critical_endpoints.txt
# 输出位于 output/
```
### 2) 使用自定义分隔符
```
./prhook.sh -s "\. " -t templates/apples.txt -f examples/some_text.txt
# 输出位于 output/some_text.txt/
```
### 3) 按内容分类
```
./prhook.sh -c -f examples/some_files/ -t templates/dates.txt
#results in output/
```
## 文档
详情请参阅 [GUIDE.md](GUIDE.md)。
## 许可证
MIT © [amn3zi4](https://github.com/amn3zi4)
标签:Bug Bounty, Cutter, Shell脚本, 占用监测, 可自定义解析器, 子域名排序, 应用安全, 文件分类, 文本处理, 无线安全, 网络安全, 资产管理, 递归处理, 隐私保护