# IPCheck 网络工具箱内置示例插件

这是 YMhut Box 随程序发布的内置示例插件。插件资源嵌入在 `YMhut.Box.Core.dll` 中，插件系统首次启用或扫描时会复制到用户插件目录；如果用户已经修改同 ID 插件，程序会保留用户版本。

## 文件说明

- `ymhut.plugin.json`：插件声明文件，定义插件 ID、权限、工具入口和工具箱分类。
- `index.html`：插件页面入口，适配主窗口内嵌和独立窗口内容区。
- `style.css`：原创黑白极简点阵界面样式，卡片圆角控制在 8px。
- `main.js`：插件主脚本，负责公网 IP、IPv4/IPv6、Cloudflare Trace、DNS 泄漏、WebRTC、测速、Ping、MTR、Whois/RDAP、MAC 厂商、ASN 连通性、规则测试、可达性检查、本机接口和浏览器指纹检测。

## Bridge 能力示例

页面底部的“Bridge 示例”卡片演示了三个常用能力：

- 写入输出区：`window.ymhut.output.set(report)`，适合报告、日志摘要、可复制结果。
- 保存私有状态：`window.ymhut.storage.set("lastSnapshot", value)`，只写入当前插件命名空间。
- 打开安全链接：`window.ymhut.openExternal(url)`，默认进入 YMhut Box 安全浏览器；如需系统浏览器，必须显式传入 `{ target: "system" }` 并获得权限。

## 权限说明

插件声明 `Http`、`NetworkDiagnostics`、`Log`、`Output`、`Storage`、`Clipboard`、`OpenExternal`。用户启用并授权后，插件可通过 YMhut Bridge 执行必要的公网观测请求、本机网络诊断、日志记录、输出区写入、状态保存、报告复制和安全链接打开。

## 安全与边界

本示例只复刻 IPCheck 类工具的功能覆盖、内容结构和黑白极简风格，不复制受保护页面源码、品牌资产或私有接口。页面本体与工具交互均为内置原创实现；公网 IP、DNS 泄漏、RDAP、测速等必须由远端观测点才能完成的指标，会在插件授权后通过公开端点探测，并在失败时显示清晰降级状态。

插件 UI 不应覆盖宿主标题栏、输出区或系统窗口按钮。需要展示长报告时写入宿主输出区；主操作界面应保留在插件内容区内，避免 fixed 全屏遮罩和超高 z-index 点击层。

## AI 实现提示

给其他 AI 生成插件时，可以把本示例作为最小可运行模板：保留 `ymhut.plugin.json`、`README.md`、`index.html`、`style.css`、`main.js` 五个核心文件，按需减少权限，并在 README 中解释每个权限的用途。不要依赖远程脚本或修改 YMhut Box 内置资源。
