42 Commits

Author SHA1 Message Date
Abner
c754dca22f 📝 docs(readme): README 增加 GitHub FAQ Issue #88 链接 2026-08-06 14:26:06 +08:00
Abner
32987f7ace 📝 docs: 更新开发命令与文档链接,修复安全文档列表格式
- 将开发启动命令从 `npm start` 改为 `npm run dev`,使命令与实际脚本一致
- 替换技术参考文档链接:移除架构说明、Giffgaff/Simyo技术参考及CORS解决方案,新增通知系统指南和安全指南
- 更新开发者文档引用,引导用户查看新的通知系统和安全指南
- 修复 SECURITY.md 中已知漏洞修复项的列表格式,将 emoji 改为 `[x]` 复选框表示已完成
- 为 SECURITY.md 中 Helmet 示例补充 CommonJS 模块系统的注释说明
2026-06-26 21:48:03 +08:00
Abner
c8ea3005ab 🎨 style: 修复 README 列表中 emoji 前缀格式一致性
- 为 Giffgaff 和 Simyo 用户适用场景中的每个列表项统一添加 `- ` 前缀,使格式与同级内容保持一致
- 同步更新 `README.md` 和 `README_EN.md` 中英文版本的列表格式,确保同一结构在两份文档中完全对齐
- 移除之前两行之间的冗余空行合并,规范列表项间距,提升 Markdown 渲染兼容性
2026-06-14 14:37:11 +08:00
Abner
3c38176efd 📝 docs: 优化 README 文档结构与内容展示方式
- 将新用户优惠区块从文档末尾移至功能介绍下方,提升新用户引导的可见性和位置合理性
- 移除界面预览图片的 `<details>` 折叠包裹,改为直接展示,方便用户快速浏览项目界面
- 将语言切换链接从纯文本 emoji 改为带国旗图标的超链接形式,提升可点击性和视觉辨识度
- 精简数据安全 FAQ 描述,统一表述风格,使内容更加简洁清晰
- 调整许可证和免责声明部分的排版格式,增加贡献者公约章节,完善文档合规性
2026-06-13 22:29:20 +08:00
Abner
3eb8550631 📝 docs: 精简用户文档并移除冗余技术参考
- 精简 README.md/README_EN.md 技术架构部分(-74%)
  - 移除详细技术栈列表(Webpack、Babel、Jest 等)
  - 改为 6 个用户友好的特性卖点
  - 保留开发者文档引导链接
- 修复中英文切换链接(添加 ./ 前缀)
- 更新 docs/CLAUDE.md 文档索引(根据实际存在文件)
- 移除冗余技术参考文档
  - 删除 docs/ARCHITECTURE.md
  - 删除 docs/FUTURE_ARCHITECTURE.md
  - 删除 docs/reference/ 目录(4 个文件)
  - 删除 docs/guides/CORS_SOLUTION.md
  - 删除 docs/fixes/ 目录(3 个文件)

变更影响:
- 用户 README 更简洁,聚焦功能价值
- docs/ 目录仅保留必要的用户教程和开发者指南
- 文档定位更清晰(用户文档 vs 开发者文档)
2026-06-13 21:57:13 +08:00
Abner
4286069759 feat: 调整 Sentry 与 CSP 以满足更严格的安全策略
- 将内联 Sentry DSN 配置改为外链脚本(/src/js/sentry-config.js),避免 CSP 限制导致初始化失败
- 更新 index.html 的 Content-Security-Policy,新增脚本 hash 以允许必要的内嵌代码,同时保留对 Sentry/Google 等域的连接权限
- 移除 CSP 触发风险较高的 preload+onload 写法,改为直接加载 Bootstrap 与本地样式文件,确保样式在受限环境下可用
- README 与 README_EN 的语言切换入口顺序调整,统一中英文版本跳转位置以提升可读性
2026-06-13 21:13:54 +08:00
Abner
d9dfc73986 📝 docs: 全面更新和完善项目文档内容
- 简化 README.md 的标题和章节样式,移除冗余 emoji 图标,添加原生 ES6 模块架构说明,调整描述文字使其更简洁清晰
- 优化了四个语言版本的 QR Code API 文档(中英文 Giffgaff 和 Simyo),将原来的简单描述更新为详细的三级回退链说明,包含每个服务商的 5 超时机制和 LPA 字符串降级方案
- 在 docs/ARCHITECTURE.md 中新增模块依赖关系图和关键设计决策说明,补充 BFF 模式、无框架设计、中间件统一等架构要点
- 将英文用户指南中的视频和提示信息移至附录章节,改进文档阅读体验;删除中英文用户指南顶部的视频占位内容
- 修正 CORS_SOLUTION.md 中的脚本路径引用,添加 `scripts/` 前缀使其与实际文件结构一致
- 清理 SECURITY.md 中重复的 CSP 说明,精简为单条以 server.js 为基准的说明;在通知系统文档顶部增加快速摘要说明;在 CLAUDE.md 中补充缺失的 `cors.js` 相关文件引用
2026-06-02 00:03:12 +08:00
Abner
ad16472fad 📝 docs: 全面审查并修复项目文档质量
- 重构 ARCHITECTURE.md,拆分未来架构到独立文件,修复 TypeScript 伪代码
- 修正 CLAUDE.md 模块结构图路径与实际代码一致
- 统一 README 中英文版快速开始步骤,补充环境变量配置
- 修复 TOKEN_REFRESH_FIX.md 未声明变量错误
- 统一修复文档格式模板,更新 reference 文件引用路径
- 优化 CORS_SOLUTION.md 标题语义和安全建议
- 补充 SECURITY.md CSP 配置上下文说明
- 调整 User_Guide.md 视频位置,补充扫码安装步骤
2026-05-19 19:30:37 +08:00
Abner
500140cd1b feat: 添加 Netlify 徽章并引入贡献者公约
- 在页面底部添加 Netlify 部署徽章,包含悬停效果和无障碍访问支持
- 创建 CODE_OF_CONDUCT.md 文件,采用 Contributor Covenant 3.0 行为准则
- 更新英文 README 文件,添加行为准则链接说明
- 删除不再使用的 runtime-common.sh 脚本文件,简化项目结构
2026-05-19 10:28:41 +08:00
Abner
cde452b0c5 🔧 chore: 精简文档结构并更新启动与参考说明
- 删除过时的文档:COOKIE 登录设置指南、集成/性能改进汇总、项目总结、快速参考卡、服务时间检查说明及其修复记录,以及 CHANGES_OVERVIEW.txt
- 调整 docs/CLAUDE.md 的文档模块职责与目录规划,补充安全指南、开发指南与通知系统等指引入口
- 更新 README.md 的启动步骤描述,将“启动代理服务器”更正为“启动开发服务器”
- 更新参考文档中 MFA/激活流程表述:Giffgaff 将“邮件验证码”调整为“邮件/短信验证码”,并强调短信验证码自动激活(推荐);同时修正测试页面路径到 tests/ 目录
- 同步调整 Simyo 参考文档的测试页面路径到 tests/ 目录,保持目录结构一致
2026-05-17 23:49:44 +08:00
Abner
c3926b14eb 📝 docs: 修正误导性描述,明确工具仅支持已有用户 eSIM 设备更换 2026-05-17 21:57:13 +08:00
Abner
da56b1e07f feat: README 中英文文档添加头图
- README.md 添加 og-image.png 居中头图 (width=600)
- README_EN.md 添加 og-image.png 居中头图 (width=600)
2026-05-11 22:27:28 +08:00
Abner
14e2500a85 📝 docs: 更新项目文档和配置说明
- 更新 Jest 版本从 29.7.0 到 30.3.0,保持测试框架最新状态
- 修正文档链接,将性能说明指向 ARCHITECTURE.md 替代已废弃的 PERFORMANCE.md
- 新增 docs/CLAUDE.md 文档模块说明文件,明确文档结构和规范要求
- 删除过时的 REFACTORING_COMPLETE.md 文档,避免信息冗余
- 统一服务时间描述为英国时间 04:30–21:30,修正多处时间范围表述错误
2026-05-03 22:26:23 +08:00
Abner
2f87443ddc ♻️ refactor: 调整提交信息校验逻辑并增强运行时变量兜底保护
- 更新 commit-msg 校验脚本,移除 emoji 与 type 的强制配对要求,仅验证两者合法性
- 同步更新中英文 README 文档说明,明确 emoji 与 type 不再强制匹配
- 在 Simyo eSIM HTML 文件中添加全局变量兜底逻辑,防止 iOS WebView 因未定义 currentInset、CONFIG 导致崩溃
- 扩展 Sentry 错误过滤规则,新增对 currentInset 和 CONFIG 相关报错信息的忽略处理
2026-04-19 10:35:31 +08:00
Abner
a1fa26dc40 🔧 chore(hooks): 提交前同步远程并静默无效URL测试日志 2026-04-18 00:36:30 +08:00
Abner
01df53a9df 🔧 chore(hooks): 新增提交与推送质量门禁 2026-04-06 18:13:44 +08:00
Abner
fed9eddeff **Docs:** Add a Star Chart to the README. 2026-02-13 16:21:10 +08:00
Abner
1114719664 docs(readme): 更新中英文文档链接格式
移除重复的“图文及视频完整操作指南”描述,统一中英文文档链接展示方式。

feat(footer): 优化页脚版权信息样式并添加 GitHub 链接

将页脚内容改为使用 Flex 布局,居中对齐,并在右侧添加指向项目仓库的 GitHub 图标链接。
图标带有悬停颜色过渡效果,提升用户交互体验。
同时修复了模块末尾多余的空行问题。
2025-10-31 20:58:38 +08:00
Abner
83a4958d03 docs(readme): 添加英文版README并优化文档链接
新增 README_EN.md 英文档,支持国际化访问,并在中文 README 中添加英文版本跳转链接。
同时更新了文档中的用户指南和参考文档链接,补充对应的中英文对照,提升多语言使用体验。
2025-10-31 20:44:40 +08:00
Abner
e53b0ddc48 docs(readme): 添加Giffgaff 视频教程并更新相关描述 2025-10-29 23:53:14 +08:00
Abner
9acea1a14d docs(readme): 更新Giffgaff eSIM工具使用指南和激活流程说明
- 将MFA多因子验证扩展为支持邮件/短信验证码
- 新增推荐的全自动短信验证码激活方式
- 移除已于2025年10月8日停用的手动激活引导
- 补充完整的使用指南,包括Giffgaff和Simyo的申请流程
- 更新常见问题解答,适配新的激活方式
- 添加详细的文档链接和性能优化指南入口

同时更新了 docs/User_Guide.md 中的相关截图和操作步骤描述,
确保用户能够顺利使用最新的短信验证码激活功能。
2025-10-28 22:41:45 +08:00
Abner
1382463ab1 docs(README): 更新Giffgaff eSIM申请流程文档
移除文档中的内存引用链接,简化流程说明
将REFACTORING_COMPLETE.md文件移至docs目录下
2025-10-08 22:27:14 +08:00
Abner
996a60b703 docs(readme): 添加 Giffgaff 使用教程链接
新增指向 Giffgaff 使用教程文档的链接,方便用户查阅如何通过 eSIM Tools 网站
完成 giffgaff 的 eSIM 激活流程。

该教程包含从登录、MFA 认证、获取会员信息到最终激活 eSIM 的完整步骤说明,
并配有相关界面截图辅助理解操作流程。
2025-10-07 23:40:17 +08:00
Abner
25ba91e2ef docs(README): 更新项目文档和使用指南
- 优化了 README.md 的结构和内容,使其更加清晰和易于理解
- 添加了详细的使用指南和常见问题解答
- 更新了项目结构和开发流程说明
- 移除了冗余信息,精简了文档内容
2025-09-19 21:27:31 +08:00
Abner
576f574d29 feat: 更新品牌标识和版权年份
- 将品牌名称从 "eSIM工具集" 修改为 "eSIM Tools"
- 更新 GitHub 仓库地址和相关链接
- 添加自定义应用品牌与年份范围配置功能
- 实现统一版权页脚自动注入
- 优化部分页面结构和样式
2025-08-12 19:17:22 +08:00
Abner
dd27453c97 feat(qrcode): 更新二维码生成供应商并调整相关配置
- 将二维码生成供应商从 api.qrserver.com 更新为 qrcode.show
- 更新了相关文档、代码和测试中的二维码生成 URL
- 调整了内容安全策略(CSP)以允许新的二维码生成 URL
- 更新了 webpack 配置,为新的二维码生成 URL 添加缓存策略
2025-08-11 21:41:54 +08:00
Abner
5d19e0cc72 docs(README): 更新功能说明并添加界面预览
- 新增界面预览章节,展示主要页面功能截图
- 添加使用要点与近期变更说明
- 增设常见问题解答章节
- 移除 TODO 列表
- 添加复制控制台代码按钮
2025-08-11 18:45:44 +08:00
Abner
fdd5602012 docs(README): 更新功能特性描述并精简文档链接
- 移除 README.md 中的冗余信息和不必要的文档链接
- 删除 DEPLOYMENT_GUIDE.md 的引用
- 精简 SERVICE_TIME_CHECK.md 和 ICON_FIX.md 的内容
- 移除 CORS_SOLUTION.md 中的其他解决方案部分
2025-08-09 23:19:01 +08:00
Abner
251da627ad docs(security): 更新内容安全策略并移除冗余代码
- 更新内容安全策略以允许 Google Tag Manager
- 移除 verify_cookie.php 文件
- 优化 Service Worker 注册和缓存逻辑
- 更新时间检查逻辑以使用国际时区
- 调整 OAuth 2.0 PKCE 配置,移除前端的 clientSecret
2025-08-09 17:43:44 +08:00
Abner
f97d8339e4 feat(auth): 增加 OAuth 2.0 PKCE 令牌交换功能
- 新增 giffgaff-token-exchange.js 函数,用于交换 authorization code 和 access token
- 更新 verify-cookie.js 函数,增加对 cookie 中 access token 的提取和验证
- 修改 giffgaff-graphql.js、giffgaff-mfa-challenge.js 和 giffgaff-mfa-validation.js 函数,支持使用 access token 或 cookie 进行身份验证
- 更新 README.md 和 COOKIE_LOGIN_SETUP.md 文档,说明新的身份验证流程和安全注意事项
2025-08-09 14:39:29 +08:00
Abner
1f4dbfce83 docs(README): 更新项目徽标和信息 badges
- 添加项目徽标图片
- 增加 GitHub forks、issues、license、code size 和 last commit 等信息 badges
- 优化 README.md 的布局和视觉效果
2025-08-08 22:32:56 +08:00
Abner
ac0744c4d5 feat(performance): 优化性能并添加离线支持
- 新增 .babelrc 配置文件,使用 Babel 进行代码转换和压缩
- 添加 PERFORMANCE.md 文件,详细说明性能优化措施
- 在 README.md 中增加性能优化相关说明
- 更新 index.html,添加 Service Worker 注册和性能优化脚本
2025-08-05 22:33:56 +08:00
Abner
7e27a18941 feat: 添加 GitHub 按钮并优化界面样式
- 在首页和子页面头部加入 GitHub 按钮,链接到项目仓库
- 添加 GitHub 按钮的样式,包括悬停效果和响应式设计
- 调整头部按钮布局,增加间距和对齐
- 优化部分 CSS 样式,提高页面视觉效果
2025-08-05 11:11:22 +08:00
Abner
6e13ae95d2 docs(README): 添加 TODO 列表
- 新增 Giffgaff eSIM 激活流程自动化任务
- 添加技术改进和文档完善相关任务
- 优化用户使用指南和开发说明
2025-08-02 20:00:09 +08:00
Abner
b55b014c36 feat(giffgaff): implement manual eSIM activation flow and update documentation
- replace automatic SIM swap with manual activation process
- add eSIM information display with activation code and SSN
- include step-by-step manual activation guide and confirmation button
- update README and documentation to reflect new activation method
- add service time warning for Giffgaff's maintenance window
- remove outdated deployment options and simplify usage instructions
2025-08-02 17:07:41 +08:00
Abner
2f6ad0118b fix 许可证 2025-08-01 23:03:45 +08:00
Abner
2c3e30a078 refactor: 项目清理和文档现代化
- 更新README.md技术架构描述,强调Node.js + Netlify Functions架构
- 完全重写Cookie登录设置指南,移除PHP依赖说明
- 新增遗留PHP文件说明文档,明确文件状态和处理方式
- 更新前后端架构分析文档,反映当前Node.js架构
- 完善server.js,添加缺失的GraphQL代理函数引用
- 新增项目清理总结文档,详细记录架构升级过程
- 优化项目结构和文档组织,提高可维护性
- 确保所有文档与当前Node.js架构保持一致
2025-08-01 21:42:06 +08:00
Abner
ab8f0c05d8 🚀 Major upgrade: Convert to Node.js architecture with Netlify Functions
🔄 Complete Architecture Transformation:
- Migrated from PHP to Node.js backend
- Implemented Netlify Functions for serverless deployment
- Added Express.js server for local development
- Full compatibility with modern deployment platforms

🛠️ New Netlify Functions:
- giffgaff-mfa-challenge.js: Handles MFA email verification with proper headers
- giffgaff-mfa-validation.js: Processes MFA code validation
- verify-cookie.js: Cookie authentication converted from PHP to Node.js

 MFA 403 Error Resolution:
- Proper Origin and Referer headers in server-side requests
- Comprehensive error logging for debugging
- Timeout handling and robust error responses
- Should completely resolve MFA authentication issues

🍪 Enhanced Cookie Login:
- Full Node.js implementation replacing PHP dependency
- Works on all deployment platforms (Netlify, Vercel, traditional servers)
- Intelligent cookie parsing and validation
- Secure API calls with proper headers

�� Development Experience:
- package.json with all necessary dependencies
- Local development server (server.js)
- Environment configuration (env.example)
- Hot reload support with nodemon

🌐 Deployment Improvements:
- Netlify Functions integration
- Updated netlify.toml configuration
- Automatic dependency installation
- Zero-config deployment process

🎯 Key Benefits:
-  Resolves MFA 403 errors through proper server-side handling
-  Cookie login works on all platforms (no PHP dependency)
-  Better error handling and logging
-  Modern serverless architecture
-  Improved development experience
-  Full compatibility with static hosting platforms

📋 Technical Stack:
- Frontend: Pure HTML/CSS/JavaScript (unchanged)
- Backend: Node.js + Express.js (local) / Netlify Functions (production)
- Dependencies: axios, cors, helmet, morgan, dotenv
- Deployment: Netlify with automatic function deployment

This major upgrade modernizes the entire backend architecture while maintaining full frontend compatibility. The MFA 403 error should now be completely resolved through proper server-side request handling.
2025-08-01 21:03:25 +08:00
Abner
2cac231e01 🔧 Fix MFA 2025-08-01 20:14:30 +08:00
Abner
c5fbc34d0a 🏗️ Major project restructure and CSP fix
🔧 Fixed CSP Issue:
- Root cause: Netlify CSP configuration overriding HTML meta CSP
- Added missing domains: id.giffgaff.com, publicapi.giffgaff.com
- Updated netlify.toml CSP configuration
- This resolves the OAuth token exchange CSP violation

📁 Project Architecture Restructure:
- src/: Source code organized by provider (giffgaff/, simyo/)
- docs/: Documentation categorized (fixes/, guides/, reference/)
- tests/: All test files centralized
- scripts/: Deployment and utility scripts
- postman/: API collections and reference files

🔄 Path Updates:
- Updated netlify.toml redirects for new file locations
- Updated README.md with new project structure
- Updated all internal documentation links
- Maintained backward compatibility for all URLs

📋 Files Moved:
- giffgaff_complete_esim.html → src/giffgaff/
- simyo_complete_esim.html → src/simyo/
- simyo_static.html → src/simyo/
- simyo_proxy_server.js → src/simyo/
- All docs → docs/{fixes,guides,reference}/
- All tests → tests/
- All scripts → scripts/
- Postman collections → postman/

 Benefits:
- Improved maintainability and organization
- Better separation of concerns
- Enhanced developer experience
- Cleaner project structure following best practices
- Zero impact on user experience (all URLs preserved)

This major restructure sets foundation for better scalability and maintenance.
2025-08-01 19:28:03 +08:00
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
Abner
974b6034f3 🚀 Initial commit: eSIM Tools v1.0
 Features:
- Complete Giffgaff eSIM management with OAuth 2.0 PKCE
- Simyo eSIM tools with device switching support
- Netlify deployment ready with CORS proxy
- Responsive UI with Bootstrap 5
- Comprehensive testing suite
- Multi-language support (Chinese)

🔧 Technical:
- Node.js proxy server for CORS handling
- Environment-aware API endpoints
- Static deployment optimization
- Professional documentation

📦 Deployment:
- Netlify configuration included
- GitHub Actions ready
- Custom domain support
- HTTPS enabled
2025-08-01 18:42:54 +08:00