第 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 部署指南
- 基础安装:上传源码,设置运行目录为
/public。 - 伪静态设置:宝塔面板请选择
thinkphp规则。 - 开启 HTTPS:必须配置 SSL 证书,否则易能签内无法正常拉取图标及 IPA。
- 数据库配置:修改
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. 鸣谢与声明
- 原作者致谢:本项目基于宝塔
nsk_qnq_appstore原型进行适配开发。 - 开源说明:本项目仅供技术交流与学习使用,请勿用于任何形式的商业盈利行为。
- 免责声明:使用本源码产生的任何法律纠纷由使用者自行承担。
Generated with ❤️ by ESign Author (cc158999)