# Kairoa
**Repository Path**: mirrors/Kairoa
## Basic Information
- **Project Name**: Kairoa
- **Description**: Kairoa 是一款现代化的跨平台桌面开发工具集,为开发者提供丰富的实用工具,包括: :closed_lock_with_key: Hash 计算器、RSA 密钥生成器 :al
- **Primary Language**: Rust
- **License**: AGPL-3.0
- **Default Branch**: main
- **Homepage**: https://www.oschina.net/p/kairoa
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-11-17
- **Last Updated**: 2026-02-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Kairoa ➟ 开发者工具箱
为开发者打造的现代跨平台桌面版开发工具。
**简体中文 | [English](./README.md)**
## 功能特性
### 🔐 Hash 计算器
- 计算文本和文件的哈希值
- 支持多种算法:MD5、SHA-1、SHA-256、SHA-384、SHA-512
- 支持拖拽文件
- 复制哈希值并显示视觉反馈
### ⏰ 时间转换器
- 时间戳和日期互转
- 支持时区选择(IANA 时区列表)
- 可搜索的时区下拉菜单
- 多种格式显示结果(YYYY-MM-DD HH:mm:ss 和 ISO 格式)
- 快速获取当前时间
### 🔑 UUID 生成器
- 生成单个或多个 UUID
- 可选择是否包含连字符
- 复制单个 UUID 或一键复制全部
- 可配置生成数量
### 📝 JSON 格式化器
- 格式化和压缩 JSON
- 格式化后的 JSON 语法高亮显示
- 实时验证
- 复制格式化后的 JSON 到剪贴板
### ⚙️ 配置转换器
- 支持多种配置文件格式之间的转换:JSON、YAML、TOML、INI、XML、Properties、ENV、TOON
- 实时转换和格式验证
- 自动保存转换历史
- 支持双向转换,满足项目迁移和配置统一需求
### 🔧 编解码工具
- **Base64**: 文本和图片的编码/解码
- **URL**: URL 字符串的编码/解码
- **图片/Base64**: 图片与 Base64 格式互转
- 图片预览和下载支持
- 并排输入/输出布局
### 🌐 REST API 客户端
- 支持多种 HTTP 方法(GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS)
- 自定义请求头
- 多种请求体类型:JSON、Text、XML、Form Data、URL Encoded
- 多标签页支持,可同时管理多个请求
- 响应显示:状态码、响应头、响应体、响应时间
- **cURL 导入/导出**:从 cURL 命令导入请求配置,或将请求导出为 cURL 命令
- 自动检测 body 参数(`-d`、`--data`、`--data-raw`、`--data-binary`、`--data-urlencode`、`-F`、`--form`),未明确指定方法时自动设置为 POST(遵循 cURL 最佳实践)
- 格式化的 cURL 命令输出,便于阅读
- 正确的 shell 字符串转义,确保命令可正确执行
### 🔌 WebSocket 测试工具
- 支持 WebSocket (ws://) 和加密 WebSocket (wss://) 连接
- 实时发送和接收消息
- 消息历史记录和查看
- 连接状态监控
- 支持自定义消息格式
- 方便开发和调试实时应用、监控系统
### 🐳 Docker 命令生成器
- 可视化生成常用的 Docker 命令
- 容器管理:运行、停止、删除、查看日志等
- 镜像操作:构建、拉取、推送、删除等
- 网络和卷管理
- 支持自定义参数和选项
- 无需记忆复杂命令参数,通过界面操作即可生成准确命令
### 📦 Git 命令生成器
- 快速生成常用的 Git 命令
- 提交管理:add、commit、push、pull 等
- 分支操作:创建、切换、合并、删除等
- 远程仓库管理
- 历史查看和回退
- 特别适合 Git 初学者和需要快速生成复杂命令的场景
### 📊 文本统计
- 字符数统计(含/不含空格)
- 单词数统计(支持英文和中文)
- 行数、段落数统计
- 字符类型分析:中文字符、英文字符、数字、标点符号
### 📅 Cron 表达式解析器
- 解析和验证 cron 表达式
- 生成人类可读的描述
- 显示下次执行时间
### 📄 PDF 签名校验
- 本地检查 PDF 数字签名
- 校验 CMS (PKCS#7) 分离式签名
- 显示签名者、ByteRange 与证书信息
### 🔒 TLS 版本检测
- 检测远程服务器支持的 TLS/SSL 版本
- 测试 TLS 1.0、1.1、1.2 和 1.3 支持情况
- 显示证书信息
- 识别首选 TLS 版本
### 📡 端口扫描
- 扫描远程主机的 TCP 端口并显示开放情况
- 可配置扫描范围、超时时间与最大并发
- 内置常用端口范围快捷按钮
- 展示开放端口及延迟信息
### 🔍 路由追踪
- 追踪数据包到达目标主机所经过的路由路径
- 显示每一跳的主机名、IP 地址和往返时间(RTT)
- 可配置最大跳数和超时设置
- 跨平台支持(Windows tracert,Linux/macOS traceroute)
- 适用于网络诊断、路由分析和连接故障排查
### 🌍 IP/域名查询工具
- 查询 IP 地址的地理位置、ISP 信息
- 域名解析和反向查询
- 网络详情展示
- 支持批量查询
- 方便进行网络诊断、安全分析和地理位置定位
### 🔍 DNS 查询
- 查询域名的 DNS 记录(A、AAAA、CNAME、MX、TXT、NS、SOA、SRV)
- 支持 DNS over HTTPS (DoH),使用 Cloudflare DNS
- 可同时选择多种记录类型进行查询
- 以表格形式展示 TTL 和记录数据
- 常用记录类型快速选择按钮
- 适用于 DNS 故障排查、域名配置和网络分析
### 📋 HTTP 状态码查询
- 查询 HTTP 状态码,包含详细描述和 RFC 参考
- 支持按状态码数字或名称/描述搜索
- 默认展示常用状态码,方便快速查阅
- 支持所有标准 HTTP 状态码(1xx-5xx)
- 分类显示:信息性、成功、重定向、客户端错误、服务器错误
- 一键复制状态码
- 适用于 API 开发、调试和学习 HTTP 协议
### 📄 MIME 类型查询
- 通过文件扩展名或 MIME 类型字符串查询 MIME 类型
- 包含现代格式的完整 MIME 类型数据库
- 支持按扩展名(如 pdf、jpg)或 MIME 类型(如 application/pdf)搜索
- 显示关联的文件扩展名和描述
- 适用于 Web 开发、文件处理和内容类型配置
### 🔍 User-Agent 解析器
- 解析和分析 User-Agent 字符串,提取浏览器、操作系统和设备信息
- 显示浏览器名称、版本、渲染引擎
- 显示操作系统和设备类型
- 提供常见 User-Agent 示例供快速测试
- 一键使用当前浏览器的 User-Agent
- 适用于 Web 开发、分析和兼容性测试
### 🔑 环境变量管理器
- 管理环境变量,支持导入导出
- 添加、编辑和删除环境变量
- 从 .env 格式文本导入
- 导出为 .env 格式
- 一键复制所有变量
- 本地存储持久化
- 适用于开发环境配置和测试
### 🎨 颜色格式转换
- 多种颜色格式转换:HEX、RGB、HSL、HWB、LCH、CMYK、颜色名称
- 颜色选择器实时预览
- 支持任意格式间的双向转换
- 所有格式可编辑并实时转换
### 🔒 密码强度检测器
- 实时密码强度评估
- 多维度安全检查:长度、大小写、数字、特殊字符、字符多样性
- 常见密码检测
- 连续字符和重复字符检测
- 破解时间估算
- 针对弱密码的改进建议
### 🔐 密码保险库
- 使用 AES 加密的安全本地密码管理器
- 主密码保护所有存储的密码
- 添加、编辑和删除密码条目
- 按类别组织密码(通用、工作、个人、财务、社交、开发)
- 按标题、用户名或 URL 搜索和筛选密码
- 显示/隐藏密码可见性切换
- 导入和导出加密的密码文件
- 一键复制密码
- 所有数据加密并本地存储,永不共享或上传
- 重置保险库选项可清除所有数据
### 📜 证书查看器
- 查看和检查证书文件(PEM、CRT、CER、KEY、CERT、DER、P12、PFX)
- 显示证书详情:主题、颁发者、有效期、序列号、算法、密钥长度
- SHA-256 指纹计算
- 证书有效期状态(有效/已过期/尚未生效)
- 扩展信息显示
- 文件拖拽支持
- 完全离线处理
### 🔢 进制转换器
- 支持多种进制转换:二进制(2)、八进制(8)、十进制(10)、十六进制(16)
- 自动识别和移除前缀(0b、0o、0x)
- 双向转换,带输入验证
### 🔐 RSA 密钥生成器
- 生成 RSA 密钥对(公钥/私钥)
- 支持多种密钥长度:1024、2048、3072、4096 位
- 支持 PEM 或 DER 格式导出
- 一键复制密钥到剪贴板
## 界面特性
- 🌓 **浅色/深色主题**: 支持浅色和深色模式切换(6 种主题可选)
- 🌍 **国际化**: 支持英文和中文
- 🎨 **现代化 UI**: 使用 Tailwind CSS 构建
- 📱 **响应式设计**: 简洁直观的界面
## 技术栈
- **前端**: SvelteKit 5、TypeScript、Tailwind CSS
- **桌面端**: Tauri 2
- **图标**: Lucide Svelte
- **加密**: crypto-js
## 开发环境要求
- Node.js 18+ 和 npm
- Rust(最新稳定版)
- Tauri 的系统依赖:
- **macOS**: Xcode Command Line Tools
- **Linux**: 系统依赖(参见 [Tauri 文档](https://tauri.app/v1/guides/getting-started/prerequisites))
- **Windows**: Microsoft Visual Studio C++ Build Tools
## 安装
本项目使用 GitHub CI 构建所有平台的二进制文件。请前往 [Releases](https://github.com/covoyage/kairoa/releases) 页面下载对应平台的二进制文件。
### macOS
由于 macOS 二进制文件未使用 Apple Developer 证书进行代码签名,您可能需要先移除隔离属性才能运行应用:
```bash
xattr -r -c /Applications/kairoa.app
```
此命令会移除 macOS 为下载的应用添加的扩展属性,允许您在没有 Gatekeeper 警告的情况下运行应用。
### Linux
应用程序会自动处理 Linux 系统上常见的显示问题。如果您仍然遇到白屏,可能是由于访问图形设备的权限不足导致的。
**自动处理:**
应用程序在启动时会自动设置 `WEBKIT_DISABLE_DMABUF_RENDERER=1` 来解决 NVIDIA GPU 与 WebKit2GTK 的兼容性问题。如果硬件加速失败,会自动回退到软件渲染。
**手动解决方法(如果自动处理不起作用):**
如果您仍然遇到问题,可以手动将您的用户添加到 `video` 和 `render` 组:
```bash
sudo usermod -a -G video,render $USER
```
将用户添加到这些组后,您需要注销并重新登录(或重启系统)才能使更改生效。
**替代方案:**
您也可以显式启用软件渲染来运行应用程序:
```bash
LIBGL_ALWAYS_SOFTWARE=1 ./kairoa
```
**注意:** 软件渲染可能会影响性能,但应该能解决显示问题。
## 开发
1. 克隆仓库:
```bash
git clone https://github.com/covoyage/kairoa.git
cd kairoa
```
2. 安装依赖:
```bash
npm install
```
3. 运行:
```bash
npm run tauri dev
```
## 贡献
欢迎贡献!请随时提交 Pull Request。
### 开发指南
1. Fork 仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开 Pull Request
### 代码规范
- 遵循 TypeScript 最佳实践
- 使用 Svelte 5 runes(`$state`、`$derived`、`$effect`)
- 遵循现有的代码风格和格式
- 为复杂逻辑添加注释
## 许可证
AGPL-3.0 License - 详情请参阅 [LICENSE](LICENSE) 文件。
## 致谢
- 使用 [Tauri](https://tauri.app/) 构建
- UI 使用 [SvelteKit](https://kit.svelte.dev/) 构建
- 图标来自 [Lucide](https://lucide.dev/)
- 样式使用 [Tailwind CSS](https://tailwindcss.com/)
## 支持
如果您遇到任何问题或有疑问,请在 GitHub 上提交 issue。
---
使用 ❤️ 和 Tauri + SvelteKit 制作