{"id":51026830,"url":"https://github.com/gitstq/botdetect-cli","last_synced_at":"2026-06-21T20:02:24.674Z","repository":{"id":357952276,"uuid":"1239285141","full_name":"gitstq/botdetect-cli","owner":"gitstq","description":"🔍 BotDetect-CLI - Lightweight Browser Automation Detection Signal Analysis Engine | 轻量级浏览器自动化检测信号分析引擎","archived":false,"fork":false,"pushed_at":"2026-05-15T00:19:39.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-15T02:33:26.305Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitstq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-15T00:18:53.000Z","updated_at":"2026-05-15T00:19:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gitstq/botdetect-cli","commit_stats":null,"previous_names":["gitstq/botdetect-cli"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gitstq/botdetect-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Fbotdetect-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Fbotdetect-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Fbotdetect-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Fbotdetect-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitstq","download_url":"https://codeload.github.com/gitstq/botdetect-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Fbotdetect-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34623906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-21T20:02:23.811Z","updated_at":"2026-06-21T20:02:24.669Z","avatar_url":"https://github.com/gitstq.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.0.0-blue.svg\" alt=\"Version\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/python-3.10+-green.svg\" alt=\"Python\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-orange.svg\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/dependencies-0-red.svg\" alt=\"Dependencies\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#english\"\u003eEnglish\u003c/a\u003e • \n  \u003ca href=\"#简体中文\"\u003e简体中文\u003c/a\u003e • \n  \u003ca href=\"#繁體中文\"\u003e繁體中文\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003ca name=\"english\"\u003e\u003c/a\u003e\n# 🔍 BotDetect-CLI\n\n**Lightweight Browser Automation Detection Signal Analysis Engine**\n\nA powerful CLI tool that helps developers understand their website's bot detection capabilities by analyzing 30+ browser automation signals.\n\n## 🎉 Project Introduction\n\nBotDetect-CLI is a lightweight, zero-dependency Python CLI tool designed to analyze browser automation detection signals. Inspired by stealth browser projects like CloakBrowser, BotDetect-CLI takes the **defender's perspective** - helping developers test and understand their website's bot detection capabilities.\n\n**Key Differentiator**: While tools like CloakBrowser help create stealthy browsers to *bypass* detection, BotDetect-CLI helps you *understand* what signals your website detects, enabling you to build better security or test your automation scripts.\n\n## ✨ Core Features\n\n- 🔍 **30+ Detection Signals** - Comprehensive analysis across 8 categories\n- 🌐 **Navigator Detection** - webdriver, plugins, languages, hardwareConcurrency, etc.\n- 🤖 **WebDriver Detection** - Selenium, Puppeteer, Playwright signals\n- 🔧 **CDP Detection** - Chrome DevTools Protocol indicators\n- 👆 **Fingerprint Analysis** - Canvas, WebGL, Audio, Font fingerprints\n- 🎯 **Behavioral Patterns** - Mouse, keyboard, scroll behavior analysis\n- 🔐 **TLS Fingerprinting** - JA3/JA4 analysis\n- 📊 **Multiple Report Formats** - JSON, Markdown, HTML, Text\n- 🖥️ **TUI Dashboard** - Interactive terminal interface\n- 🚀 **Zero Dependencies** - Pure Python standard library\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\n# Install from PyPI\npip install botdetect-cli\n\n# Or install from source\ngit clone https://github.com/gitstq/botdetect-cli.git\ncd botdetect-cli\npip install -e .\n```\n\n### Basic Usage\n\n```bash\n# Run standard scan\nbotdetect scan\n\n# Quick scan (essential signals only)\nbotdetect scan --mode quick\n\n# Deep scan with behavioral analysis\nbotdetect scan --mode deep\n\n# Test specific browser\nbotdetect scan --browser firefox\n\n# Generate HTML report\nbotdetect scan --format html --output report\n\n# Launch TUI dashboard\nbotdetect tui\n```\n\n## 📖 Detailed Usage Guide\n\n### Detection Modes\n\n| Mode | Description | Signals |\n|------|-------------|---------|\n| `quick` | Essential signals only | ~7 critical signals |\n| `standard` | All signals | 30+ signals |\n| `deep` | Include behavioral analysis | 30+ signals + behavior |\n| `stealth` | Test evasion techniques | Compare configurations |\n\n### Detection Categories\n\n| Category | Icon | Description |\n|----------|------|-------------|\n| Navigator | 🌐 | Browser navigator properties |\n| WebDriver | 🤖 | Automation framework signals |\n| CDP | 🔧 | Chrome DevTools Protocol |\n| Fingerprint | 👆 | Browser fingerprint signals |\n| Behavior | 🎯 | Behavioral pattern detection |\n| TLS | 🔐 | TLS fingerprint analysis |\n| Network | 📡 | Network timing and headers |\n| DOM | 📄 | DOM property detection |\n\n### API Usage\n\n```python\nfrom botdetect_cli import BotDetector\nfrom botdetect_cli.detector import DetectionConfig, DetectionMode\n\n# Create detector with custom config\nconfig = DetectionConfig(\n    mode=DetectionMode.STANDARD,\n    browser_type=\"chromium\",\n    headless=True\n)\ndetector = BotDetector(config)\n\n# Run detection\nreport = detector.detect()\n\n# Access results\nprint(f\"Detection Score: {report.scan_result.detection_score}%\")\nprint(f\"Risk Level: {report.scan_result.risk_level}\")\nprint(f\"Detected Signals: {report.scan_result.detected_signals}\")\n\n# Export report\njson_output = detector.export_results(report, \"json\")\nhtml_output = detector.export_results(report, \"html\")\n```\n\n## 💡 Design Philosophy\n\nBotDetect-CLI was inspired by the growing need to understand bot detection mechanisms. While projects like CloakBrowser demonstrate how to create stealthy browsers, BotDetect-CLI provides the **other side of the coin** - helping developers:\n\n1. **Test their websites** - Understand what signals your bot detection sees\n2. **Debug automation scripts** - Find out why your script is being blocked\n3. **Learn detection techniques** - Educational tool for understanding browser fingerprinting\n4. **Build better security** - Know what signals to look for\n\n## 📦 Deployment\n\n### As a CLI Tool\n\n```bash\n# Install globally\npip install botdetect-cli\n\n# Run anywhere\nbotdetect scan\n```\n\n### As a Python Library\n\n```python\n# requirements.txt\nbotdetect-cli\u003e=1.0.0\n\n# In your code\nfrom botdetect_cli import BotDetector\n```\n\n### Docker\n\n```bash\ndocker build -t botdetect-cli .\ndocker run --rm botdetect-cli scan\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please read our contributing guidelines:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003ca name=\"简体中文\"\u003e\u003c/a\u003e\n# 🔍 BotDetect-CLI\n\n**轻量级浏览器自动化检测信号分析引擎**\n\n一款强大的CLI工具，通过分析30+浏览器自动化信号，帮助开发者了解自己网站的机器人检测能力。\n\n## 🎉 项目介绍\n\nBotDetect-CLI是一个轻量级、零依赖的Python CLI工具，专为分析浏览器自动化检测信号而设计。受CloakBrowser等隐身浏览器项目启发，BotDetect-CLI从**防御者视角**出发——帮助开发者测试和了解自己网站的机器人检测能力。\n\n**核心差异化**：CloakBrowser等工具帮助创建隐身浏览器来*绕过*检测，而BotDetect-CLI帮助您*理解*网站检测到哪些信号，从而构建更好的安全防护或测试您的自动化脚本。\n\n## ✨ 核心特性\n\n- 🔍 **30+检测信号** - 覆盖8大类别的全面分析\n- 🌐 **Navigator检测** - webdriver、plugins、languages、hardwareConcurrency等\n- 🤖 **WebDriver检测** - Selenium、Puppeteer、Playwright信号\n- 🔧 **CDP检测** - Chrome DevTools Protocol指标\n- 👆 **指纹分析** - Canvas、WebGL、Audio、Font指纹\n- 🎯 **行为模式** - 鼠标、键盘、滚动行为分析\n- 🔐 **TLS指纹** - JA3/JA4分析\n- 📊 **多格式报告** - JSON、Markdown、HTML、Text\n- 🖥️ **TUI仪表板** - 交互式终端界面\n- 🚀 **零依赖** - 纯Python标准库实现\n\n## 🚀 快速开始\n\n### 安装\n\n```bash\n# 从PyPI安装\npip install botdetect-cli\n\n# 或从源码安装\ngit clone https://github.com/gitstq/botdetect-cli.git\ncd botdetect-cli\npip install -e .\n```\n\n### 基本用法\n\n```bash\n# 运行标准扫描\nbotdetect scan\n\n# 快速扫描（仅关键信号）\nbotdetect scan --mode quick\n\n# 深度扫描（含行为分析）\nbotdetect scan --mode deep\n\n# 测试特定浏览器\nbotdetect scan --browser firefox\n\n# 生成HTML报告\nbotdetect scan --format html --output report\n\n# 启动TUI仪表板\nbotdetect tui\n```\n\n## 📖 详细使用指南\n\n### 检测模式\n\n| 模式 | 描述 | 信号数 |\n|------|------|--------|\n| `quick` | 仅关键信号 | ~7个关键信号 |\n| `standard` | 所有信号 | 30+信号 |\n| `deep` | 包含行为分析 | 30+信号+行为 |\n| `stealth` | 测试规避技术 | 对比配置 |\n\n### 检测类别\n\n| 类别 | 图标 | 描述 |\n|------|------|------|\n| Navigator | 🌐 | 浏览器navigator属性 |\n| WebDriver | 🤖 | 自动化框架信号 |\n| CDP | 🔧 | Chrome DevTools协议 |\n| Fingerprint | 👆 | 浏览器指纹信号 |\n| Behavior | 🎯 | 行为模式检测 |\n| TLS | 🔐 | TLS指纹分析 |\n| Network | 📡 | 网络时序和头信息 |\n| DOM | 📄 | DOM属性检测 |\n\n### API使用\n\n```python\nfrom botdetect_cli import BotDetector\nfrom botdetect_cli.detector import DetectionConfig, DetectionMode\n\n# 创建自定义配置的检测器\nconfig = DetectionConfig(\n    mode=DetectionMode.STANDARD,\n    browser_type=\"chromium\",\n    headless=True\n)\ndetector = BotDetector(config)\n\n# 运行检测\nreport = detector.detect()\n\n# 访问结果\nprint(f\"检测分数: {report.scan_result.detection_score}%\")\nprint(f\"风险等级: {report.scan_result.risk_level}\")\nprint(f\"检测到的信号: {report.scan_result.detected_signals}\")\n\n# 导出报告\njson_output = detector.export_results(report, \"json\")\nhtml_output = detector.export_results(report, \"html\")\n```\n\n## 💡 设计理念\n\nBotDetect-CLI的诞生源于对机器人检测机制理解的需求。虽然CloakBrowser等项目展示了如何创建隐身浏览器，但BotDetect-CLI提供了**硬币的另一面**——帮助开发者：\n\n1. **测试网站** - 了解您的机器人检测能看到哪些信号\n2. **调试自动化脚本** - 找出脚本被阻止的原因\n3. **学习检测技术** - 理解浏览器指纹识别的教育工具\n4. **构建更好的安全** - 了解应该关注哪些信号\n\n## 📦 部署\n\n### 作为CLI工具\n\n```bash\n# 全局安装\npip install botdetect-cli\n\n# 任意位置运行\nbotdetect scan\n```\n\n### 作为Python库\n\n```python\n# requirements.txt\nbotdetect-cli\u003e=1.0.0\n\n# 在代码中\nfrom botdetect_cli import BotDetector\n```\n\n### Docker\n\n```bash\ndocker build -t botdetect-cli .\ndocker run --rm botdetect-cli scan\n```\n\n## 🤝 贡献指南\n\n欢迎贡献！请阅读我们的贡献指南：\n\n1. Fork本仓库\n2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n3. 提交更改 (`git commit -m 'feat: add amazing feature'`)\n4. 推送到分支 (`git push origin feature/amazing-feature`)\n5. 创建Pull Request\n\n## 📄 开源协议\n\n本项目采用MIT协议 - 详见 [LICENSE](LICENSE) 文件。\n\n---\n\n\u003ca name=\"繁體中文\"\u003e\u003c/a\u003e\n# 🔍 BotDetect-CLI\n\n**輕量級瀏覽器自動化檢測信號分析引擎**\n\n一款強大的CLI工具，通過分析30+瀏覽器自動化信號，幫助開發者了解自己網站的機器人檢測能力。\n\n## 🎉 專案介紹\n\nBotDetect-CLI是一個輕量級、零依賴的Python CLI工具，專為分析瀏覽器自動化檢測信號而設計。受CloakBrowser等隱身瀏覽器專案啟發，BotDetect-CLI從**防禦者視角**出發——幫助開發者測試和了解自己網站的機器人檢測能力。\n\n**核心差異化**：CloakBrowser等工具幫助創建隱身瀏覽器來*繞過*檢測，而BotDetect-CLI幫助您*理解*網站檢測到哪些信號，從而構建更好的安全防護或測試您的自動化腳本。\n\n## ✨ 核心特性\n\n- 🔍 **30+檢測信號** - 覆蓋8大類別的全面分析\n- 🌐 **Navigator檢測** - webdriver、plugins、languages、hardwareConcurrency等\n- 🤖 **WebDriver檢測** - Selenium、Puppeteer、Playwright信號\n- 🔧 **CDP檢測** - Chrome DevTools Protocol指標\n- 👆 **指紋分析** - Canvas、WebGL、Audio、Font指紋\n- 🎯 **行為模式** - 滑鼠、鍵盤、滾動行為分析\n- 🔐 **TLS指紋** - JA3/JA4分析\n- 📊 **多格式報告** - JSON、Markdown、HTML、Text\n- 🖥️ **TUI儀表板** - 互動式終端介面\n- 🚀 **零依賴** - 純Python標準庫實現\n\n## 🚀 快速開始\n\n### 安裝\n\n```bash\n# 從PyPI安裝\npip install botdetect-cli\n\n# 或從原始碼安裝\ngit clone https://github.com/gitstq/botdetect-cli.git\ncd botdetect-cli\npip install -e .\n```\n\n### 基本用法\n\n```bash\n# 執行標準掃描\nbotdetect scan\n\n# 快速掃描（僅關鍵信號）\nbotdetect scan --mode quick\n\n# 深度掃描（含行為分析）\nbotdetect scan --mode deep\n\n# 測試特定瀏覽器\nbotdetect scan --browser firefox\n\n# 生成HTML報告\nbotdetect scan --format html --output report\n\n# 啟動TUI儀表板\nbotdetect tui\n```\n\n## 📖 詳細使用指南\n\n### 檢測模式\n\n| 模式 | 描述 | 信號數 |\n|------|------|--------|\n| `quick` | 僅關鍵信號 | ~7個關鍵信號 |\n| `standard` | 所有信號 | 30+信號 |\n| `deep` | 包含行為分析 | 30+信號+行為 |\n| `stealth` | 測試規避技術 | 對比配置 |\n\n### 檢測類別\n\n| 類別 | 圖標 | 描述 |\n|------|------|------|\n| Navigator | 🌐 | 瀏覽器navigator屬性 |\n| WebDriver | 🤖 | 自動化框架信號 |\n| CDP | 🔧 | Chrome DevTools協議 |\n| Fingerprint | 👆 | 瀏覽器指紋信號 |\n| Behavior | 🎯 | 行為模式檢測 |\n| TLS | 🔐 | TLS指紋分析 |\n| Network | 📡 | 網路時序和頭資訊 |\n| DOM | 📄 | DOM屬性檢測 |\n\n### API使用\n\n```python\nfrom botdetect_cli import BotDetector\nfrom botdetect_cli.detector import DetectionConfig, DetectionMode\n\n# 創建自定義配置的檢測器\nconfig = DetectionConfig(\n    mode=DetectionMode.STANDARD,\n    browser_type=\"chromium\",\n    headless=True\n)\ndetector = BotDetector(config)\n\n# 執行檢測\nreport = detector.detect()\n\n# 訪問結果\nprint(f\"檢測分數: {report.scan_result.detection_score}%\")\nprint(f\"風險等級: {report.scan_result.risk_level}\")\nprint(f\"檢測到的信號: {report.scan_result.detected_signals}\")\n\n# 匯出報告\njson_output = detector.export_results(report, \"json\")\nhtml_output = detector.export_results(report, \"html\")\n```\n\n## 💡 設計理念\n\nBotDetect-CLI的誕生源於對機器人檢測機制理解的需求。雖然CloakBrowser等專案展示了如何創建隱身瀏覽器，但BotDetect-CLI提供了**硬幣的另一面**——幫助開發者：\n\n1. **測試網站** - 了解您的機器人檢測能看到哪些信號\n2. **除錯自動化腳本** - 找出腳本被阻止的原因\n3. **學習檢測技術** - 理解瀏覽器指紋識別的教育工具\n4. **構建更好的安全** - 了解應該關注哪些信號\n\n## 📦 部署\n\n### 作為CLI工具\n\n```bash\n# 全局安裝\npip install botdetect-cli\n\n# 任意位置執行\nbotdetect scan\n```\n\n### 作為Python庫\n\n```python\n# requirements.txt\nbotdetect-cli\u003e=1.0.0\n\n# 在程式碼中\nfrom botdetect_cli import BotDetector\n```\n\n### Docker\n\n```bash\ndocker build -t botdetect-cli .\ndocker run --rm botdetect-cli scan\n```\n\n## 🤝 貢獻指南\n\n歡迎貢獻！請閱讀我們的貢獻指南：\n\n1. Fork本倉庫\n2. 創建功能分支 (`git checkout -b feature/amazing-feature`)\n3. 提交更改 (`git commit -m 'feat: add amazing feature'`)\n4. 推送到分支 (`git push origin feature/amazing-feature`)\n5. 創建Pull Request\n\n## 📄 開源協議\n\n本專案採用MIT協議 - 詳見 [LICENSE](LICENSE) 檔案。\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ by \u003ca href=\"https://github.com/gitstq\"\u003egitstq\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitstq%2Fbotdetect-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitstq%2Fbotdetect-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitstq%2Fbotdetect-cli/lists"}