jbouder/acolyte

GitHub: jbouder/acolyte

一款综合性的 Web 开发者工具箱,集 API 测试、安全分析、依赖扫描和常用开发工具于一体。

Stars: 5 | Forks: 0

Acolyte Logo

License Build Status GitHub Stars Latest Release Swagger Viewer

Acolyte 是一款综合性的 Web 应用程序,旨在协助开发者完成日常工作。无论您是在测试 API、分析应用程序,还是使用必要的开发工具,Acolyte 都能在一个强大且友好的界面中为您提供所需的一切工具。

功能特性技术栈快速开始使用指南贡献指南

## 功能特性 ### 🧪 API 测试 - **REST API 测试** - 针对 RESTful API 的综合测试工具,支持多种 HTTP 方法、自定义标头以及请求/响应验证 - **Server-Sent Events (SSE)** - 实时事件流测试与监控 - **WebSocket 测试** - 具有消息历史记录和连接状态监控的全双工通信测试 - **WebTransport 测试** - 针对低延迟应用程序的现代传输协议测试 ### 📊 分析工具 - **Web 统计** - 提供有关当前 Web 客户端的详细信息,包括 IP 地址、浏览器详情、位置和系统规格 - **网站分析** - 对 Web 应用程序进行深入分析,包括安全标头、性能指标和最佳实践 - **依赖分析** - package.json 分析,包含漏洞扫描、过期包检测和依赖树可视化 - **SBOM 报告** - 分析 SPDX JSON 格式的软件物料清单 (SBOM),提供详细的包信息、许可证跟踪和关系可视化 - **无障碍检查器** - 扫描网站的无障碍问题和 WCAG 合规性 ### 🔧 开发工具 - **Markdown 预览** - 具有语法高亮、GitHub Flavored Markdown 支持和导出功能的实时 Markdown 编辑器和预览 - **Mermaid 预览** - 创建和可视化 Mermaid 图表,支持实时预览,包括流程图、序列图等 - **Base64 编码/解码** - 在 Base64 编码之间转换文本和文件,支持多种格式 - **JSON 格式化** - 具有语法高亮和错误检测功能的 JSON 美化、验证和压缩 - **正则表达式测试器** - 通过实时匹配和解释来测试和调试正则表达式 - **颜色选择器** - 支持 HEX、RGB、HSL 和 HSV 色彩空间的高级颜色选择工具 - **JWT 解码器** - 解码和验证 JSON Web Token,支持标头和负载检查 - **Swagger 查看器** - 以按端点类别分组的、有条理的可读表格形式解析和显示 OpenAPI/Swagger 规范 - **开发者记事本** - 支持 Markdown 和本地存储的持久化笔记工具 ### 🎮 娱乐 - **贪吃蛇游戏** - 具有现代控制和计分系统的经典街机游戏 - **打砖块** - 具有基于物理的球体运动的砖块消除游戏 - **数独** - 具有多种难度级别的数字益智游戏 ## 技术栈 ### 前端 - **[Next.js 15.5.2](https://nextjs.org/)** - 使用 App Router 进行服务端渲染和路由的 React 框架 - **[React 19.1.0](https://react.dev/)** - 具有最新特性和性能改进的现代 React - **[TypeScript](https://www.typescriptlang.org/)** - 用于增强开发者体验的静态类型检查 - **[Tailwind CSS 4](https://tailwindcss.com/)** - 用于快速 UI 开发的实用优先 CSS 框架 - **[Shadcn/UI](https://ui.shadcn.com/)** - 高质量、可访问的组件库 ### 开发工具 - **[Jest](https://jestjs.io/)** - 具有全面测试覆盖率的 JavaScript 测试框架 - **[React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)** - 简单而完整的测试实用程序 - **[ESLint](https://eslint.org/)** - 用于一致代码质量的代码分析和代码检查 - **[Prettier](https://prettier.io/)** - 用于整个代码库风格一致的代码格式化 ### 存储与数据 - **[IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)** - 用于持久化数据的客户端存储 - **Local Storage** - 用于用户首选项和临时数据的浏览器存储 ## 前置条件 在运行 Acolyte 之前,请确保您已安装以下软件: - **Node.js** (版本 20.x 或更高) - **npm** (随 Node.js 附带) ## 快速开始 ### 安装 1. **克隆仓库** git clone https://github.com/jbouder/acolyte.git cd acolyte 2. **安装依赖** npm install 3. **启动开发服务器** npm run dev 4. **打开浏览器** 访问 [http://localhost:3000](http://localhost:3000) 查看应用程序。 ### 构建生产版本 创建优化的生产构建: ``` npm run build npm start ``` ## 部署 Acolyte 已针对 Vercel 和其他 Serverless 平台上的部署进行了优化。无障碍检查器功能使用与 Serverless 兼容的 Puppeteer 配置,可在以下平台上无缝运行: - **Vercel** (推荐) - **AWS Lambda** - **Netlify Functions** - **Google Cloud Functions** 有关详细的部署说明和故障排除,请参阅 [DEPLOYMENT.md](DEPLOYMENT.md)。 ### 快速部署到 Vercel [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/jbouder/acolyte) ## 使用指南 ### API 测试 1. 从主页导航到 **APIs** 部分 2. 为不同的端点创建多个请求标签页 3. 配置 HTTP 方法、标头和请求体 4. 发送请求并通过语法高亮分析响应 5. 保存并加载项目配置以供重用 ### 依赖分析 1. 从 Analysis 部分转到 **Dependency Analysis** 2. 将您的 `package.json` 内容粘贴到编辑器中 3. 点击 "Analyze Dependencies" 以获取以下方面的洞察: - 包总数和分类 - 安全漏洞 - 过期包 - 依赖树可视化 ### SBOM 报告 1. 从 Analysis 部分导航到 **SBOM Report** 2. 上传 SPDX JSON 文件或直接粘贴内容 3. 点击 "Analyze SBOM" 生成包含以下内容的综合报告: - SBOM 元数据和文档信息 - 包统计信息(包总数、许可证、供应商) - 包含版本和许可证的详细包列表 - 包关系和依赖项 4. 将报告下载为 JSON 或 TXT 格式以用于文档记录 ### 开发工具 - **JSON Formatter**: 粘贴 JSON 并获得格式化、经过验证的输出 - **Regex Tester**: 通过实时匹配针对示例文本测试模式 - **Markdown Preview**: 编写和预览 Markdown,支持实时渲染、语法高亮和导出选项 - **Base64 Tools**: 编码/解码文本和文件 - **Color Picker**: 选择颜色并获取多种格式的值 - **Swagger Viewer**: 上传或粘贴 OpenAPI/Swagger JSON 规范,以查看按颜色编码的 HTTP 方法组织在表格中的端点 ## 项目结构 ``` acolyte/ ├── app/ # Next.js App Router pages │ ├── api/ # API route handlers │ ├── accessibility-checker/# Accessibility scanning tool │ ├── apis/ # REST API testing interface │ ├── base64/ # Base64 encoding/decoding tool │ ├── color-picker/ # Color selection utility │ ├── dependency-analysis/# Package analysis tool │ ├── games/ # Browser games │ ├── json-formatter/ # JSON formatting utility │ ├── jwt/ # JWT decoder tool │ ├── markdown-preview/ # Markdown editor and preview tool │ ├── mermaid-preview/ # Mermaid diagram editor │ ├── notepad/ # Developer notepad │ ├── regex/ # Regular expression tester │ ├── sbom-report/ # SBOM analysis tool │ ├── sse/ # Server-Sent Events testing │ ├── swagger-viewer/ # OpenAPI/Swagger documentation viewer │ ├── web-stats/ # Website statistics analyzer │ ├── website-analysis/ # Website analysis tool │ ├── websockets/ # WebSocket testing interface │ └── webtransport/ # WebTransport testing tool ├── components/ # Reusable React components ├── lib/ # Utility functions and helpers ├── public/ # Static assets └── __tests__/ # Test files ``` ## 开发 ### 代码质量 Acolyte 通过全面的工具保持高代码质量标准: ``` # 运行所有 tests npm run test # Lint code 并自动修复 issues npm run lint # 使用 Prettier 格式化 code npm run format # 检查格式化而不进行更改 npm run format:ci # Lint code 不自动修复(CI mode) npm run lint:ci ``` ### 测试 该项目包含全面的测试覆盖: - **单元测试**: 测试单个组件和实用程序 - **集成测试**: 测试组件交互 - **覆盖率**: 82.65% 的语句覆盖率,79 个通过的测试 ### 贡献 我们欢迎对 Acolyte 的贡献!以下是您可以提供帮助的方式: 1. 在 GitHub 上 **Fork 仓库** 2. 从 `main` **创建功能分支** git checkout -b feature/your-feature-name 3. **进行更改** 并确保测试通过 4. **运行代码质量检查** npm run test npm run lint npm run format 5. 使用描述性信息 **提交更改** 6. **推送到您的 Fork** 并创建 Pull Request #### 开发准则 - 所有新代码使用 TypeScript - 遵循现有的代码风格(由 ESLint 和 Prettier 强制执行) - 为新功能和错误修复编写测试 - 使用语义化提交信息 - 添加新功能时更新文档 ### 架构决策 - **Next.js App Router**: 提供服务端渲染和改进的路由 - **TypeScript**: 确保类型安全和更好的开发者体验 - **Tailwind CSS**: 通过实用类实现快速 UI 开发 - **Jest + React Testing Library**: 全面的测试设置 - **基于组件的架构**: 促进可重用性和可维护性 ## 许可证 该项目采用 Apache License 2.0 许可 - 详情请参阅 [LICENSE.md](LICENSE.md) 文件。 ## 致谢 - 使用 [Next.js](https://nextjs.org/) 和 [React](https://react.dev/) 构建 - UI 组件来自 [Shadcn/UI](https://ui.shadcn.com/) - 图标来自 [Lucide React](https://lucide.dev/) - 使用 [Tailwind CSS](https://tailwindcss.com/) 进行样式设计

用 ❤️ 为开发者社区打造

标签:API文档, API测试, JSON, OpenAPI, REST API, SSE, Swagger Viewer, Syscall, WebSocket, Web开发, 依赖分析, 全栈, 前端工具, 威胁情报, 开发工具箱, 开发者工具, 接口调试, 测试工具, 网络协议分析, 自动化攻击