
如何免费自部署eSIM-ToolsNetlify上线全流程指南含环境变量与OAuth密钥配置详解【免费下载链接】eSIM-Tools专为已有 Giffgaff 和 Simyo 号码的用户设计的现代化 eSIM 管理工具集支持将物理 SIM 卡转换为 eSIM、设备更换和二维码生成。(A modern set of eSIM management tools designed specifically for users who already have Giffgaff and Simyo numbers, offering support for converting physical SIM cards to eSIMs, device replacements, and QR code generation.)项目地址: https://gitcode.com/gh_mirrors/es/eSIM-ToolseSIM-Tools是一款专为已有 Giffgaff 和 Simyo 号码用户设计的免费 eSIM 管理工具集支持将物理 SIM 卡转换为 eSIM、更换设备和生成激活二维码。本文将带你用 Netlify免费完成 eSIM-Tools 自部署从仓库克隆、构建配置到环境变量与 OAuth 密钥的详细设置全程无需服务器费用跟随步骤即可上线你自己的 eSIM 管理工具。项目简介eSIM-Tools 能做什么上线后的站点为两类用户提供完整流程Giffgaff 用户物理 SIM 转 eSIM、短信验证码全自动激活、生成 eSIM 二维码Simyo 用户设备更换、获取现有 eSIM、扫码在新设备安装整个转换流程通常1-2 分钟即可完成无需联系客服。项目采用「原生 JavaScript 前端 Netlify Serverless 后端」的 JAMstack 架构前端无框架依赖、打包体积小后端由 Netlify Functions业务逻辑与 Edge FunctionsBFF 代理组成非常适合免费额度自部署。自部署前的准备工作部署 eSIM-Tools 只需三样东西准备项要求说明Node.js 18.0.0本地构建、调试用npm 8.0.0安装项目依赖Netlify 账号免费注册即可免费套餐已包含 Functions 与 Edge Functions 额度 无需购买服务器、域名Netlify 会分配免费子域名也无需数据库。一键安装步骤把代码推上 Netlify第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/es/eSIM-Tools cd eSIM-Tools npm install第 2 步连接 Netlify 站点登录 Netlify 控制台选择Add new site → Import an existing project关联你克隆好的 Git 仓库或先在代码托管平台把仓库 Fork 到自己账号构建设置可以直接沿用仓库根目录 netlify.toml 的自动配置Build commandnpm run build --silentPublish directorydistFunctions 目录netlify/functionsEdge Functions 目录netlify/edge-functionsnetlify.toml 中还预置了路由重写规则/giffgaff、/simyo两个工具页、Simyo/Giffgaff API 代理、CORS 与安全响应头CSP、缓存策略等这些全部自动生效不需要手动修改。第 3 步等待首次部署完成首次部署约 2-4 分钟依赖安装 静态构建。构建脚本 scripts/build-static.js 会把静态资源拷贝并用 esbuild 按 browserslist 目标转译到dist/全程无需任何额外配置。环境变量配置详解核心eSIM-Tools 的 Serverless 函数依赖一组环境变量变量清单以 env.example 为模板。在 Netlify 控制台的Site settings → Environment variables中逐项添加变量必填说明ACCESS_KEY✅Functions 与 BFF 共享的访问密钥必须强随机openssl rand -hex 32生成禁止使用简单密码ALLOWED_ORIGIN✅CORS 允许来源填你部署后的站点地址如你的 Netlify 子域名GIFFGAFF_CLIENT_ID✅Giffgaff OAuth Client IDGIFFGAFF_CLIENT_SECRET✅Giffgaff OAuth Client Secret必须为 Base64 编码且长度 32 字符否则 token 交换会直接报 500GIFFGAFF_REDIRECT_URI建议默认giffgaff://auth/callback/只影响服务端token 交换SIMYO_CLIENT_TOKEN可选*启用 Simyo 代理时必填的客户端令牌CAPTCHA_PROVIDER否turnstile/recaptcha/off需配套填写对应的 Site/Secret KeySENTRY_DSN否Sentry 错误监控方便线上排错OAuth 密钥配置的两个常见坑GIFFGAFF_CLIENT_SECRET格式校验giffgaff-token-exchange.js 会校验密钥必须为合法 Base64 且不少于 32 字符任一不满足即返回 500 错误。如果密钥是明文请先做 Base64 编码再填入。GIFFGAFF_REDIRECT_URI只影响服务端该变量仅用于服务端 token 交换前端的授权跳转 URI 由 api-config.js 中的oauthConfig.redirectUri独立控制Netlify 环境变量不会自动改写前端授权 URL。两处默认值保持giffgaff://auth/callback/一致即可。 安全提示ACCESS_KEY与GIFFGAFF_CLIENT_SECRET属于敏感信息只放在 Netlify 环境变量中不要提交到代码仓库。本地开发可复制 env.example 为.env使用。部署后如何验证配置成功用健康检查接口自检项目内置了分层健康检查函数 health.js它会检查 4 个关键环境变量ACCESS_KEY、ALLOWED_ORIGIN、GIFFGAFF_CLIENT_ID、GIFFGAFF_CLIENT_SECRET是否齐全。访问你的站点域名/.netlify/functions/health返回结果中missing: 0表示关键变量全部配置完成若看到缺失数量大于 0回到环境变量面板补齐后重新部署即可。冒烟测试两条业务线打开/giffgaff选择登录方式走一遍 OAuth MFA 流程能拿到会员信息说明 OAuth 密钥配置正确打开/simyo输入账号登录能进入下一步说明SIMYO_CLIENT_TOKEN代理链路正常本地调试Netlify Dev 完整模拟修改函数或环境变量后推荐先用本地模拟环境验证避免反复触发线上部署npm run netlify-dev该命令会自动执行 prebuild 并通过 Netlify CLI 在localhost:8888完整模拟 Functions 与 Edge Functions含 BFF 代理 bff-proxy.js 的密钥注入链路。.env中填写的变量会同步生效。常见问题排查现象可能原因解决办法/bff/*返回 500 Server MisconfiguredACCESS_KEY未配置在 Netlify 环境变量中补齐后重新部署请求返回 403 ForbiddenALLOWED_ORIGIN与实际站点地址不匹配改为部署后的真实域名注意带https://Token 交换失败GIFFGAFF_CLIENT_SECRET非 Base64 或过短重新编码并确认长度 32 字符Simyo 登录失败未设置SIMYO_CLIENT_TOKEN该变量无默认回退必须显式配置更多函数级说明可参考 netlify/functions/CLAUDE.md 与 netlify/edge-functions/CLAUDE.md。总结步骤关键点1. 克隆仓库npm install后保持根目录的netlify.toml不改动2. 连接 Netlify构建命令npm run build发布目录dist或直接用 toml 自动配置3. 配置环境变量重点ACCESS_KEY强随机、ALLOWED_ORIGIN真实域名、OAuth 密钥Base644. 验证上线/.netlify/functions/health返回missing: 0再冒烟测试两条业务线按以上流程操作你只需几分钟就能免费拥有自己的 eSIM-Tools 实例。若后续要修改代码本地运行npm run netlify-dev验证后再推送即可自动重新部署。延伸阅读部署配置总览netlify.toml环境变量模板env.example本地部署脚本scripts/deploy.shGiffgaff 使用教程图文docs/User_Guide.md安全指南docs/SECURITY.md【免费下载链接】eSIM-Tools专为已有 Giffgaff 和 Simyo 号码的用户设计的现代化 eSIM 管理工具集支持将物理 SIM 卡转换为 eSIM、设备更换和二维码生成。(A modern set of eSIM management tools designed specifically for users who already have Giffgaff and Simyo numbers, offering support for converting physical SIM cards to eSIMs, device replacements, and QR code generation.)项目地址: https://gitcode.com/gh_mirrors/es/eSIM-Tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考