一个运行在你自己设备上的开发者工具站:编解码、JSON、生成器、网络诊断、隐私检测一应俱全。数据只存在你自己的设备上,不上传、不追踪。
- 36 个工具,10 大分类:JSON / 编解码 / 生成器 / 哈希 / 时间 / 文本 / 转换器 / 网络工具 / 隐私检测 / 分享服务
- 隐私优先:28 个纯前端工具全部在浏览器本地执行,数据不离开设备;页面均标注「仅本机处理」
- 多源负载均衡:IP 归属地 7 个数据源轮询、汇率 4 个数据源轮询,自动故障摘除 + 缓存,不惧单源限流
- 浏览器直连探测:连通性测试由浏览器直接向目标站点发起请求,测的是「你的网络」而非服务器网络
- 完整账号体系:
admin(超管)→sub_admin(副管理员)→user三级角色 - 安全登录:scrypt 加盐哈希、服务端会话 + HttpOnly Cookie、登录限速、登录日志
- 体验细节:深色 / 浅色主题、移动端自适应、
/键聚焦搜索、收藏夹、需登录工具徽标标识
- 接入层:Caddy 提供 HTTPS 与反向代理,Vue SPA 静态资源由 Fastify 托管
- 应用层:Fastify + 8 组 API 路由,基于 Cookie 的会话认证,三级角色权限
- 数据与外部:SQLite 存储用户 / 会话 / 分享 / 短链;IP 查询 7 源、汇率 4 源轮询,自动故障摘除 + 缓存
| 分类 | 工具 | 登录 |
|---|---|---|
| JSON | 格式化、JSON → TypeScript | - |
| 编解码 | Base64、Base64 图片、URL、JWT、HTML 实体、URL 参数 | - |
| 生成器 | UUID、密码、OTP、二维码 | - |
| 哈希 | MD5 / SHA-1 / SHA-256 / SHA-512 | - |
| 时间 | 时间戳转换 | - |
| 文本 | 文本对比、字数统计、Markdown 预览、正则测试、HTTP 状态码 | - |
| 转换器 | 进制、单位、颜色、CSV ⇄ JSON | - |
| 转换器 | 汇率换算 | 🔒 |
| 网络工具 | 连通性测试、IP 计算器 | - |
| 网络工具 | IP 归属地、DNS 解析、Whois、网站检测 | 🔒 |
| 隐私检测 | 浏览器指纹、WebRTC 泄漏检测 | - |
| 隐私检测 | 隐身测试、深度画像检测 | 🔒 |
| 分享服务 | 文本分享、短链接 | 🔒 |
🔒 = 消耗服务器资源或外部 API 配额,需登录使用;其余工具免登录直接访问。
# 安装依赖
npm install
# 开发模式(后端热重载 + Vite HMR,默认 0.0.0.0:3000)
npm run dev
# 生产模式(需先构建前端)
npm run build
npm start启动后浏览器访问 http://127.0.0.1:3000;局域网内其它设备(如手机)可通过 http://<本机IP>:3000 访问。
首次启动自动创建管理员账号:
| 用户名 | 密码 |
|---|---|
admin |
见 data/auth-password 文件;或用环境变量 AUTH_PASSWORD 自定义 |
登录后建议到「账户页 → 修改密码」更换密码。
| 能力 | admin | 副管理员 | user |
|---|---|---|---|
| 查看用户列表 | 全部 | 仅普通用户 | - |
| 创建普通用户 | ✓ | ✓ | - |
| 创建 / 任免副管理员 | ✓ | ✗ | - |
| 删除用户 | 除自己外任意 | 仅普通用户 | - |
| 使用后端工具 | ✓ | ✓ | ✓ |
| 修改密码 / 会话管理 | ✓ | ✓ | ✓ |
├── src/ # 前端
│ ├── tools/<slug>/Index.vue # 每个工具一个组件(import.meta.glob 自动加载)
│ ├── views/ # 页面(首页、工具页、登录、账户)
│ ├── components/ # 通用组件(侧栏、品牌图标、工具布局…)
│ └── data/tools.ts # 工具注册表(元数据、分类、图标、登录标记)
├── server/ # 后端
│ ├── index.ts # Fastify 入口(.env 加载 + 静态托管 + 路由注册)
│ ├── db.ts # SQLite 初始化 / 默认账号
│ └── routes/ # auth / paste / shorten / ip / dns / whois / sitecheck / rates
└── data/ # SQLite 数据库与运行时密钥(勿提交到仓库)
- 创建
src/tools/<slug>/Index.vue(可以任意现有工具为模板) - 在
src/data/tools.ts中注册ToolMeta(slug、名称、描述、图标、分类) - 若需后端能力,在
server/routes/新增路由并在server/index.ts注册,同时给工具标记backend: true(未登录访问会自动跳转登录页)
新工具由 import.meta.glob 自动加载,无需改路由。连通性测试类工具也可纯浏览器探测(参考 src/tools/connectivity),零服务器消耗则免登录。
支持 .env 文件(首次启动自动加载,系统环境变量优先)或直接导出:
| 变量 | 说明 | 默认 |
|---|---|---|
PORT |
监听端口 | 3000 |
HOST |
监听地址 | 0.0.0.0 |
AUTH_PASSWORD |
首次启动时 admin 的密码(仅创建账号时生效) | 随机生成,写入 data/auth-password |
IPBASE_API_KEY |
ipbase.com 数据源密钥(可选,未配置则该源自动跳过) | 未设置 |
查询类工具接入外部免费接口并做了多源负载均衡(轮询 + 故障冷却 + 缓存),页面均标注数据来源:
| 工具 | 数据源 | 容错 |
|---|---|---|
| IP 归属地 / 隐身 / 画像 | ip-api.com、ipwho.is、ipinfo.io、geojs.io、ip.guide、freeipapi.com、ipbase.com | 7 源轮询,10 分钟缓存 |
| 汇率换算 | open.er-api.com、frankfurter.dev、jsdelivr currency-api、currency-api.pages.dev | 4 源轮询,1 小时缓存 |
| 网站检测 / Whois / DNS | 服务器代为探测 / 连接注册局 / 公共 DNS | - |
其余工具(编解码、哈希、JSON、生成器、连通性测试、浏览器指纹等)全部在浏览器本地执行,数据不离开你的设备。
- 密码使用
scrypt + 随机盐存储,不保存明文 - 登录会话使用服务端记录 +
HttpOnly/SameSite=LaxCookie - 登录接口限速:15 分钟内失败 5 次锁定 10 分钟
- 所有消耗服务器资源 / 外部配额的接口均需登录后访问
本项目为自部署、内网 / 个人使用的工具箱。如需暴露到公网,请务必置于 HTTPS 反代(如 Caddy / Nginx)之后。
MIT
