- 作为开发者,你是不是经常遇到这些场景:
- 临时需要生成一个 QR 码,不想装库
- 调试时需要一个 UUID,打开网站复制粘贴
- 前端需要格式化 JSON,找了半天在线工具
- 写脚本时需要 base64 编码,又不想查文档
- 想截图一个网页,还得装 Puppeteer
这些需求单独看都很小,但加起来每天浪费不少时间。
我把这些常用功能做成了一套统一的 RESTful API —— Kael API ⚡,部署在新加坡节点,免费开放给所有开发者使用。
在线体验
打开就能看到交互式文档,每个接口都可以直接在页面上试用。
接口一览
目前提供 23 个端点,覆盖日常开发中最常用的工具类需求:
编码 & 加密
# SHA256 哈希
curl "https://www.kael.ink/api/hash?text=hello&algo=sha256"
# Base64 编码
curl "https://www.kael.ink/api/encode?text=你好&type=base64"
# UUID 生成
curl https://www.kael.ink/api/uuid
# JWT 解码(不验证签名,纯解析)
curl "https://www.kael.ink/api/jwt/decode?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.xxx"
数据处理
# JSON 校验
curl -X POST https://www.kael.ink/api/json/validate \
-H "Content-Type: application/json" \
-d '{"json": "{\\"name\\": \\"test\\"}"}'
# JSON 格式化
curl -X POST https://www.kael.ink/api/json/format \
-H "Content-Type: application/json" \
-d '{"json": "{\\"a\\":1,\\"b\\":2}"}'
# 正则测试
curl -X POST https://www.kael.ink/api/regex \
-H "Content-Type: application/json" \
-d '{"pattern": "\\\\d+", "text": "abc123def456"}'
# 文本对比(diff)
curl -X POST https://www.kael.ink/api/diff \
-H "Content-Type: application/json" \
-d '{"text1": "hello world", "text2": "hello china"}'
生成类
# QR 码(返回 PNG 图片)
curl "https://www.kael.ink/api/qr?text=https://juejin.cn" -o qr.png
# Markdown → HTML
curl -X POST https://www.kael.ink/api/md2html \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello\\n\\n**Bold** text"}'
# Markdown → 图片
curl -X POST https://www.kael.ink/api/md2image \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello World"}' -o output.png
# 随机密码
curl "https://www.kael.ink/api/password?length=20&symbols=true"
# 占位图片
curl "https://www.kael.ink/api/placeholder?w=400&h=300&text=Demo" -o placeholder.png
# 中英文 Lorem Ipsum
curl "https://www.kael.ink/api/lorem?lang=zh¶graphs=2"
# URL 短链接
curl -X POST https://www.kael.ink/api/shorten \
-H "Content-Type: application/json" \
-d '{"url": "https://juejin.cn/post/very-long-url-here"}'
# SEO 友好的 Slug
curl "https://www.kael.ink/api/slug?text=Hello World 你好世界"
网页截图 🆕
# 传入 URL,返回截图(Playwright 渲染)
curl "https://www.kael.ink/api/screenshot?url=https://juejin.cn&width=1280&height=800" -o screenshot.png
查询 & 分析
# 当前时间戳(多格式)
curl https://www.kael.ink/api/ts
# 你的公网 IP
curl https://www.kael.ink/api/ip
# User-Agent 解析
curl https://www.kael.ink/api/useragent
# 颜色转换(HEX ↔ RGB ↔ HSL)
curl "https://www.kael.ink/api/color?hex=FF5733"
# 密码强度检测
curl "https://www.kael.ink/api/password-strength?password=MyP@ssw0rd123"
# 随机数/字符串
curl "https://www.kael.ink/api/random?type=int&min=1&max=100"
技术栈
- 运行时: Node.js + Fastify
- 截图引擎: Playwright (Chromium)
- 部署: AWS Singapore + Nginx + PM2 + Let's Encrypt
- 限流: 100 次/分钟(IP 维度),响应头包含
x-ratelimit-* - CORS: 全开放,前端可直接 fetch
使用方式
零门槛——不需要注册,不需要 API Key,直接调用:
// 前端直接用
const res = await fetch('https://www.kael.ink/api/uuid');
const data = await res.json();
console.log(data.uuid);
# Python
import requests
r = requests.get('https://www.kael.ink/api/hash', params={'text': 'hello', 'algo': 'md5'})
print(r.json())
后续规划
- AI 文本摘要 API
- Webhook 测试工具
- PDF 生成
- 付费高级接口(更高限流、AI 功能)
写在最后
这个项目还在持续迭代中,如果你有想要的功能,欢迎评论区留言。
觉得有用的话,点个赞 👍 让更多人看到~