residential-ip-checker/
│
├── index.html # 主页面(核心文件)
├── README.md # 项目说明文档
├── LICENSE # MIT 开源协议
├── .gitignore # Git 忽略文件配置
│
├── QUICK_START.md # 快速开始指南
├── DEPLOYMENT.md # 详细部署指南
├── CONTRIBUTING.md # 贡献指南
├── PROJECT_STRUCTURE.md # 本文件
│
└── deploy.bat # Windows 一键部署脚本
- 作用:项目的唯一 HTML 文件,包含所有功能
- 技术栈:纯 HTML + CSS + JavaScript
- 特点:
- 无需构建工具
- 无外部依赖
- 可直接在浏览器打开
- 响应式设计
主要功能模块:
<!DOCTYPE html>
<html>
<head>
<!-- 元数据和样式 -->
<style>
/* 所有 CSS 样式 */
</style>
</head>
<body>
<!-- UI 界面 -->
<div class="container">
<!-- 加载动画 -->
<div id="loading">...</div>
<!-- 检测结果 -->
<div id="result">
<!-- IP 信息展示 -->
<!-- 使用建议 -->
<!-- 深度检测工具链接 -->
</div>
</div>
<!-- JavaScript 逻辑 -->
<script>
// IP 检测逻辑
// API 调用
// 结果展示
</script>
</body>
</html>- 作用:项目主文档
- 内容:
- 项目介绍
- 功能特点
- 使用方法
- 技术栈
- 贡献指南
- 作用:快速开始指南
- 适合:新手用户
- 内容:
- 3 步部署
- 基础使用
- 常见问题
- 作用:详细部署文档
- 适合:需要自定义部署的用户
- 内容:
- GitHub Pages 配置
- 自定义域名
- 性能优化
- 故障排除
- 作用:贡献者指南
- 内容:
- 如何贡献代码
- 代码规范
- 提交流程
- 优先贡献方向
- 作用:项目结构说明(本文件)
- 内容:
- 文件组织
- 代码架构
- 扩展指南
- 作用:开源协议
- 类型:MIT License
- 说明:允许自由使用、修改、分发
- 作用:Git 忽略文件配置
- 内容:
- 系统文件(.DS_Store, Thumbs.db)
- IDE 配置(.vscode, .idea)
- 临时文件
- 作用:Windows 一键部署脚本
- 功能:
- 初始化 Git 仓库
- 添加并提交文件
- 推送到 GitHub
- 使用:双击运行
<body>
└── <div class="container">
├── <h1> 标题
├── <p class="subtitle"> 副标题
├── <div id="loading"> 加载动画
└── <div id="result"> 结果展示
├── <div class="info-box"> IP 信息
├── <div class="recommendation"> 使用建议
├── <div class="links"> 工具链接
└── <div class="footer"> 页脚
/* 1. 全局样式 */
* { ... }
body { ... }
/* 2. 容器样式 */
.container { ... }
/* 3. 组件样式 */
.info-box { ... }
.status { ... }
.links { ... }
/* 4. 响应式设计 */
@media (max-width: 600px) { ... }// 1. 主函数
async function checkIP() {
// API 调用
// 数据处理
// UI 更新
}
// 2. IP 类型判断
function detectIPType(org) {
// 关键词匹配
// 类型判断
// 返回结果
}
// 3. 自动执行
checkIP();- 在 HTML 中添加显示区域:
<div class="info-row">
<span class="label">🆕 新维度</span>
<span class="value" id="new-dimension">-</span>
</div>- 在 JavaScript 中添加检测逻辑:
// 在 checkIP() 函数中
const newDimension = detectNewDimension(data);
document.getElementById('new-dimension').textContent = newDimension;- 添加检测函数:
function detectNewDimension(data) {
// 检测逻辑
return result;
}在 index.html 的 JavaScript 部分找到:
const residentialKeywords = [
'comcast', 'att', 'verizon', // 现有关键词
'new-isp-1', 'new-isp-2', // 添加新关键词
];- 添加 API 调用:
async function callNewAPI() {
const response = await fetch('https://api.example.com/check');
const data = await response.json();
return data;
}- 在主函数中使用:
async function checkIP() {
const ipinfoData = await fetch('https://ipinfo.io/json');
const newAPIData = await callNewAPI(); // 新 API
// 合并数据
// 更新 UI
}- 创建语言配置:
const i18n = {
'zh-CN': {
title: '住宅 IP 检测工具',
loading: '正在检测...',
},
'en-US': {
title: 'Residential IP Checker',
loading: 'Detecting...',
}
};- 使用语言配置:
const lang = navigator.language || 'zh-CN';
const t = i18n[lang] || i18n['zh-CN'];
document.querySelector('h1').textContent = t.title;- 文件大小:~15KB(未压缩)
- 加载时间:< 1 秒
- API 调用:1 次(IPinfo.io)
- 依赖:0
- 压缩代码:使用 HTMLMinifier
- 缓存 API 结果:使用 localStorage
- 懒加载:延迟加载非关键内容
- CDN 加速:使用 CDN 托管资源
- ✅ 纯前端实现,无后端风险
- ✅ HTTPS 传输(GitHub Pages 自动提供)
- ✅ 无用户数据存储
- ✅ 无第三方追踪
- 不要硬编码 API Key
- 使用 HTTPS API
- 验证用户输入(如果添加输入功能)
- 定期更新依赖
- 添加更多 ISP 数据库
- 优化移动端体验
- 添加暗黑模式
- 支持批量检测
- 多语言支持
- API 接口
- 浏览器扩展
- 移动应用
欢迎贡献代码!请参考 CONTRIBUTING.md。
项目维护者:开源社区 许可证:MIT License