Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Only one folder is needed to detect all API functions

Notifications You must be signed in to change notification settings

sheepxux/API-Dot-Web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API-DOT

项目概述

API-DOT是一款纯HTML/JavaScript实现的API检测工具,专为开发人员设计,无需安装和外部依赖。只需将单个HTML文件放入项目目录并在浏览器中打开,即可自动扫描、分析项目中的API调用,并生成详细的可视化报告。该工具帮助团队快速识别潜在问题,提高API集成质量。

功能亮点

  • 零安装零配置:单个HTML文件,无需NPM、无需构建、无需配置
  • 文件系统访问:使用现代浏览器File System Access API直接读取项目文件
  • 全面API检测:支持多种前后端API调用模式自动识别
  • 智能问题诊断:检测API调用中的常见问题和安全漏洞
  • 交互式可视化报告:直观展示API健康状态和问题分布
  • 本地运行保隐私:所有分析在浏览器内完成,代码不离开您的电脑
  • 跨项目兼容:支持JavaScript、TypeScript、React、Vue等多种框架项目

详细功能

API调用检测

  • 自动识别多种HTTP客户端库调用
  • 检测RESTful和GraphQL API端点
  • 提取URL、请求方法、参数结构
  • 识别API版本和环境配置
  • 标记API调用位置和上下文

问题诊断

  • URL格式和有效性验证
  • HTTP vs HTTPS安全检查
  • 错误处理完整性分析
  • 硬编码API密钥和凭证检测
  • 参数验证和卫生检查
  • 认证配置检测
  • API版本不一致识别
  • 重复请求模式检测

报告功能

  • 总体API健康评分
  • 分类问题统计和严重性分级
  • 交互式API端点列表
  • 代码上下文查看
  • 问题修复建议
  • 自定义筛选和搜索

安装与使用

快速开始

  1. 从GitHub下载api-dot.html文件
  2. 将文件复制到您的项目根目录
  3. 使用支持的浏览器(推荐Chrome/Edge)打开该文件
  4. 点击界面上的"启动扫描"按钮
  5. 在弹出的文件选择器中,选择并授权访问您的项目文件夹
  6. 等待扫描和分析完成(大型项目可能需要几分钟)
  7. 查看生成的API健康报告

进阶配置

虽然API-DOT默认无需配置即可使用,但您可以通过界面调整以下选项:

  • 扫描深度:限制目录递归扫描的深度
  • 文件筛选:自定义要扫描的文件类型和扩展名
  • 排除路径:添加不需要扫描的目录路径
  • 检测灵敏度:调整问题诊断的严格程度

技术原理详解

核心技术栈

API-DOT基于多种现代Web技术实现:

  • File System Access API:安全访问本地文件系统
  • JavaScript模块系统:组织代码结构
  • 正则表达式引擎:识别API调用模式
  • 简化静态分析:执行基础代码分析
  • Canvas/SVG绘图:生成可视化图表
  • 响应式CSS:实现跨设备UI适配

工作流程

  1. 文件系统访问:获取用户授权并读取项目文件
  2. 文件过滤:根据文件类型和路径规则筛选相关文件
  3. 代码解析:读取文件内容并识别潜在API相关代码
  4. API检测:应用多种模式检测识别API调用和定义
  5. 健康分析:对每个API调用执行问题检测和诊断
  6. 报告生成:整合分析结果并构建交互式可视化报告

支持的API调用模式

前端HTTP客户端

// Fetch API
fetch('https://api.example.com/data')
  .then(response => response.json())

// Axios
axios.get('https://api.example.com/users')
axios.post('https://api.example.com/create', data)

// jQuery
$.ajax({
  url: 'https://api.example.com/products',
  method: 'GET'
})

// XMLHttpRequest
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/status');

后端HTTP客户端

// Node.js原生http
http.get('http://api.example.com/data', (res) => {})

// Request库
request('https://api.example.com/v1/items', (err, res, body) => {})

// Express路由定义
app.get('/api/users', (req, res) => {})
app.post('/api/users', (req, res) => {})

检测的问题类型

问题类别 严重性 检测示例
无效URL格式 错误 fetch('http:invalid-url')
HTTP明文传输 警告 fetch('http://api.example.com')
缺少错误处理 警告 fetch(url).then(r=>r.json())
硬编码API密钥 错误 headers: {'api-key': '1234567890'}
URL参数注入风险 警告 fetch('api.com/'+userInput)
重复API调用 提示 多处使用相同URL但不同参数

浏览器兼容性

浏览器 最低版本 状态 备注
Chrome 86+ ✅ 完全支持 推荐使用最新版本
Edge 86+ ✅ 完全支持 基于Chromium版本
Firefox 90+ ⚠️ 部分支持 需在about:config启用相关flag
Safari 15+ ❌ 有限支持 文件系统API支持不完整
Opera 72+ ✅ 支持 基于Chromium

限制和注意事项

  • 工具依赖现代浏览器API,旧版浏览器无法运行
  • 静态分析无法检测所有运行时或动态生成的API调用
  • 极大型项目(超过10,000个文件)可能导致浏览器性能问题
  • 复杂的代码模式和高度抽象的API调用可能检测不完整
  • 当前版本不支持远程API健康检查(仅静态分析)
  • 文件系统访问需要用户显式授权

示例报告输出

API健康总览:
------------------------
总API端点: 35
健康API: 24 (68.6%)  
警告API: 8 (22.9%)
错误API: 3 (8.5%)

常见问题统计:
------------------------
缺少错误处理: 5
使用HTTP非HTTPS: 3
无效URL格式: 2
硬编码API密钥: 1
参数验证不足: 2

API端点分布:
------------------------
内部API: 18
第三方API: 12
未知/其他: 5

常见问题解答

Q: 为什么选择单HTML文件格式而不是NPM包?
A: 我希望提供真正零依赖、即插即用的工具,无需任何安装步骤,降低使用门槛。

Q: API-DOT会将我的代码或API信息发送到任何服务器吗?
A: 绝对不会。所有分析都在您的浏览器中本地进行,不会向任何外部服务器发送数据。

Q: 如何处理大型项目的性能问题?
A: 使用扫描配置中的目录排除和深度限制选项,可以显著提高大型项目的扫描性能。

Q: 工具识别不了我的自定义API调用模式,怎么办?
A: 当前版本专注于常见模式。计划在未来版本中添加自定义模式支持。


开始使用API-DOT,只需下载单个文件夹,无需安装,即可获取项目API调用的全面分析!如有问题或反馈,请访问我们的GitHub页面。

About

Only one folder is needed to detect all API functions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published