支持上传
PHP / ZIP
版本范围
PHP 5.5 - 8.5
加密策略
多版本兼容
📁 上传文件
📤
拖拽文件到这里,或点击选择
支持 .php 文件或 .zip 压缩包 (Max 50MB)
ZIP 自动识别 PHP上传后可继续补绑定结果包 24h 可下载
💡 使用说明
  • 文件支持:支持单个 .php 文件或 .zip 压缩包上传(Max 50MB)。
  • 版本选择:建议根据目标服务器环境勾选对应的 PHP 版本,支持多选以增强兼容性。
  • 环境绑定:通过“配置绑定选项”可限制域名、IP 或机器 ID,防止源码被非法分发。
  • 高级参数:可设置代码压缩等级、自定义头部代码以及错误处理逻辑。
  • 安全提示:加密后的结果包下载有效期为 24 小时,请及时下载并妥善保管。
⚙️ 加密设置

支持 PHP 5.5 - 8.5,可多选

这些文件将被编码为“自定义非PHP”模式,可通过 sg_load_file() 读取

当前变体:自定义
可一键套用竞品常见的试用、商用或内部交付工作流,然后继续微调绑定、许可证和高级参数。

会基于当前版本、绑定和许可证配置生成可复制的 CLI / CI 示例。

启用许可证
开启后使用已保存的配置进行加密
框架识别 & 安全扫描
上传文件后自动识别框架
💡 检测到框架代码,已自动跳过安全扫描以避免误报
Action Console
执行前检查与主操作
建议先完成环境预检,再发起支付或开始加密,减少 Loader、许可证和版本不匹配导致的返工。
Runtime Gate
当前环境预检状态
待检查
建议先执行环境预检,确认 Loader、许可证和 PHP 版本条件,再发起支付与加密。
尚未执行预检 支付前会自动复核 切换版本后建议重查
当前没有可复用的预检结果。
当前模式
许可证单独生成
交付动作
支持凭证与文件同屏完成
🏷️ 生成面板
🧭 使用建议
  • 推荐顺序:先生成项目凭证,再确认许可证文件名与高级配置,最后再导出许可证。
  • 交付场景:如果要把同一项目分发给不同客户,建议每个客户保留独立联系方式与许可证记录。
  • 文件命名:许可证文件名尽量和项目或客户名称有关,便于部署和回查。
  • 结果管理:生成后可立刻下载,也能回到许可证查询页按联系方式反查。
查询策略
精确联系方式回查
默认不暴露全量记录,只响应明确检索。
售后动作
详情复制与 JSON 导出
便于补发授权、排查绑定或交接存档。
查询入口按客户身份设计 邮箱、手机、QQ、微信分别覆盖交付、售后、续费和部署排查场景,适合让运营或客服直接上手。
联系方式维度 详情可导出 记录可复制
当前看板定位 这是授权回查台,不是列表浏览页。输入越准确,回查越快。
🔎 查询记录
Lookup Console
先确认联系方式类型,再做一次精确回查

当前前台不会默认展开全部许可证记录,适合售后、客服或交付同事直接按单个客户身份回到授权记录。

邮箱适合交付补发 手机适合支付回看 QQ / 微信适合售后沟通
第 1 / 1 页
📝 检索提示
推荐检索顺序 先核对客户留下的是邮箱还是手机号,再输入完整值,能明显减少空结果和误判。
详情适合做什么 查到记录后可复制参数、导出 JSON,并检查联系方式和授权信息是否完整。
  • 适合谁用:客服、售后、交付同事可按客户联系方式快速反查已生成许可证。
  • 查询原则:当前是精确匹配,不会在前台直接暴露全量记录。
  • 详情能力:进入详情后可以复制关键参数、导出该条 JSON,并查看联系方式是否完整。
订单链路
支付、加密、退款一页追踪
订单号、任务 ID、交易号和下载结果都能回到同一条记录。
查询维度
4 类联系方式回查
优先按付款时填写的联系方式做精确定位。
排查动作
时间线 + 下载结果 + 退款节点
更适合定位“已支付未交付”或退款争议。
日志页更像订单追踪台 每条记录都保留支付状态、加密任务、下载包和退款信息,适合把售后问题快速定位到订单级别。
订单号可复制 任务结果联动 退款路径清晰
建议排查顺序 先核对联系方式,再确认订单支付,再看任务时间线,最后判断是否需要补发下载包。
📚 订单日志检索
Trace Console
按付款联系方式定位订单,再沿时间线核对交付状态

这页更像订单排查台。先找到支付订单,再确认加密任务、结果包和退款节点是否都已经正确写回。

订单号可复制 任务 ID 可联动 退款时间线可复核
第 1 / 1 页
📌 排查指南
优先核对付款留资 如果用户反馈“查不到订单”,优先确认付款页填写的联系方式类型和值是否一致。
定位交付异常 建议先看支付状态,再看任务时间线,最后再判断是否需要补发下载结果。
  • 查不到日志:优先确认付款时填写的联系方式类型和值是否一致。
  • 已支付未取包:打开详情查看绑定时间线和下载结果是否已写回。
  • 退款争议:详情里会展示退款尝试与成功记录,适合快速核对。
版本
OpenAPI v1
统一入口位于 /openapi/v1。
认证方式
HMAC-SHA256
基于 API Key、时间戳、Nonce、Signature。
资源配套
测试页 + PHP SDK
便于快速联调和落地接入。
🧭 接入建议
  • 推荐顺序:先调用状态接口验证密钥,再接加密接口,最后接下载接口回收交付物。
  • 适用场景:第三方站点接入、SaaS 后台自动加密、企业内部交付流水线。
  • 排查重点:优先核对请求路径、时间戳过期、Nonce 重放和签名串顺序。
🧪 在线联调工作台
工作台待加载 新窗口打开
🔄 工作台联动说明
点击“同步当前 API Key”后,会把高级配置页中的 API 密钥和当前站点基础地址自动带入嵌入式测试页。工作台默认优先使用当前站点域名,不再依赖旧测试域名。
✍️ 签名辅助台
签名辅助待初始化
签名原串预览
待生成
请求头模板
待生成
🧭 签名使用建议
  • 先同步 API Key:优先沿用高级配置页里的 API Key,避免签名面板和联调工作台参数不一致。
  • 路径不要带域名:签名时只使用请求路径,通常是 /openapi/v1/status.php 这一类形式。
  • 下载接口先签路径:download 的查询参数单独拼在请求 URL 上,签名仍以 /openapi/v1/download.php 为准。
📎 当前站点基础地址
待同步
🗂️ 核心端点
POST /openapi/v1/encode.php上传并加密

支持 PHP 文件和 ZIP 包上传,返回 file_id、结果包信息和执行统计。

GET /openapi/v1/status.php状态检查

查询服务状态、密钥有效性和调用前置健康信息。

GET /openapi/v1/download.php结果下载

根据 file_id 拉取 ZIP 结果包,适合自动化交付链路回收成品。

🔐 鉴权速查
X-API-Key接口密钥
X-TimestampUnix 秒级时间戳
X-Nonce随机串,防重放
X-SignatureHMAC-SHA256 签名
基础路径
https://sg.rulewl.com/openapi/v1
签名串格式
API密钥 + 时间戳 + Nonce + 请求方法 + 请求路径
📋 一键复制模板
标准请求头模板
X-API-Key: sk_live_your_api_key
X-Timestamp: 1710000000
X-Nonce: 32位随机字符串
X-Signature: your_hmac_signature
Status 探活示例
curl -X GET "https://sg.rulewl.com/openapi/v1/status.php" \
  -H "X-API-Key: sk_live_your_api_key" \
  -H "X-Timestamp: 1710000000" \
  -H "X-Nonce: 32位随机字符串" \
  -H "X-Signature: your_hmac_signature"
🛠️ 推荐联调流程
01先用 status.php 探活,确认 API Key、时间戳和签名逻辑全部正确。
02切到 encode.php 上传一个最小示例文件,先验证单文件流程再扩展批量。
03记录返回的 file_id,并立即通过 download.php 走完整交付链路。
💡 实战建议
上线前把时间同步、随机串生成和错误日志输出做成独立组件,避免后续排查只能看接口失败提示。
基础路径
/openapi/v1
示例域名始终跟随当前站点输出。
签名窗口
300 秒
时间戳建议与 NTP 同步,超时会直接验签失败。
下载语义
单次回收
文件默认保留约 1 小时,但成功下载后会立即删除映射。
🚀 5 分钟接入流程
01先向设置页填入 API Key,确认服务端与客户端时间同步,再开始联调。
02用 GET /status.php 做探活,先验证请求头、时间戳、Nonce 和签名逻辑完全正确。
03改用 POST /encode.php 上传最小 PHP 文件或 ZIP,记录返回的 file_id、request_id 与 statistics。
04立即调用 GET /download.php?id=... 完成下载验证,避免把一次性文件留到错误排查阶段。
实战建议 把签名生成、请求日志、错误映射封装成独立模块。这样后续切换语言或扩展到多业务线时,不会重复踩签名与时间同步的问题。
🔐 鉴权与签名规则
X-API-Key接口密钥,同时也是 HMAC-SHA256 的签名密钥。
X-TimestampUnix 秒级时间戳,默认有效窗口为 300 秒。
X-Nonce建议使用 32 位十六进制随机串,每次请求唯一。
X-Signature签名原串为 API Key + 时间戳 + Nonce + Method + Path。
基础路径
https://sg.rulewl.com/openapi/v1
签名参与字段
1. API Key
2. Unix 时间戳
3. 32位 Nonce
4. HTTP Method
5. Request Path(仅路径,不含域名与查询串)
签名注意事项 下载接口虽然通过 query string 传 id,但参与签名的仍然只是 /openapi/v1/download.php,本身不包含 ?id=...。请求方法必须大写并与真实发起方法一致。
🧪 请求头与 Encode 示例
标准请求头模板
X-API-Key: sk_live_your_api_key
X-Timestamp: 1710000000
X-Nonce: 32位十六进制随机串
X-Signature: hash_hmac('sha256', sign_string, API_KEY)
Encode 请求示例
curl -X POST "https://sg.rulewl.com/openapi/v1/encode.php" \
  -H "X-API-Key: sk_live_your_api_key" \
  -H "X-Timestamp: 1710000000" \
  -H "X-Nonce: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \
  -H "X-Signature: your_hmac_signature" \
  -F "files[]=@/path/to/demo.php" \
  -F "php_versions=[\"8.5\"]" \
  -F "proj_id=myproject" \
  -F "project_key=your_project_key" \
  -F "skip_scan=false"
Encode 参数提醒 php_versions 在 multipart/form-data 中应按 JSON 数组字符串传入。支持上传 .php 与 .zip;ZIP 会在服务端解包并校验内容。
📡 Status 与 Download 示例
Status 探活示例
curl -X GET "https://sg.rulewl.com/openapi/v1/status.php" \
  -H "X-API-Key: sk_live_your_api_key" \
  -H "X-Timestamp: 1710000000" \
  -H "X-Nonce: 6f5e4d3c2b1a00998877665544332211" \
  -H "X-Signature: your_hmac_signature"
Download 示例
curl -X GET "https://sg.rulewl.com/openapi/v1/download.php?id=32位小写十六进制file_id" \
  -H "X-API-Key: sk_live_your_api_key" \
  -H "X-Timestamp: 1710000000" \
  -H "X-Nonce: 00112233445566778899aabbccddeeff" \
  -H "X-Signature: your_hmac_signature" \
  --output encrypted_result.zip
  • Status 用途:探测服务是否可用、当前 Key 是否有 encode、download、status 权限,以及剩余额度与支持版本。
  • Download 规则:id 必须是 32 位小写十六进制字符串;成功下载后,服务端会删除结果文件与映射记录。
  • 下载策略:若 encode 响应里已有 download_url,可用于便捷直达;业务侧若想统一鉴权与日志,建议仍以 file_id 调 download.php。
📋 端点与参数矩阵
端点 方法 关键参数 说明
/openapi/v1/status.php GET 无业务参数 返回服务状态、当前 Key 权限、频率限制、支持的 PHP 版本与上传限制。
/openapi/v1/encode.php POST files[]、php_versions、proj_id、project_key、copyright、external_file、skip_scan 支持多文件与 ZIP 上传;files[] 必填;php_versions 需传 JSON 数组字符串。
/openapi/v1/download.php GET id id 必填,格式必须为 32 位小写十六进制 file_id;成功后返回 ZIP 流并回收文件。
Encode 字段 是否必填 类型 说明
files[] File[] 支持 .php 与 .zip,多文件总量最多 50 个,总大小上限 50MB。
php_versions JSON Array 默认 ["8.5"],支持 5.3-8.5 的多个版本组合。
proj_id / project_key String 用于项目标识与项目密钥配置,适合业务侧做项目级隔离。
copyright / external_file / skip_scan String / Boolean 版权信息、外部入口配置与是否跳过安全扫描;skip_scan 默认 false。
🧾 响应结构与错误码
success布尔值,标识本次请求是否成功处理。
request_id服务端生成的请求跟踪号,报障和排查日志时优先提供。
message给调用方的结果说明,失败时通常会落到错误摘要。
data业务载荷。encode 返回 file_id、download_url、statistics;status 返回权限、频控和版本列表。
Encode 成功响应示例
{
  "success": true,
  "request_id": "req_xxxxxxxx",
  "message": "加密成功",
  "data": {
    "file_id": "32位小写十六进制file_id",
    "download_url": "当前部署返回的下载地址",
    "filename": "encrypted_20260409_120000.zip",
    "size": 12345,
    "size_formatted": "12.06 KB",
    "statistics": {
      "files_processed": 3,
      "files_encoded": 3,
      "php_versions": ["8.5"]
    }
  }
}
错误码 常见场景 排查建议
METHOD_NOT_ALLOWED 方法不匹配,例如对 encode 发 GET。 严格按 status/download 用 GET、encode 用 POST。
VALIDATION_ERROR / MISSING_PARAMETER 缺失 files[] 或 download 缺少 id。 先校验表单字段,再发起请求;下载时确保 id 已回传到客户端。
INVALID_PARAMETER file_id 不是 32 位小写十六进制,或字段格式不合法。 不要截断 file_id,php_versions 必须是合法 JSON 数组字符串。
FILE_NOT_FOUND / DOWNLOAD_ERROR 文件已被下载回收、已过期,或磁盘读取异常。 拿到 file_id 后尽快下载,并记录 request_id 便于服务端排查。
🧰 资源与 PHP 签名示例
最小签名代码
$timestamp = (string) time();
$nonce = bin2hex(random_bytes(16));
$method = 'POST';
$path = '/openapi/v1/encode.php';
$signString = $apiKey . $timestamp . $nonce . $method . $path;
$signature = hash_hmac('sha256', $signString, $apiKey);
签名密钥说明 当前接口实现里,HMAC 的 key 就是 API Key 本身,而不是另一套独立 secret。接入时不要把示例误写成 apiSecret。
✅ 上线前检查与常见问题
A服务端时钟与 NTP 保持同步,避免时间戳被判过期。
B日志中保留 request_id、请求路径、时间戳和签名原串摘要,但不要落 API Key 明文。
C下载链路要把一次性回收语义纳入客户端重试策略,避免用户二次点击时误判为系统故障。
  • 签名失败:优先核对请求方法是否大写、参与签名的 path 是否不含域名和 query string、时间戳是否过期。
  • 上传被拒:确认文件类型为 .php 或 .zip,总体积未超过 50MB,总文件数不超过 50。
  • 下载失败:确认 file_id 未被截断且此前未成功下载;若已超过保留时间,也会返回文件不存在。
项目默认值建议只放长期稳定的项目参数,避免每次加密重复录入。
版权与入口适合固定维护版权文案、入口脚本等部署层面的默认配置。
开放接口参数如果要接 OpenAPI,优先在这里统一 API Key,保持工作台和业务侧一致。
配置定位
项目级默认值控制台
更适合维护稳定参数,而不是临时客户信息。
联动范围
加密页 + API 联调页
这里填写的默认值可减少手工重复输入和联调偏差。
先把长期配置沉淀,再开始跑任务 项目密钥、版权信息、入口脚本和 API Key 都更适合在这里统一收口,这样首页和接口联调页就能直接复用。
项目级默认值 减少重复录入 联调更一致
不建议放什么 客户一次性的绑定信息、订单级参数或临时测试值,不建议写进这里长期保留。
🧩 项目参数
Control Center
把加密默认值、版权信息和开放接口参数集中收口

这一页更像底层参数控制台。优先维护项目级、长期有效的默认配置,首页执行任务时会更顺畅。

推荐维护项目级默认值 适合放稳定的项目密钥、版权文案和入口脚本,不建议混入客户一次性字段。
API Key 建议统一管理 如果要给合作方接入开放接口,这里统一维护能让联调页、SDK 和业务端保持一致。
📘 使用边界
适合长期维护 项目级默认值、统一版权文案、固定入口文件,都适合在这里长期保留。
适合临时调整的不要放这里 订单级参数、客户专属绑定值和短期测试密钥,建议放在任务流程里单独处理。
  • 项目密钥:适合作为项目级默认值,不建议混用客户私有参数。
  • 外部入口:如果你的项目有固定入口脚本,可以在这里统一维护。
  • API 密钥:更多用于外部合作站点或接口联调,前台普通使用通常不需要填写。
上手方式
先看流程,再选引擎
第一次使用时,先跑通最小任务链路,比一口气配完所有参数更稳。
支持路线
支付、授权、部署分开排查
支付看日志,授权看许可证,部署先核对引擎与 Loader。
帮助页现在更像操作路线图 如果是首次接入,建议按“选引擎、传文件、配参数、拿结果”顺序走一遍;如果是售后或交付,则可直接按问题类型跳转到对应页面。
首次接入 交付支持 售后排查
建议做法 第一次先用最小文件验证完整流程,确认引擎和下载链路都正常,再迁移正式项目。
📚 加密流程
01 先选引擎 根据部署环境决定使用 SG17、IC15 还是 Xend,先做对选型再配置参数。
02 上传最小示例 优先上传一个最小 PHP 文件或测试 ZIP,先验证链路,再上正式项目。
03 补充版本和绑定策略 根据目标服务器勾选 PHP 版本,并按交付需求补环境绑定或许可证配置。
04 下载并归档结果 结果包会保留有限时间,建议生成后立即下载并同步保存订单、授权和部署记录。
💡 常见问题
加密后为什么无法运行? 先核对目标服务器是否安装了对应 Loader,并确认你勾选的 PHP 版本和服务器实际版本一致。
想减少部署改造怎么办? Xend 不依赖额外扩展,适合优先追求上线速度和兼容性的项目。
结果包多久处理一次? 建议生成后立即下载并归档,同时保留订单号、任务 ID 和授权信息,方便后续补发或排查。
🧭 选型建议
SG17 适合商业授权、环境绑定和长期交付控制要求更强的场景。
Loader授权联动
IC15 适合本地工具链明确、希望更细控制编码器命令的团队。
本地编码器命令可控
Xend 适合希望快速上线、尽量减少服务器改造成本的项目。
免扩展部署友好
🚚 交付提醒
排查入口分流 支付问题去支付日志,授权记录去许可证查询,部署异常优先回到引擎和 Loader 检查。
建议保留的交付信息 订单号、任务 ID、联系方式和许可证文件,最好在交付后统一归档。
  • 下载时效:结果包保留时间有限,生成后建议立即下载并归档。
  • 许可证联动:如需售后可追溯,尽量在生成或上传时填写完整联系方式。
  • 排查路径:支付问题看支付日志,授权问题看许可证查询,部署问题先核对引擎与 Loader。