第 4 篇 开发

ESign(易能签) 接口集成与加密适配指南

本文档提供给开发者用于通过浏览器或第三方 App 唤起 ESign 执行自动化操作,并包含最新的软件源加密适配方案。

ESign(易能签) 接口集成协议

本文档提供给开发者用于通过 Web 浏览器或第三方 App 唤起 ESign 并执行自动化操作,包含最新的软件源加密适配方案。


1. 快速添加软件源

用户点击链接后将直接跳转至 ESign(易能签) 并添加指定的 App 软件源。

  • 协议格式enq-app://source/[软件源URL]
  • 示例代码
    <a href="enq-app://source/https://ipa.yhios.cn/appstore">一键添加官方源</a>

2. 远程下载与安装 (兼容模式)

通过浏览器唤起 enq-app 访问特定网址。如果网址指向 .ipa 文件,enq-app 将自动触发下载任务。

  • 协议格式enq-app://install/[资源URL]
  • 示例代码
    <a href="enq-app://install/https://example.com/test.ipa">使用 enq-app 下载并导入至资源库内</a>

3. 快速导入证书 (开发中)

支持通过 URL 参数一键导入 P12 证书及配套的描述文件。

  • 协议格式enq-app://import-certificate?p12=[Base64]&mobileprovision=[Base64]&password=[Base64]

4. 软件源加密适配方案 (服务端)

为保护软件源数据不被恶意抓取,服务端需通过 User-Agent 识别特定参数校验 来动态决定是否启用加密。

4.1 修改位置

文件路径:/application/index/controller/App.php

4.2 逻辑实现

在获取基础配置后,添加以下适配代码:

// 找到这一行
$opencry = Db::name('config')->where(['name'=>'opencry'])->value('value');

// --- 易能签加密适配逻辑开始 ---
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$browser_signatures = [
    'Mozilla', 'Chrome', 'Safari', 'Firefox', 'Edge', 'Opera', 
    'MSIE', 'Trident', 'Gecko', 'WebKit', 'Presto', 'Blink',
    'OPR', 'Maxthon', 'UCBrowser', 'QQBrowser', '360Browser',
    'Brave', 'Vivaldi', 'SeaMonkey', 'Chromium'
];

$is_browser = false;
foreach($browser_signatures as $signature) {
    if(strpos($user_agent, $signature) !== false) {
        $is_browser = true;
        break;
    }
}

if($is_browser) {
    // 场景:普通浏览器访问,强制开启加密混淆
    $opencry = '1'; 
} elseif(isset($_GET['udid'])) {
    // 场景:ESign 客户端通过带参数请求,关闭加密,返回明文数据供 App 解析
    $opencry = '0'; 
}

5. NSK QNQ AppStore 软件源管理系统 (二开优化版)

本项目是 NSK QNQ AppStore 软件源管理系统 的二开优化版,适配 易能签 (ESign) 基于宝塔一键部署镜像 nsk_qnq_appstore 进行深度二次开发。旨在为易能签用户提供更极致、更原生的软件源托管体验。


5.1 项目特性

  • 🎨 深度适配易能签:由易能签作者亲自操刀,UI 交互逻辑完全匹配易能签 App。
  • 📰 新增 News 模块:完整支持易能签内的“新闻/公告”展示功能,支持图片、自定义主题色及点击跳转。
  • 🎨 全新 iOS 沉浸式 UI:基于 Tailwind CSS 重新设计,完美适配 iPhone/iPad 灵动岛及底部横条。
  • 性能优化:彻底移除远程更新检查逻辑,解决页面加载卡顿,确保私密性。
  • 📱 交互升级
    • 一键添加:支持 enq-app:// 协议,点击即刻跳转至易能签添加源。
    • 智能复制:集成防抖处理的地址复制功能。
    • 动态导航:自动显示/隐藏的“回到顶部”按钮。
  • 📦 自动分页:采用 Intersection Observer 技术,支持海量 App 平滑滚动加载。

5.2 环境要求

环境项目要求
PHP 版本7.0 (推荐)
运行目录/public
必须函数putenv (请在 PHP 禁用函数列表中删除此项)
伪静态ThinkPHP (必须设置)
安全传输必须开启 HTTPS/SSL

5.3 部署指南

  1. 基础安装:上传源码,设置运行目录为 /public
  2. 伪静态设置:宝塔面板请选择 thinkphp 规则。
  3. 开启 HTTPS:必须配置 SSL 证书,否则易能签内无法正常拉取图标及 IPA。
  4. 数据库配置:修改 application/database.php 中的数据库连接信息。

5.4 后台管理

  • 管理地址您的域名/FRKToHDckx.php
  • 初始账号admin
  • 初始密码123456

安全提醒:部署完成后,请务必第一时间登录后台修改默认管理员密码!


6. 开发须知

环境要求:必须在 iOS 设备上通过 Safari 或其他浏览器打开,且设备需预装 易能签 ESign。

HTTPS 强制:出于安全性考虑,所有传入的 URL 资源及加密传输必须支持 HTTPS 协议。

系统支持:协议已适配 iOS 16 - iOS 26.x 各个版本。


7. 关于易能签 (ESign)

易能签·ESign 是一款 iOS 免费签名工具,支持签名安装未上架 App Store 的内测应用程序。

  • 官方网站enqapp.com
  • 郑重声明:严禁使用本工具签名外挂、违规或侵权应用。

8. 鸣谢与声明

  1. 原作者致谢:本项目基于宝塔 nsk_qnq_appstore 原型进行适配开发。
  2. 开源说明:本项目仅供技术交流与学习使用,请勿用于任何形式的商业盈利行为。
  3. 免责声明:使用本源码产生的任何法律纠纷由使用者自行承担。

Generated with ❤️ by ESign Author (cc158999)