donglinfei-debug/public-prep

GitHub: donglinfei-debug/public-prep

一款 Python 命令行工具,帮助开发者在项目发布到 GitHub 之前自动扫描敏感信息、移除本地路径并生成规范的开源模板文件。

Stars: 1 | Forks: 0

# 🔧 public-prep **从“在我的电脑上能跑”到“准备好向全世界分享”——安全脱敏、专业打包,一键搞定。** [![GitHub Stars](https://img.shields.io/github/stars/donglinfei-debug/public-prep?style=flat-square&logo=github)](https://github.com/donglinfei-debug/public-prep/stargazers) [![GitHub Issues](https://img.shields.io/github/issues/donglinfei-debug/public-prep?style=flat-square&logo=github)](https://github.com/donglinfei-debug/public-prep/issues) [![GitHub Forks](https://img.shields.io/github/forks/donglinfei-debug/public-prep?style=flat-square&logo=github)](https://github.com/donglinfei-debug/public-prep/forks) [![License](https://img.shields.io/github/license/donglinfei-debug/public-prep?style=flat-square)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.8+-blue.svg?style=flat-square&logo=python)](https://www.python.org/) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg?style=flat-square)]() 🌏 **Language / 语言**:[🇨🇳 中文](README.zh.md) | [🇬🇧 English](README.md)
在将项目发布到 GitHub 之前的自动**预发布检查清单**。扫描敏感信息、移除本地路径、生成 `.env.example`/`.gitignore`/`LICENSE`/`README`,并创建一个准备推送的干净副本。 ## 📌 为什么选择它? 你写出了一个很酷的项目。它在你的电脑上运行得很完美。现在你想把它分享到 GitHub 上。 但你心里难免会有些担忧: **public-prep** 是你的自动预发布检查清单。它会扫描敏感信息、移除本地路径、生成缺失的文件(`.env.example`、`.gitignore`、`LICENSE`、`README`),并创建一个准备推送的干净副本——让你充满自信地发布,而不再充满担忧。 ## 🏗️ 架构 ``` flowchart TB subgraph Input["📥 Input"] PROJ[Local Project Directory] end subgraph Pipeline["⚙️ Pipeline (main.py)"] SCN[scanner.py
Secret Scan · Path Leak · Gitleaks] ASS[assessor.py
Risk Assessment · Report Generation] TPL[template_generator.py
.env.example · .gitignore · LICENSE · README] RFA[refactor_helper.py
Hardcoded Secrets → Env Vars] CCP[clean_copy.py
Exclude · Copy · Sanitize] GIT[git_helper.py
Git Init · Config · Commit] VRF[verifier.py
Final Check · Validation] end subgraph Output["📦 Output"] PUB[Clean Public Copy → GitHub] end PROJ --> SCN --> ASS ASS --> RFA --> TPL TPL --> CCP --> GIT --> VRF VRF --> PUB style PROJ fill:#6366f1,color:#fff,stroke:none style SCN fill:#0ea5e9,color:#fff,stroke:none style ASS fill:#0ea5e9,color:#fff,stroke:none style TPL fill:#0ea5e9,color:#fff,stroke:none style RFA fill:#0ea5e9,color:#fff,stroke:none style CCP fill:#0ea5e9,color:#fff,stroke:none style GIT fill:#0ea5e9,color:#fff,stroke:none style VRF fill:#0ea5e9,color:#fff,stroke:none style PUB fill:#10b981,color:#fff,stroke:none ``` ## ✨ 功能 - **🔍 敏感信息扫描** — API key、token、密码、数据库连接字符串 - **📁 路径泄漏检测** — 查找代码中的本地路径(D:\, C:\Users\) - **🔧 自动重构** — 将硬编码的敏感信息替换为 `os.environ.get()` 建议 - **📝 模板生成** — `.env.example`、`.gitignore`、MIT `LICENSE`、`README` - **🧹 干净副本** — 排除敏感/临时文件,创建一个随时可发布的目录 - **✅ 最终验证** — 在你发布前重新扫描干净副本 ## 📦 环境要求 | 需求 | 版本 | |:------------|:--------| | **Python** | 3.8+ | | **操作系统** | Windows / macOS / Linux | ## 🚀 快速开始 ``` # 扫描项目 python main.py --project D:\projects\my-tool # 完整 pipeline: scan → refactor → generate → copy → verify python main.py --project D:\projects\my-tool --output D:\github\my-tool ``` ## 📁 结构 ``` public-prep/ ├── main.py # CLI entry point ├── modules/ │ ├── scanner.py # Secret & path leak detection │ ├── assessor.py # Risk assessment │ ├── refactor_helper.py # Hardcoded → env var conversion │ ├── template_generator.py # .env / .gitignore / LICENSE / README │ ├── clean_copy.py # Filtered project copy │ ├── git_helper.py # Git init & commit │ └── verifier.py # Final validation ├── rules/ │ ├── scan_rules.py # Scan pattern definitions │ └── exclude_patterns.py # Exclusion rules ├── templates/ │ ├── LICENSE_MIT.txt │ ├── env_example.txt │ └── gitignore/ / readme/ ├── README.md / README.zh.md └── REQUIREMENTS_CHECKLIST.md ``` ## ❓ 常见问题 **它能检测哪些类型的敏感信息?** API key(sk-*、AKIA*)、GitHub token(ghp_*)、数据库连接字符串、私钥、密码,以及你在 `scan_rules.py` 中自定义的模式。 **它会修改我的源代码吗?** 它会检测问题并建议修复,但仅创建一个干净的副本——你的原始项目永远不会被修改。 **我可以添加自定义扫描规则吗?** 可以。只需将模式添加到 `rules/scan_rules.py` 中即可。扫描器使用基于 regex 的匹配,因此任何能表示为 regex 的模式都可以被添加。 **它可以在 macOS/Linux 上运行吗?** 可以。Python 3.8+ 支持跨平台。CLI 可在 Windows、macOS 和 Linux 上运行。 ## 📄 许可证 MIT © 2026 Ryan Dong ## 👤 关于作者 **Ryan Dong** — AI 产品经理 & 全栈开发者 我致力于弥合 AI 能力与生产级软件之间的鸿沟。我的工作涵盖全栈:从设计 AI 驱动的产品功能和集成 LLM API,到构建模块化的后端服务,并交付干净、文档完善的代码。 | 角色 | 专注领域 | |:-----|:------| | 🧠 **AI 产品经理** | 产品策略、AI 功能设计、prompt 工程、模型选择 | | 💻 **全栈开发者** | Python、FastAPI、Google Apps Script、自动化 pipeline、API 集成 | 这个仓库是我个人工具箱的一部分——这是一个不断增长的实用、可重用模块集合,旨在解决实际的自动化问题。每个项目都被设计为可独立使用,并能轻松集成到更大的系统中。 📬 **donglinfei@gmail.com** — 欢迎探讨商业合作、协作以及招聘事宜。 ## 📬 联系方式 Ryan Dong — donglinfei@gmail.com
标签:Python, SOC Prime, 代码发布, 开发工具, 敏感信息扫描, 文档结构分析, 无后门, 网络调试, 自动化, 逆向工具, 项目配置