WireGuard 配置生成与校验
网络所有处理都在浏览器本地完成,数据不上传服务器
两种模式。生成:粘一个私钥(或用 `crypto.getRandomValues` 随机造一把),工具推导出对应的公钥,并拼出一份可直接使用的客户端配置;填上服务端公钥、端点、DNS、持久保活即可。校验:粘贴一整段 `.conf`,逐行给出结论 —— 密钥是不是 32 字节、端口是否在 1–65535、`AllowedIPs` 是不是合法 CIDR、Peer 公钥有没有重复,以及最常见的「把 `Address` 和 `AllowedIPs` 写反了」。公钥由纯 JavaScript 实现的 X25519(RFC 7748)算出,不用 `crypto.subtle` —— 那个接口只在 https / localhost 下存在,而本站是静态页面,可能被以 http 打开。私钥在结果里以 `<REDACTED>` 遮住、不可复制;所有计算都在浏览器本地完成,不上传任何内容。
功能
- 两种模式:从私钥生成配置,或校验一份已有的 .conf
- 从私钥推导公钥(纯 JS 实现 X25519,不依赖 Web Crypto)
- 一键生成完整的 [Interface] / [Peer] 客户端配置
- 私钥可随机生成 —— 用 crypto.getRandomValues,绝不用 Math.random
- 私钥在结果里以 <REDACTED> 遮住,避免截图或误复制泄露
- 逐行校验:密钥是否 32 字节、端口范围、AllowedIPs 是否为合法 CIDR
- 识别重复的 Peer 公钥,以及 Address 与 AllowedIPs 写反
- 全部在浏览器本地完成,不上传任何内容
使用方法
- 选择「生成配置」或「校验配置」模式
- 生成模式:粘贴私钥(或勾选随机生成),填服务端公钥、端点等选项
- 从结果里复制公钥,或整块复制配置
- 校验模式:粘贴整段 .conf,逐行看结论
常见问题
- 私钥会被上传到服务器吗?
- 不会。所有推导与校验都在浏览器里用 JavaScript 完成,页面不发起任何网络请求,私钥和配置都不会离开你的设备。
- 为什么结果里看不到我的私钥?
- 私钥那一行固定显示 <REDACTED> 且不可复制 —— 避免截图或误操作把它带出去。它仍然出现在下面那份可直接使用的配置里(PrivateKey = …);那份配置请当作秘密保管,别转发。
- 为什么公钥是自己算的,不用浏览器自带的加密接口?
- 因为 crypto.subtle 只在 https / localhost 这类安全上下文里存在。本站是静态页面,可能被以 http 打开或部署在内网 IP 上,那时它根本拿不到。所以这里用一段纯 JavaScript 实现 X25519(RFC 7748),在任何环境下结果一致。
- 校验模式能查出什么?
- 密钥是不是 32 字节 Base64、端点端口是否在 1–65535、AllowedIPs 与 Address 是不是合法 CIDR、Peer 公钥是否重复,以及最常见的「把 Address 和 AllowedIPs 写反」——AllowedIPs 只属于 [Peer],Address 只属于 [Interface]。每一行都给出对应结论。
相关工具
CIDR 计算
网络输入 192.168.1.0/24 算出网络地址、广播地址、子网掩码、通配符掩码、可用范围与主机数,并判断地址类型。全部在浏览器本地完成,不上传。
配置校验
网络校验 package.json、.env、robots.txt、sitemap.xml 与 HTTP 响应头,结论分错误、警告、建议三级,每条都说明为什么。全部在浏览器本地完成。
邮件配置检测
网络检测域名的邮件配置:MX 记录、SPF 的 DNS 查询次数与终止符、DMARC 策略与 DKIM 公钥。浏览器直连公共 DNS,域名不经过本站服务器。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。