感谢您对住宅 IP 检测工具的关注!我们欢迎所有形式的贡献。
如果您发现了 Bug,请:
- 检查 Issues 是否已有相同问题
- 如果没有,创建新 Issue,包含:
- Bug 描述
- 复现步骤
- 预期行为
- 实际行为
- 截图(如果适用)
- 浏览器和操作系统信息
如果您有好的想法,请:
- 创建 Issue,标题以
[Feature Request]开头 - 详细描述功能需求和使用场景
- 等待社区讨论和反馈
-
Fork 仓库
# 点击页面右上角的 Fork 按钮 -
克隆到本地
git clone https://github.com/YOUR_USERNAME/residential-ip-checker.git cd residential-ip-checker -
创建分支
git checkout -b feature/your-feature-name # 或 git checkout -b fix/your-bug-fix -
进行修改
- 保持代码风格一致
- 添加必要的注释
- 测试您的更改
-
提交更改
git add . git commit -m "feat: add amazing feature" # 或 git commit -m "fix: resolve issue #123"
-
推送到 GitHub
git push origin feature/your-feature-name
-
创建 Pull Request
- 访问您的 Fork 仓库
- 点击 "New Pull Request"
- 填写 PR 描述
- 等待审核
- 使用语义化标签
- 保持良好的缩进(2 空格)
- 添加必要的注释
- 使用有意义的类名
- 遵循 BEM 命名规范(可选)
- 保持样式模块化
- 使用现代 ES6+ 语法
- 添加错误处理
- 函数命名清晰明确
- 添加必要的注释
/**
* 检测 IP 类型
* @param {string} org - ISP 组织名称
* @returns {object} IP 类型信息
*/
function detectIPType(org) {
const orgLower = org.toLowerCase();
// 数据中心关键词
const datacenterKeywords = ['google', 'amazon', 'microsoft'];
// 住宅 ISP 关键词
const residentialKeywords = ['comcast', 'att', 'verizon'];
if (datacenterKeywords.some(keyword => orgLower.includes(keyword))) {
return {
type: 'datacenter',
safe: false,
message: '数据中心 IP'
};
}
// ... 更多逻辑
}- 保持简洁、现代的设计风格
- 确保响应式设计(支持移动端)
- 使用一致的颜色方案
- 保持良好的可访问性(Accessibility)
在提交 PR 前,请确保:
- 在 Chrome、Firefox、Safari 中测试
- 在移动设备上测试
- 检查控制台无错误
- 验证所有链接可用
使用语义化的 commit 信息:
feat:新功能fix:Bug 修复docs:文档更新style:代码格式调整refactor:代码重构test:测试相关chore:构建/工具相关
示例:
feat: add batch IP checking feature
fix: resolve mobile layout issue
docs: update README with new examples
我们特别欢迎以下方面的贡献:
添加更多 ISP 关键词,特别是:
- 美国各州的地方 ISP
- 其他国家的住宅 ISP
- 移动运营商
示例:
const residentialKeywords = [
// 美国主要 ISP
'comcast', 'xfinity', 'att', 'verizon', 'cox',
// 添加更多...
'rcn', 'wow', 'mediacom', 'windstream',
// 其他国家
'bt', 'sky', 'virgin media', // 英国
'telstra', 'optus', // 澳大利亚
];改进 IP 类型判断逻辑:
- 更准确的关键词匹配
- 基于 ASN 的判断
- 机器学习模型(可选)
添加国际化支持:
- 英文(en)
- 日文(ja)
- 韩文(ko)
- 其他语言
- 批量 IP 检测
- IP 历史记录
- 导出检测报告
- API 接口
- 使用教程
- 最佳实践
- 常见问题(FAQ)
- 视频教程
有任何问题或想法?
- 加入 Discussions
- 提交 Issue
感谢所有贡献者!您的贡献让这个项目变得更好。
贡献的代码将采用 MIT License 开源。
再次感谢您的贡献!❤️