运维123 - 工具
type: channel
link: https://www.sddts.cn/index.php/category/%E5%B7%A5%E5%85%B7/
description: 工具
items: Web-Check 全能 OSINT 网站分析工具技术分析
items: httpx HTTP 多用途探测工具技术分析
items: Claude Code 2.0 完整指南与技术分析
items: dog 命令行 DNS 客户端技术分析
items: Mole Mac 系统深度清理优化工具技术分析
items: ConvertX 文件转换工具使用指南
items: btop++ 资源监控工具技术分析

Web-Check 全能 OSINT 网站分析工具技术分析
type: item
date: 2026-01-19T01:37:31+00:00
description: Web-Check 全能 OSINT 网站分析工具技术分析一、概述1. 项目背景Web-Check 是由开发者 Lissy93（Alicia Sykes）创建的开源 OSINT（Open Source Intelligence，开源情报）工具。该项目旨在为安全研究人员、渗透测试人员、网站运维人员提供一个综合性的网站分析平台，通过单一界面获取目标网站的全方位技术情报。A. 项目定位类型：All-in-one OSINT 工具许可证：MIT 开源许可目标用户：安全研究人员、渗透测试人员、红队成员、网站管理员、系统运维人员B. 核心价值传统网站分析通常需要使用多个独立工具分别查询 DNS、SSL、服务器信息等，Web-Check 将这些功能整合到统一平台，大幅提升分析效率。2. 关键数据A. 项目热度GitHub Stars：30.2kGitHub Forks：2.4k贡献者：29 人支持者：GitHub Sponsors 平台活跃B. 技术栈TypeScript：65.5%JavaScript：18.5%Astro：11.7%SCSS：2.1%HTML：1.1%Dockerfile：0.6%C. 部署方式在线 Demo：https://web-check.as93.net官方网站：https://web-check.xyzDocker 镜像：支持一键部署云平台：Netlify、Vercel 一键部署二、核心功能1. 功能模块概览Web-Check 集成了 20+ 个检测模块，涵盖网站分析的各个维度。以下是核心功能分类：A. 基础信息收集IP 信息：获取目标 IP 地址、地理位置、ISP 信息DNS 记录：解析 A、AAAA、MX、TXT、CNAME 等各类 DNS 记录Whois 查询：域名注册信息、注册人、注册时间等域名信息：域名年龄、注册商、DNS 服务器B. 安全分析SSL 证书链：SSL/TLS 证书详细信息、颁发机构、有效期安全配置：HTTP 安全头、CSP、HSTS 等配置检测防火墙检测：识别 WAF、防火墙规则恶意软件检测：检查域名是否被列入黑名单C. 服务器分析服务器位置：物理位置推断开放端口：常用端口扫描Traceroute：路由跳数追踪关联主机名：同服务器托管的其他域名（需 Shodan API）D. 技术栈识别Tech Stack：识别前端框架、后端技术、CMS、服务器软件HTTP 头：响应头分析、服务器指纹识别Cookie：Cookie 设置分析爬虫规则：robots.txt、sitemap.xml 解析E. 内容分析页面地图：网站结构可视化关联页面：内外链分析社交媒体标签：Open Graph、Twitter Card 等元标签截图：网页截图获取F. 性能与质量网站性能：加载时间、资源大小质量指标：Lighthouse 分数（需 Google API）碳足迹：估算网站碳排放G. 高级功能重定向链：追踪 HTTP 重定向路径TLS 密码套件：支持的加密套件分析TLS 安全配置：TLS 版本、协议配置TLS 握手模拟：模拟连接过程DNS 安全扩展：DNSSEC 记录查询历史存档：Wayback Machine 历史记录全球排名：网站流量排名估算封锁检测：检测是否被防火墙封锁邮箱配置：SPF、DMARC、DKIM 记录2. 系统架构graph TB User[用户] --> WebUI[Web 界面] WebUI --> API[API 服务] API --> DNS[DNS 查询模块] API --> SSL[SSL 分析模块] API --> Server[服务器探测模块] API --> Scanner[爬虫与分析模块] API --> External[外部 API 集成] DNS --> Response[(分析结果)] SSL --> Response Server --> Response Scanner --> Response External --> Response Response --> WebUI External -.Shodan/Google/WhoAPI.-> ExternalAPI[第三方服务]3. 数据流向sequenceDiagram participant U as 用户 participant W as Web UI participant A as API 层 participant M as 分析模块 participant E as 外部服务 U->>W: 输入目标域名 W->>A: 发起分析请求 A->>M: 调用多个检测模块 M->>E: 查询外部 API（可选） E-->>M: 返回增强数据 M-->>A: 返回模块结果 A-->>W: 汇总分析数据 W-…

httpx HTTP 多用途探测工具技术分析
type: item
date: 2026-01-18T01:18:53+00:00
description: httpx HTTP 多用途探测工具技术分析一、概述1. 简介httpx 是由 ProjectDiscovery 团队开发的一款快速且多用途的 HTTP 工具包，它允许使用 retryablehttp 库运行多种探测。该工具设计用于在增加线程数量的同时保持结果可靠性。2. 核心特点A. 技术优势简单且模块化的代码库，易于贡献快速且完全可配置的标志以探测多个元素支持多种基于 HTTP 的探测智能的 HTTPS 到 HTTP 自动回退机制支持 hosts、URL 和 CIDR 作为输入处理边界情况，包括重试、退避等，以应对 WAF（Web 应用防火墙）B. 应用场景网络资产发现安全测试和渗透测试Bug 赏金狩猎OSINT（开源情报）收集管道化批量处理二、支持的探测类型httpx 提供了丰富的探测选项，默认启用的探测包括：探测类型默认启用描述URL是目标 URLTitle是页面标题Status Code是HTTP 状态码Content Length是响应内容长度TLS Certificate是TLS 证书信息CSP Header是内容安全策略头Line Count是响应行数Word Count是响应词数Location Header是重定向位置Web Server是Web 服务器信息Web Socket是WebSocket 支持Response Time是响应时间Request Method是请求方法Body Hash是响应体哈希Header Hash是响应头哈希URL Scheme是URL 方案（http/https）可选探测类型：IP：主机 IP 地址CNAME：CNAME 记录Raw HTTP：原始 HTTP 响应HTTP2：HTTP/2 支持HTTP Pipeline：HTTP 管道支持Virtual host：虚拟主机探测Paths：路径探测Ports：端口探测Favicon Hash：网站图标哈希Probe Status：探测状态Redirect chain：重定向链JARM Hash：JARM 指纹哈希ASN：自治系统号CDN：CDN/WAF 检测三、安装与配置1. 系统要求httpx 需要 Go >= 1.24.0 版本才能成功安装。2. 安装方法go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest3. Docker 方式docker pull projectdiscovery/httpx4. 配置文件默认配置文件路径：$HOME/.config/httpx/config.yaml四、核心架构1. 工作原理graph TB A[输入源] --> B{输入类型} B -->|hosts| C[DNS解析] B -->|URLs| D[URL标准化] B -->|CIDR| E[IP枚举] C --> F[目标队列] D --> F E --> F F --> G[线程池 默认50线程] G --> H[HTTP探测引擎] H --> I{探测类型} I -->|默认| J[基本探测] I -->|可选| K[高级探测] J --> L[结果收集] K --> L L --> M{输出格式} M -->|JSON| N[JSONL输出] M -->|CSV| O[CSV输出] M -->|标准| P[终端输出] H -->|WAF检测| Q[重试/退避] Q --> H2. 探测流程sequenceDiagram participant C as 客户端 participant H as httpx participant T as 目标服务器 participant WAF as WAF/防火墙 C->>H: 提供目标列表 H->>H: 解析和标准化输入 H->>T: HTTPS 探测 alt HTTPS 成功 T-->>H: HTTPS 响应 H->>H: 执行探测 else HTTPS 失败 H->>T: HTTP 回退探测 alt HTTP 成功 T-->>H: HTTP 响应 H->>H: 执行探测 else HTTP 失败 H->>H: 重试/退避 H->>WAF: WAF 绕过处理 end end H-->>C: 返回探测结果五、使用方法1. 基本用法# 显示帮助 httpx -h # 探测单个目标 httpx -u https://example.com # 探测多个目标 httpx -u https://example.com -u https://example.org # 从文件读取目标 httpx -l targets.txt2. 输出控制# JSON 格式输出 httpx -l targets.txt -json -o …

Claude Code 2.0 完整指南与技术分析
type: item
date: 2026-01-17T16:04:26+00:00
description: Claude Code 2.0 完整指南与技术分析一、概述1. 简介A. 是什么Claude Code 是 Anthropic 官方推出的 CLI 工具，将 Claude 大语言模型的能力集成到命令行环境中。它不仅是一个编码助手，更是一个通用智能代理，可用于数据分析、文档处理、系统操作等多种任务。B. 为什么学提升编码效率：通过智能代理自动化完成重复性编码任务更快的反馈循环：Opus 4.5 模型速度和协作能力显著提升掌握前沿工具：Claude Code 已成为 CLI 编码产品的标杆，其他工具如 Codex、OpenCode 等都深受其影响技能可迁移：学习 Claude Code 的经验可直接应用到其他 AI 编码工具C. 学完能做什么熟练使用子代理进行代码库探索和任务执行理解并应用上下文工程技术优化 AI 代理性能创建自定义命令、钩子和技能以扩展 Claude Code 功能掌握 MCP 服务器集成实现外部工具连接2. 前置知识A. 必备技能基本 Linux/macOS 命令行操作了解软件开发生命周期对大语言模型基本概念的理解B. 推荐知识熟悉至少一种编程语言了解 Git 版本控制具备系统设计基础概念二、核心概念1. 基本术语上下文窗口（Context Window）：LLM 能够一次性查看和处理的最大令牌数量，类似于模型的工作记忆工具调用（Tool Calling）：LLM 执行特定操作的能力，如读取文件、搜索网络、运行命令等智能代理（Agent）：能够主动运行工具以实现目标的 LLM 系统上下文工程（Context Engineering）：在有限的上下文窗口中优化信息配置，以实现模型期望行为的技术2. 工作原理graph TB A[用户输入] --> B[主代理 Claude] B --> C{任务分析} C -->|简单任务| D[直接执行] C -->|复杂任务| E[Task Tool] E --> F[子代理 Explore] E --> G[子代理 Plan] E --> H[子代理 General-purpose] F --> I[工具调用 Glob/Grep/Read] G --> J[生成实施计划] H --> K[多步骤任务执行] I --> L[返回结果] J --> L K --> L L --> B B --> M[输出结果]三、Claude Code 2.0 新特性1. 生活质量改进A. 语法高亮2.0.71 版本引入的语法高亮功能显著提升了代码审查体验。高对比度的文本和粗体字重使代码差异更易阅读。B. 提示系统在模型思考过程中显示实用提示，帮助用户发现隐藏功能。虽然部分提示可能不适用于所有场景，但整体上提供了有价值的学习机会。C. 反馈 UI优雅的非侵入式反馈系统，允许用户通过数字键快速响应（1：差，2：一般，3：好）或按 0 忽略。D. 检查点功能Esc + Esc 或 /rewind 命令允许回滚到特定检查点，类似于 Cursor 的功能。可以同时回滚代码和对话。2. 核心功能增强A. 超级思考模式对于复杂任务，可以使用 /ultrathink 让 Opus 4.5 进行更严谨的推理，适用于解释复杂概念或自我审查代码变更。B. 提示建议（2.0.73）新增的提示建议功能预测相当准确，能够根据当前上下文提供相关的后续操作建议。C. 提示历史搜索Ctrl + R 可以搜索提示历史，类似终端的反向搜索功能，可跨项目全局对话搜索。D. 模糊文件搜索（2.0.72）文件建议速度提升 3 倍，支持模糊搜索。E. LSP 支持通过插件支持 LSP（语言服务器协议），提供更强大的代码智能感知。四、子代理系统1. 子代理类型Claude Code 提供多种预定义子代理，每个代理都有特定的用途和工具集。子代理类型用途可用工具上下文继承general-purpose复杂问题和多步骤任务全部工具是Explore快速代码库探索Glob、Grep、Read、有限 Bash否Plan软件架构设计和实施规划全部工具是claude-code-guideClaude Code 文档查询Glob、Grep、Read、WebFetch、WebSearch是statusline-setup状态栏配置Read、Edit是2. Explore 代理详解Explore 代理是只读文件搜索专家，专门用于快速浏览代码库。A. 核心特性严格只读模式：禁止创建、修改或删除文件高效文件查找：使用 glob 模式进行广泛文件匹配强大搜索能力：使用正则表达式搜索文件内容并行工具调用：通过并行 grep 和读取文件提高效率B. 使用场景快速定位文件：如查找所有 TypeScript React 组件代码关键词搜索：如查找 API 端点定义代码库问题…

dog 命令行 DNS 客户端技术分析
type: item
date: 2026-01-17T07:48:01+00:00
description: dog 命令行 DNS 客户端技术分析一、概述1. 简介A. 是什么dog 是一个用 Rust 编写的命令行 DNS 客户端工具，类似于传统的 dig 工具，但提供了更现代的用户体验和更强大的功能。B. 为什么值得关注彩色输出让 DNS 查询结果更易读支持标准的命令行参数语法，学习曲线更平缓支持 DNS-over-TLS 和 DNS-over-HTTPS 加密查询协议可以输出 JSON 格式，便于与其他工具集成使用 Rust 编写，性能优异且内存安全C. 能做什么查询各类 DNS 记录（A、MX、NS、TXT 等）指定自定义 DNS 服务器进行查询通过 UDP、TCP、TLS 或 HTTPS 协议进行查询以彩色或 JSON 格式输出结果测量 DNS 响应时间二、核心特性1. 基本功能dog 提供了完整的 DNS 查询功能，支持所有常见的记录类型和网络类。2. 协议支持graph LR subgraph 传统协议 UDP[UDP] TCP[TCP] end subgraph 加密协议 DoT[DNS-over-TLS] DoH[DNS-over-HTTPS] end Client[dog客户端] --> UDP Client --> TCP Client --> DoT Client --> DoH UDP --> Server[DNS服务器] TCP --> Server DoT --> Secure[安全DNS解析] DoH --> Secure3. 输出格式默认彩色输出：易于阅读，自动高亮重要信息JSON 输出：便于脚本处理和与其他工具集成短格式：仅显示第一个结果三、安装方式1. 包管理器安装根据不同平台，可通过以下方式安装：Arch Linux：dog 包macOS Homebrew：dog formulaNixOS：dogdns 包2. 预编译二进制从 GitHub Releases 页面下载适用于 Windows、macOS 和 Linux 的预编译二进制文件。3. 从源码编译graph TD A[获取源码] --> B{选择编译选项} B -->|完整功能| C[cargo build] B -->|最小体积| D[cargo build --no-default-features] C --> E[编译完成] D --> E E --> F[复制到 PATH]前置要求：Rust 编译器 1.45.0 或更高版本推荐使用 rustup 安装 Rust编译命令：cargo build cargo test发布版本编译：cargo build --release # 或使用 just just build-release编译后的二进制文件位于 target/release 目录，建议复制到 /usr/local/bin 等 PATH 目录。四、功能特性开关dog 提供三个 Cargo 功能开关，默认全部启用：1. with_idna启用国际化域名支持，允许查询非 ASCII 字符的域名。2. with_tls启用 DNS-over-TLS 支持，通过 TLS 加密 DNS 查询。3. with_https启用 DNS-over-HTTPS 支持，通过 HTTPS 加密 DNS 查询（依赖 with_tls）。示例：仅保留 IDNA 支持，禁用 TLS 和 HTTPScargo build --no-default-features --features=with_idna可通过 --version 参数查看已禁用的功能列表。五、命令行参数1. 查询选项：人类可读的主机名、名称服务器、类型或类-q, --query=HOST：要查询的主机名或域名-t, --type=TYPE：DNS 记录类型（A、MX、NS 等）-n, --nameserver=ADDR：发送数据包的名称服务器地址--class=CLASS：DNS 记录的网络类（IN、CH、HS）2. 发送选项--edns=SETTING：是否选择使用 EDNS（disable、hide、show）--txid=NUMBER：将事务 ID 设置为特定值-Z=TWEAKS：设置不常见的协议级调整3. 协议选项-U, --udp：使用 UDP 上的 DNS 协议-T, --tcp：使用 TCP 上的 DNS 协议-S, --tls：使用 DNS-over-TLS 协议-H, --https：使用 DNS-over-HTTPS 协议4. 输出选项-1, --short：短模式，仅显示第一个结果-J, --json：以 JSON 格式显示输出--color, --colour=WHEN：何时为输出着色（always、automatic、never）--seconds：不格式化…

Mole Mac 系统深度清理优化工具技术分析
type: item
date: 2026-01-17T05:20:33+00:00
description: Mole Mac 系统深度清理优化工具技术分析一、新闻概述1. 标题Mole：一款集成的 Mac 系统清理与优化工具2. 发布时间2025 年 1 月 17 日3. 来源GitHub 开源仓库二、核心内容1. 事件摘要A. 主要内容Mole 是一款专为 macOS 设计的开源命令行工具，整合了 CleanMyMac、AppCleaner、DaisyDisk 和 iStat Menus 的核心功能，提供系统清理、应用卸载、磁盘分析和实时监控等一站式解决方案。B. 核心亮点单一二进制文件，无外部依赖深度清理可释放数十 GB 空间智能应用卸载彻底清除残留文件实时系统状态监控完全开源，MIT 许可证2. 关键信息A. 版本信息当前版本：V1.22.1（Fortified）GitHub Stars：29.7k+Forks：786贡献者：39 人B. 技术栈主要语言：Shell（82.2%）、Go（17.7%）平台支持：macOS（主要）、Windows（实验性）安装方式：Homebrew、脚本安装C. 项目地址https://github.com/tw93/Mole三、详细报道1. 主要功能A. 深度系统清理Mole 的核心清理功能可扫描并删除以下类型文件：用户应用缓存浏览器缓存（Chrome、Safari、Firefox）开发工具缓存（Xcode、Node.js、npm）系统日志和临时文件应用特定缓存（Spotify、Dropbox、Slack）废纸篓内容根据官方展示，单次清理可释放高达 95.5GB 的磁盘空间。B. 智能应用卸载传统应用卸载仅删除应用程序包，而 Mole 的智能卸载功能会：移除应用程序本身清理 Launch Agents 和 Launch Daemons删除 Application Support 文件清除缓存文件移除偏好设置文件清理日志、WebKit 存储和 Cookies删除扩展和插件官方示例显示卸载 Photoshop 2024 清理了 52 个相关文件，释放 12.8GB 空间。C. 系统优化系统优化功能执行以下维护任务：重建系统数据库并清除缓存重置网络服务刷新 Finder 和 Dock清理诊断和崩溃日志删除交换文件并重启动态分页器重建启动服务和 Spotlight 索引D. 磁盘空间分析可视化磁盘使用情况，支持：按目录大小排序显示文件最后修改时间交互式导航（支持方向键和 Vim 绑定）快速打开、显示、删除文件定位大文件E. 实时系统监控提供实时系统健康仪表板，包括：CPU 使用率和核心负载内存使用情况（已用、总计、可用）磁盘使用率和读写速度电池状态和健康度网络上传下载速度进程资源占用排名系统健康评分（基于 CPU、内存、磁盘、温度和 I/O 负载）F. 项目构建产物清理针对开发者的清理功能，扫描并删除：node_modules（Node.js 项目）target（Rust 项目）build、dist（通用构建目录）venv（Python 虚拟环境）支持自定义扫描路径，默认扫描 ~/Projects、~/GitHub、~/dev 等目录。G. 安装包清理查找并删除散落在以下位置的安装文件：下载文件夹桌面Homebrew 缓存iCloud邮件附件每个文件都标记来源位置，便于用户识别。2. 技术架构A. 架构设计graph TB User[用户] --> CLI[命令行接口 mo] CLI --> Clean[深度清理模块] CLI --> Uninstall[应用卸载模块] CLI --> Optimize[系统优化模块] CLI --> Analyze[磁盘分析模块] CLI --> Status[实时监控模块] CLI --> Purge[项目清理模块] CLI --> Installer[安装包清理模块] Clean --> Cache[缓存扫描器] Clean --> Browser[浏览器清理器] Clean --> Logs[日志清理器] Uninstall --> AppScanner[应用扫描器] Uninstall --> RemnantScanner[残留文件扫描器] Analyze --> FileWalker[文件遍历器] Analyze --> SizeCalculator[大小计算器] Analyze --> Visualizer[可视化渲染器] Status --> CPUMonitor[CPU 监控] Status --> MemMonitor[内存监控] Status --> DiskMonitor[磁盘监控] Status --> NetMonitor[网络监控] Cache --> System[macOS 系统接口] Browser --> System Logs -…

ConvertX 文件转换工具使用指南
type: item
date: 2026-01-15T15:22:29+00:00
description: ConvertX 文件转换工具使用指南一、概述1. 简介A. 是什么ConvertX 是一个自托管的在线文件转换工具，支持超过 1000 种不同的文件格式转换。该项目使用 TypeScript、Bun 和 Elysia 框架开发，提供完整的 Web 界面和 RESTful API。B. 为什么使用完全自主可控，数据无需上传到第三方服务支持格式极其丰富，覆盖图片、视频、文档、3D 模型等多种类型支持批量处理，提高工作效率可部署在本地或私有云环境中C. 适用场景企业内部文件格式统一转换个人隐私敏感文件处理需要离线环境下的格式转换批量文件处理需求2. 支持的转换格式A. 图片格式（约 700+ 种）常用格式：JPG、PNG、GIF、WebP、SVG、HEIF专业格式：JPEG XL、TIFF、BMP、ICO矢量格式：SVG（通过 Inkscape、resvg）转换工具：ImageMagick、GraphicsMagick、Vips、libjxl、libheif、Potrace、VTracerB. 视频格式（约 671 种）输入格式：约 472 种（通过 FFmpeg）输出格式：约 199 种支持硬件加速（如 VAAPI）C. 文档格式（约 200+ 种）办公文档：通过 LibreOffice 支持 41 种输入、22 种输出电子书：通过 Calibre 支持 26 种输入、19 种输出标记文档：通过 Pandoc 支持 43 种输入、65 种输出Markdown：通过 Markitdown 支持 6 种输入格式D. 其他格式3D 资产：通过 Assimp 支持 77 种输入、23 种输出邮件格式：Outlook msg 文件转换联系人：VCF 转 CSV数据文件：通过 Dasel 转换LaTeX 文档：通过 XeLaTeX、dvisvgm 转换二、部署方式1. 系统要求Docker 或 Docker Compose至少 1GB 可用磁盘空间推荐 2GB 以上内存2. 使用 Docker Compose 部署创建 docker-compose.yml 文件：services: convertx: image: ghcr.io/c4illin/convertx container_name: convertx restart: unless-stopped ports: - "3000:3000" environment: - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # - HTTP_ALLOWED=true volumes: - ./data:/app/data启动服务：docker-compose up -d3. 使用 Docker 部署docker run -d \ -p 3000:3000 \ -v ./data:/app/data \ -e JWT_SECRET=your-secret-key \ --name convertx \ --restart unless-stopped \ ghcr.io/c4illin/convertx4. 访问服务部署完成后，在浏览器中访问 http://localhost:3000首次访问时需要注册账户，这将是管理员账户。建议不要将未配置的服务公开暴露。5. 数据目录权限如果遇到无法打开数据库文件的错误，运行：chown -R $USER:$USER ./data三、系统架构1. 工作原理graph TB User[用户] -->|上传文件| Web[Web 界面] Web -->|转发请求| API[Elysia API] API -->|验证身份| JWT[JWT 认证] JWT -->|通过| Converter[转换引擎] Converter -->|调用| FFmpeg[FFmpeg 视频] Converter -->|调用| ImageMagick[ImageMagick 图片] Converter -->|调用| LibreOffice[LibreOffice 文档] Converter -->|调用| Calibre[Calibre 电子书] Converter -->|调用| Other[其他转换器] Converter -->|返回| Storage[(存储)] Storage -->|下载| Web Web -->|下载文件| User2. 核心组件A. Web 前端基于 TypeScript 和 Bun 开发的响应式 Web 界面，提供文件上传、转换历史查看等功能。B. API 服务基于 Elysia 框架构建的高性能 API 服务，处理文件上传、转换请求、用户认证等。C. 转换引擎集成…

btop++ 资源监控工具技术分析
type: item
date: 2026-01-15T12:05:09+00:00
description: btop++ 资源监控工具技术分析一、概述1. 项目简介btop++ 是一款功能强大的系统资源监控工具，采用 C++23 编写，是 bashtop 和 bpytop 的继任者。该项目完全重写，摆脱了外部依赖，提供高效、美观的终端界面监控系统资源使用情况。A. 核心特性游戏风格的菜单系统，易于使用完整的鼠标支持，所有按键均可点击快速响应的 UI，支持进程选择和排序详细的进程统计信息和过滤功能树形进程视图和信号发送功能多主题支持和自定义预设B. 技术栈编程语言：C++23（79.1%）、C（18.9%）构建系统：Makefile、CMake许可证：Apache 2.0GitHub Stars：29.5k+，Forks：890+2. 背景与发展btop++ 的诞生源于对 bashtop 和 bpytop 的重构需求。原项目依赖 Python 和 Bash，存在性能瓶颈和跨平台兼容性问题。作者 aristocratos 决定使用 C++ 完全重写，实现零外部依赖的目标。graph LR A[bashtop] -->|功能需求| B[bpytop] B -->|性能/跨平台问题| C[btop++] C -->|C++23重构| D[零外部依赖]3. 跨平台支持Linux：完整支持，包括 GPU 监控macOS：支持 x86_64 和 ARM64（Apple Silicon）FreeBSD：完整支持NetBSD：自 v1.4.0 起支持OpenBSD：自 v1.3.0 起支持二、系统架构1. 总体设计btop++ 采用模块化架构设计，核心组件包括：graph TB subgraph UI层 A[主界面] B[菜单系统] C[绘制引擎] end subgraph 采集层 D[CPU采集器] E[内存采集器] F[磁盘采集器] G[网络采集器] H[进程采集器] I[GPU采集器] end subgraph 平台层 J[Linux适配] K[macOS适配] L[BSD适配] end A --> D A --> E A --> F A --> G A --> H A --> I D --> J E --> J F --> J G --> J H --> J I --> J D --> K E --> K F --> K G --> K H --> K D --> L E --> L F --> L G --> L H --> L2. 组件说明A. 绘制引擎支持 24-bit 真彩色支持通过 Unicode Braille 字符绘制高分辨率图形TTY 模式下自动降级到 16 色和 ASCII 图形终端同步输出减少闪烁B. 数据采集器CPU 采集器：多核心使用率、频率、温度、功耗内存采集器：物理内存、交换空间、ZFS ARC 统计磁盘采集器：IO 速率、活动时间、挂载点信息网络采集器：上下行速率、自适应缩放进程采集器：CPU/内存使用、线程数、用户信息GPU 采集器：使用率、功耗、时钟频率（NVIDIA、AMD、Intel）C. 平台适配层Linux：通过 /proc、/sys 文件系统采集数据macOS：通过 libproc、sysctl 等系统 APIBSD 系列：通过 sysctl、kvm 等接口三、GPU 监控技术1. 架构设计btop++ 的 GPU 监控采用动态库加载机制，避免静态链接问题：graph LR A[btop++] -->|动态加载| B[NVIDIA ML] A -->|动态加载| C[ROCm SMI] A -->|SYSFS读取| D[Intel GPU] B -->|NVIDIA驱动| E[NVIDIA GPU] C -->|AMD驱动| F[AMD GPU] D -->|i915驱动| G[Intel iGPU]2. 实现细节A. NVIDIA GPU 支持依赖：nvidia-ml 动态库（随驱动安装）监控指标：GPU 使用率、功耗、时钟频率兼容性：闭源和开源驱动均已验证B. AMD GPU 支持依赖：rocm_smi_lib静态链接选项：RSMI_STATIC=true源码要求：lib/rocm_smi_lib 目录C. Intel GPU 支持数据来源：SYSFS 接口权限要求：需要 setcap 或 setuid监控指标：使用率、功耗、时钟频率3. 编译配置# 启用 GPU 支持（x86_64 Linux 默认启用） make GPU_SUPPORT=true # 禁用 GPU 支持 make GPU_SUPPORT=false # 静态链接 ROCm SMI（AMD） make RSMI_STATIC=true四、编译与安装1. 编译器要求GCC 14+ 或 Clang 19+支持 C++23 特性2.…