Gaurav-x111/veilpdf

GitHub: Gaurav-x111/veilpdf

一款本地优先的 PDF 安全工具集,集成文本恢复、文档保护、隐藏内容取证和离线 AI 提取功能。

Stars: 0 | Forks: 0

# VeilPDF

Local-First Security Languages License Offline AI

VeilPDF Demo

## 快速命令参考 ``` veilpdf scan # Full scan: detect protection, forensics, and summary veilpdf recover # Fix broken copy-paste, extract clean text veilpdf protect # Obfuscate, watermark, and encrypt your PDF veilpdf forensics # Detect fake redaction, hidden text, fingerprints veilpdf ai summarize # Summarize PDF via local LLM (Ollama) veilpdf ai extract # Extract structured data (questions, tables, equations) veilpdf ai forensics # AI forensics narrative ``` ### 启动器选项 ``` ./veilpdf --help # Show usage and exit ./veilpdf --version # Show version and exit ./veilpdf --skip-deps ... # Skip env check (faster after first setup) ``` ## 为什么选择 VeilPDF? 你是否曾从 PDF 中复制文本,粘贴后却发现全是一堆乱码?这就是**字体混淆** (font obfuscation) —— 损坏的 Unicode 映射欺骗了系统的复制操作,但视觉上却渲染得完美无缺。 现有处理此问题的工具都有所欠缺: * **Acrobat Pro** 价格昂贵且软件臃肿。 * **云工具** 需要将私人文档上传到外部服务器。 * **基础 OCR** 会丢失文档的结构和格式。 **VeilPDF** 在本地且私密地解决了这个问题。它是开源、免费的,并且涵盖了完整的生命周期: `检测` ➔ `恢复` ➔ `保护` ➔ `取证` ➔ `AI 分析` ## 核心功能 ### `recover` — 修复损坏内容 * **自动检测:** 即时标记损坏的 `ToUnicode` 表和字体混淆。 * **字形分析:** 重构可读文本而不丢失布局结构。 * **智能回退:** 在处理扫描或完全扁平化的页面时自动切换到 OCR。 * **多格式导出:** 直接输出为 `.txt`、`.md` 或 `.json`。 ### `protect` — 锁定你的文档 * **字体混淆层:** 使复制粘贴的文本返回乱码,同时保持视觉上的完美呈现。 * **隐形水印:** 注入加密签名的所有权标识符以追踪泄密。 * **诱饵文本层:** 插入隐藏文本,从而迷惑 AI 爬虫/提取器,同时对人类保持不可见。 * **强加密:** 标准的 AES-256 密码保护。 ### `forensics` — 洞察隐藏内容 * **虚假涂黑检测:** 检测并提取隐藏在表面黑框下的文本。 * **字体指纹识别:** 识别用于生成 PDF 的软件和系统配置。 * **元数据取证:** 检查创建详细信息、修订历史和隐藏的作者标签。 * **结构化报告:** 将取证结果直接保存为结构化的 JSON。 ### `ai` — AI 驱动的提取 * **本地处理:** 通过 Ollama 在本地总结文档(无需云服务,无需 API 密钥)。 * **智能结构提取:** 分离出问题、表格、数学方程式和引用。 * **RAG 就绪:** 以开发者友好的格式导出结构化数据。 * **AI 叙述:** 生成关于可疑 PDF 行为的自然语言摘要。 ## 快速开始 VeilPDF 具有零配置的自动设置引导脚本。当你第一次运行 `veilpdf` 时,它会自动检测你的操作系统,并安装/配置任何缺失的依赖项(Rust/Cargo、uv、Zig、Tesseract OCR、Python 环境),并提示你是否还需要安装本地 AI (Ollama)。 ### 安装 ``` # Clone the repository git clone https://github.com/Gaurav-x111/veilpdf cd veilpdf # 只需运行 launcher!它会自动检查、配置并安装所有依赖项。 ./veilpdf ``` 首次运行后,使用 `--skip-deps` 即可瞬间启动: ``` ./veilpdf --skip-deps scan document.pdf ``` ### 将 `veilpdf` 设为全局可执行 你可以让此工具在你的系统上任何地方都能使用: * **选项 A:创建软链接(推荐)** sudo ln -s "$(pwd)/veilpdf" /usr/local/bin/veilpdf * **选项 B:在你的 shell 配置中添加别名** echo 'alias veilpdf="'"$(pwd)"'/veilpdf"' >> ~/.zshrc # 或者 ~/.bashrc source ~/.zshrc * **选项 C:将该目录添加到你的系统 PATH 中** export PATH="$PATH:$(pwd)" ### Windows 支持 VeilPDF 可以通过 **WSL** (Windows Subsystem for Linux) 或 **Git Bash** 在 Windows 上运行。自动依赖引导在这两种环境中均可运行。未来计划原生支持 PowerShell。 ## 详细使用指南 ### 系统扫描 ``` # 执行全面的安全与结构扫描 veilpdf scan document.pdf # 导出机器可读的扫描报告 veilpdf scan document.pdf --json ``` ### 文本恢复 ``` # 从损坏或混淆的 PDF 中提取可读文本 veilpdf recover broken.pdf # 指定 format 输出 veilpdf recover broken.pdf --output md veilpdf recover broken.pdf --output json ``` ### 文档保护 ``` # 添加默认 font 混淆与保护 veilpdf protect thesis.pdf # 注入数字所有者水印 veilpdf protect thesis.pdf --watermark "Gaurav" # 使用 AES-256 密码保护进行加密 veilpdf protect thesis.pdf --encrypt --password "mysecretpassword" ``` ### 取证分析 ``` # 分析 PDF 的隐藏内容和风险 veilpdf forensics suspicious.pdf # 生成详细的 forensic 分析 JSON 报告 veilpdf forensics suspicious.pdf --report report.json ``` ### 本地 AI (Ollama) 确保你已安装 [Ollama](https://ollama.com) 并下载了相应的模型: ``` ollama pull llama3.2 ``` 完全离线运行 AI 任务: ``` # 总结长篇 PDF 文档 veilpdf ai summarize paper.pdf # 提取结构性信息,如 tables 和 equations veilpdf ai extract paper.pdf # 让 AI 用自然语言详细描述 forensic 异常 veilpdf ai forensics document.pdf ``` ## 故障排除 ### “无法从 PDF 中提取文本” 这通常意味着 PDF 文件路径不正确,或者该 PDF 没有可提取的文本: - **找不到文件:** 确保路径正确。使用绝对路径(`/home/user/doc.pdf`)或相对路径(`doc.pdf`),而不是不存在的根路径(`/doc.pdf`)。 - **受密码保护的 PDF:** 先对其进行解密:`veilpdf protect --decrypt `(将在 v0.2 中推出)。 - **扫描/纯图像 PDF:** 如果安装了 Tesseract,VeilPDF 会自动回退到 OCR。安装它:`sudo apt install tesseract-ocr` (Linux) 或 `brew install tesseract` (macOS)。 ### “无法连接到 Ollama” 确保 Ollama 正在运行: ``` ollama serve ``` ### “缺少 OCR 依赖项” 安装 OCR 技术栈: ``` uv pip install pdf2image pytesseract # 同时安装 Tesseract:https://github.com/tesseract-ocr/tesseract ``` ## 系统架构 VeilPDF 采用了混合架构,旨在融合原生编译语言的速度与 Python 丰富的库生态系统: ``` ┌─────────────────────────────────────────┐ │ Rust CLI │ │ (Orchestrator & CLI Parser) │ └────────────────────┬────────────────────┘ │ Subprocess │ ┌────────────────────▼────────────────────┐ │ Python Core │ │ (Text Extraction, OCR, AI & Parsing) │ └────────────────────┬────────────────────┘ │ Binary Call │ ┌────────────────────▼────────────────────┐ │ Zig Cryptography Layer │ │ (AES-256 & Raw Byte Watermarking) │ └─────────────────────────────────────────┘ ``` ### 组件技术栈 | 组件 | 技术 | 主要职责 | | :--- | :--- | :--- | | **CLI** | `Rust` | 参数解析、流程编排、错误边界 | | **Core** | `Python` | PDF 解析(`pypdf`, `pdfminer`)、OCR(`tesseract`)、AI(`ollama`) | | **Crypto** | `Zig` | 快速、零依赖的 AES-256 和字节级水印注入 | ## 项目路线图 - [x] **v0.1.0:** 核心 CLI 版本发布(恢复、保护、取证和本地 AI 集成)。 - [ ] **v0.2.0:** 防截屏层实现、批处理目录以及桌面 GUI 包装器。 - [ ] **v0.3.0:** 完整的企业取证套件、高级沙箱提取以及第三方插件 API。 ## 贡献 欢迎贡献代码、提出问题和功能请求!请随时查看[问题页面](https://github.com/Gaurav-x111/veilpdf/issues)。 ## 许可证与创建者 * **创建者:** [Gaurav-x111](https://github.com/Gaurav-x111) — 专为注重隐私的开源社区而构建。 * **许可证:** [MIT License](LICENSE)
标签:AI大模型, AI风险缓解, PDF处理工具, Python, Rust, Zig, 可视化界面, 数字取证, 文本提取, 无后门, 网络流量审计, 自动化脚本, 逆向工具