Commit Graph

12 Commits

Author SHA1 Message Date
Abner
188d4af85a feat: 实现多提供商验证码系统,支持 Cloudflare Turnstile 和 Google reCAPTCHA
- 新增 CaptchaManager 类,统一管理 Turnstile 和 reCAPTCHA 验证码的初始化和 token 管理
- 扩展 BFF 代理支持多验证码提供商,根据配置自动切换验证逻辑
- 新增公共配置端点,动态下发验证码提供商配置到前端
- 重构 API 管理器,统一处理验证码 token 的头部和载荷注入
- 更新 CSP 策略,支持两种验证码服务的域名和资源
- 保留原有 Turnstile 功能的同时,支持 reCAPTCHA 作为备选方案
- 提供灵活的配置选项,可通过环境变量控制提供商开关和强制验证
2025-11-24 19:03:43 +08:00
Abner
4a0fcc94fe feat: 重构Netlify Functions架构并增强代码质量
- 新增统一的中间件模块,提供鉴权、CORS和错误处理功能
- 重构所有Functions使用withAuth中间件简化代码结构
- 添加安全存储模块替代localStorage,防御XSS攻击
- 引入HTML清理工具,自动转义特殊字符和验证URL安全性
- 创建代码质量检查脚本,验证语法、环境变量和依赖完整性
- 添加构建日志工具和重构脚本,统一替换console.log为Logger
- 引入ESLint配置,提升代码质量和一致性
- 重构Giffgaff相关API,统一错误处理和验证逻辑
- 优化构建脚本,添加压缩和图片优化功能
- 新增健康检查端点,用于服务监控和状态报告
2025-11-23 22:20:02 +08:00
Abner
5a29e64ec7 feat: 重构部署流程并移除 Service Worker
- 新增部署工具脚本:添加 `build-static.js`、`deploy-prepare.js`、`deploy-analyze.js` 和 `test-deploy-config.js` 标准化构建部署流程
- 配置 Netlify 发布目录:修改 `netlify.toml` 将 `publish` 从根目录切换到 `dist` 目录以增强安全性
- 移除 Service Worker 相关代码:删除 `sw.js` 并清理相关注册逻辑,简化性能优化策略
- 增强服务器静态文件服务:重构静态资源中间件,增加环境检查和错误处理
- 改进 API 密钥处理逻辑:统一 Netlify Functions 的密钥验证流程,增加配置缺失提示
- 添加 Serena AI 配置文件:包含项目元数据、语言服务器设置和常用命令记忆
- 重构 HTML 页面路由:使用配置化的路由表替代硬编码路径,提高可维护性
2025-11-23 19:44:45 +08:00
Abner
157170c581 feat(simyo): 引入模块化架构并支持新旧版本路由切换
- 为 Simyo eSIM 页面新增模块化版本,保留原始版本作为备份
- 更新 Netlify 重定向规则,支持 `/simyo`(模块化)和 `/simyo-legacy`(原始版本)
- 在服务端新增对应路由处理,分别指向不同 HTML 文件
- 添加 MODULE_ARCHITECTURE.md 文档,详细说明模块分层结构与数据流
- 新增核心模块:api-config、auth-handler、device-change-handler、esim-service、state-manager
- 实现基于 ES6 模块系统的可维护架构,采用单例模式和观察者模式
- 支持设备更换流程、eSIM 获取与安装确认等完整业务逻辑
- 提供状态持久化与会话恢复机制,增强用户体验
2025-11-01 10:36:07 +08:00
Abner
0de9083f4b feat(giffgaff): 重构eSIM工具为模块化架构
将原有的单文件实现拆分为模块化结构,提升代码可维护性和扩展性。
新增模块包括状态管理、UI控制、认证处理和eSIM服务等。
同时保留原始版本作为备份,支持通过路由切换访问不同版本。

新增MODULE_ARCHITECTURE.md详细说明模块设计与数据流向。
更新README文档,提供模块化版本使用指南和开发建议。
调整Netlify和服务器路由配置,支持新版和旧版页面共存。
2025-10-31 23:30:45 +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
d1d440621e feat(security): 添加访问控制和身份验证机制 2025-08-11 00:31:51 +08:00
Abner
ecc0e66755 feat(giffgaff): 实现短信验证码一键激活功能
- 新增 giffgaff-sms-activate.js 函数,实现短信验证码激活流程
- 在前端集成短信激活功能,支持一键激活并获取 LPA
- 优化登录界面,增加 Cookie 登录方式
- 实现 Cookie 有效性定时检测,提高用户体验
2025-08-10 23:45:19 +08:00
Abner
ee034d3cb9 feat(giffgaff): 支持 PKCE 公有客户端和机密客户端的 OAuth 令牌交换
- 新增 giffgaff-token-exchange.js 函数处理 OAuth 令牌交换
- 增加对 PKCE 公有客户端和机密客户端的支持
- 优化令牌交换流程,支持可选的 Basic 认证
- 更新前端和后端的 OAuth 配置
2025-08-10 19:23:20 +08:00
Abner
f5a6ca01c1 fix: 修复Simyo登录API端点配置问题
- 修复API端点检测逻辑,正确识别cosr.eu.org域名
- 为server.js添加完整的Simyo API代理路由
- 修复createHeaders函数,确保本地环境也发送必要的API头部
- 统一本地和生产环境的API路径映射
- 解决404错误和JSON解析错误问题
2025-08-01 21:54:56 +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