Files
eSIM-Tools/README.md
Abner 68faca8a56 Add static version and public service integration
🔧 Features Added:
- simyo_static.html: Static demo version for Netlify deployment
- Public service integration: esim.cosr.eu.org
- Enhanced routing: /simyo-static for demo version
- Updated main page with version selection options

📝 Documentation Updates:
- README.md: Added public service links and version comparison
- Clear distinction between full-featured and static versions
- CORS solution recommendations updated

�� Deployment Strategy:
- Full version: Complete API functionality with proxy
- Static version: UI preview with CORS limitations
- Public service: Recommended for end users

This addresses the Netlify static deployment limitations while providing users with multiple access options.
2025-08-01 18:53:17 +08:00

6.1 KiB
Raw Blame History

eSIM工具集 🚀

Netlify Status License: MIT

专为Giffgaff和Simyo用户设计的eSIM管理工具集支持完整的eSIM申请、设备更换和二维码生成流程。

功能特性

🔧 Giffgaff eSIM工具

  • OAuth 2.0 PKCE认证 - 安全的身份验证流程
  • MFA多因子验证 - 邮件验证码支持
  • GraphQL API集成 - 完整的API调用链
  • 自动二维码生成 - LPA格式激活码
  • 设备更换支持 - 完整的SIM卡更换流程

📱 Simyo eSIM工具

  • 简单登录验证 - 手机号+密码认证
  • 设备更换流程 - 支持验证码处理
  • 短信验证码 - 自动发送和验证
  • 一键二维码生成 - 即时生成可扫描二维码
  • 安装确认功能 - 确保eSIM正确激活

🌐 在线使用

🚀 公共服务(推荐)

  • 完整功能版本: https://esim.cosr.eu.org
    • 无CORS限制完整API功能
    • 支持所有eSIM操作
    • 定期更新维护

📱 静态部署版本

💰 优惠信息

新用户开卡可享受额外5欧元话费赠送立即开卡

🚀 本地部署

快速开始

  1. 克隆仓库

    git clone https://github.com/Silentely/esim-tools.git
    cd esim-tools
    
  2. 安装依赖

    npm install
    
  3. 启动代理服务器

    # Windows
    start_simyo_server.bat
    
    # macOS/Linux
    ./start_simyo_server.sh
    
    # 或手动启动
    npm start
    
  4. 访问应用

    http://localhost:3000
    

环境要求

  • Node.js >= 14.0.0
  • 现代浏览器Chrome 80+, Firefox 75+, Safari 13+, Edge 80+

📦 Netlify部署

自动部署

./deploy.sh

手动部署

  1. Fork此仓库
  2. Netlify中连接GitHub仓库
  3. 构建设置:
    • Build command: echo 'No build needed'
    • Publish directory: .
  4. 部署完成!

详细部署指南请参考 DEPLOYMENT_GUIDE.md

🔧 技术架构

前端技术栈

  • HTML5/CSS3 - 响应式设计
  • JavaScript ES6+ - 现代JavaScript特性
  • Bootstrap 5 - UI框架
  • Font Awesome - 图标库

后端代理

  • Node.js + Express - 代理服务器
  • CORS处理 - 跨域请求解决方案
  • API转发 - 透明代理到运营商API

部署平台

  • Netlify - 静态站点托管
  • GitHub Actions - 自动化部署(可选)
  • 自定义域名 - 支持HTTPS

📋 使用指南

Giffgaff eSIM申请流程

  1. OAuth登录 - 使用Giffgaff账户登录
  2. 邮件验证 - 输入收到的验证码
  3. 获取会员信息 - 验证账户状态
  4. 申请eSIM - 预留SIM卡并交换
  5. 生成二维码 - 获取LPA激活码

Simyo设备更换流程

  1. 登录账户 - 输入手机号和密码
  2. 选择更换类型 - 新申请或设备更换
  3. 验证码处理 - 短信或客服验证码
  4. 获取eSIM配置 - 生成新的激活码
  5. 扫码安装 - 在新设备上安装eSIM

详细使用说明:

⚠️ 重要说明

适用范围

  • Giffgaff: 英国用户专用
  • Simyo: 荷兰用户专用06开头手机号

安全提示

  • 所有数据处理均在本地进行
  • 不存储用户凭据信息
  • 建议在安全网络环境下使用

部署版本说明

🌟 公共服务版本 (esim.cosr.eu.org)

  • 优势: 完整功能无CORS限制即开即用
  • 适用: 普通用户日常使用
  • 特点: 定期维护更新,稳定可靠

🔧 完整部署版本 (simyo_complete_esim.html)

  • 优势: 所有API功能环境自适应
  • 适用: 自建服务,企业部署
  • 特点: 支持Netlify代理和本地代理服务器

👁️ 静态演示版本 (simyo_static.html)

  • 优势: 纯静态,快速预览界面
  • 适用: 功能演示,界面展示
  • 限制: 受CORS限制无法调用真实API

CORS解决方案

静态部署环境下通过以下方式解决跨域问题:

  1. 推荐: 使用公共服务 esim.cosr.eu.org
  2. Netlify代理重定向: 自动代理API请求
  3. 本地代理服务器: 运行Node.js代理
  4. 浏览器插件: 临时解决方案

详细解决方案请参考 CORS_SOLUTION.md

🧪 测试

运行测试

# 在浏览器中打开测试页面
open test_giffgaff_esim.html
open test_simyo_esim.html

测试覆盖

  • 单元测试 - 核心函数测试
  • 集成测试 - API调用测试
  • 端到端测试 - 完整流程测试
  • 性能测试 - 响应时间和内存使用

🤝 贡献指南

欢迎提交Issue和Pull Request

开发流程

  1. Fork仓库
  2. 创建功能分支
  3. 提交更改
  4. 创建Pull Request

代码规范

  • 使用ESLint进行代码检查
  • 遵循现有的代码风格
  • 添加必要的注释和文档

📄 许可证

本项目采用 MIT License 许可证。

🙏 致谢

  • 感谢Giffgaff和Simyo提供的API服务
  • 感谢开源社区的技术支持
  • 感谢所有贡献者和用户的反馈

📞 支持

如果您遇到问题或有建议,请:


免责声明: 本工具仅供个人使用,请遵守相关服务条款。使用本工具所产生的任何问题,作者不承担责任。