jiesuo-link/appleid-unlock

Apple ID unlock and account sharing connector for V2Board, Xboard and SSPanel-UIM, with Laravel and Slim integration for Jiesuo.link V2 APIs.

Maintainers

Package info

github.com/AppleID-Unlock/appleid-panel-connector

Homepage

pkg:composer/jiesuo-link/appleid-unlock

Transparency log

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.1 2026-08-26 17:10 UTC

This package is auto-updated.

Last update: 2026-08-26 17:10:54 UTC


README

AppleID 托管,自动解锁 https://jiesuo.link

将 Jiesuo.link Apple ID 分享 API 接入 V2Board、Xboard 或 SSPanel-UIM,无需修改面板 Controller。支持独立账号页面,以及在原生教程/文档中注入 Apple ID 变量。

安装

推荐在面板项目根目录使用一键向导:

cd /path/to/your/panel
curl -fsSL https://raw.githubusercontent.com/AppleID-Unlock/appleid-panel-connector/main/install.sh \
  -o /tmp/jiesuo-appleid-install.sh
bash /tmp/jiesuo-appleid-install.sh --panel xboard

--panel 支持 v2boardxboardsspanel。向导会隐藏读取完整 APPLE_SHARE_API_URL;也可以使用 --api-url 传入,但 URL 可能留在 Shell 历史中。执行任何安装或配置写入前,向导会同时校验 Composer 包名和面板核心文件; 仅支持 wyx2685/v2boardcedar2025/Xboardanankke/sspanel-uim, 允许用户修改过的面板源码,但需保留原 Composer 包名和核心目录结构。项目无法识别或 --panel 类型不一致时会直接退出,不会修改当前项目。

手动安装时,在面板项目根目录执行:

composer require jiesuo-link/appleid-unlock:^0.1

配置 V2 API

配置后台生成的完整 API URL,Package 会自动识别以下接口:

/api/v2/share/appleid/{token}  单账号
/api/v2/share/group/{token}    账号组返回的账号
/api/v2/share/page/{token}     多账号分享页

V2Board / Xboard 写入 .env

APPLE_SHARE_ENABLED=true
APPLE_SHARE_API_URL=https://jiesuo.link/api/v2/share/page/replace-with-token
APPLE_SHARE_TITLE="Apple ID 获取页面"

API URL 包含分享 token,不要提交到 Git,也不要放进前端代码。API 设置了 IP 白名单 时,需要放行面板服务器的出口 IP。

V2Board / Xboard 接入

V2Board 与 Xboard 支持 Laravel Package Discovery,安装后无需注册 ServiceProvider。Package 已兼容经典 V2Board、wyx2685/v2boardcedar2025/Xboard 的用户鉴权方式,自动提供:

GET /api/v1/user/apple-share

该接口使用面板原有的 api,user 鉴权。可选限制允许访问独立页面的套餐:

# 留空表示所有有效套餐
APPLE_SHARE_V2BOARD_PLAN_IDS=1,2,3
APPLE_SHARE_V2BOARD_ALLOW_LIFETIME=true

V2Board / Xboard 的登录凭据位于 Authorization 请求头,前端按钮应通过主题现有的认证请求 方法获取 HTML,再写入新窗口:

async function openAppleShare() {
  const popup = window.open('about:blank', '_blank')
  if (!popup) return

  const response = await authenticatedRequest.get(
    '/api/v1/user/apple-share',
    { responseType: 'text' }
  )

  popup.document.open()
  popup.document.write(response.data)
  popup.document.close()
}

V2Board / Xboard 教程变量

教程正文可以直接使用:

{{appleId}}
{{appleIdPassword}}
{{appleIdUpdated}}
{{appleIdInterval}}

Package 会自动处理 /api/v1/user/knowledge/fetch 的教程响应,不需要修改 KnowledgeController。使用面板原生访问区块限制非订阅用户:

<!--access start-->
<p>账号:{{appleId}}</p>
<p>密码:{{appleIdPassword}}</p>
<!--access end-->

关闭教程变量注入:

APPLE_SHARE_V2BOARD_KNOWLEDGE_INJECTION=false

SSPanel-UIM 接入

安装 Package 后,在 app/routes.php 返回的路由闭包中增加:

\JiesuoLink\AppleIdPanelConnector\Bridge\SSPanel\SSPanelBridge::register(
    $app,
    new \App\Middleware\User()
);

在未纳入 Git 的 config/.config.php 中配置:

$_ENV['APPLE_SHARE_API_URL'] = 'https://jiesuo.link/api/v2/share/page/replace-with-token';

// 可选:限制允许访问独立页面的用户等级;留空表示任意有效等级
$_ENV['APPLE_SHARE_SSPANEL_CLASSES'] = '1,2,3';

然后在 Smarty 主题菜单中添加:

<a href="/user/apple-share">获取 Apple ID</a>

Package 注册的页面地址为:

GET /user/apple-share

SSPanel-UIM 文档变量

SSPanelBridge::register() 会自动为 /user/docs/{id}/view 注入同样的四个变量。 SSPanel-UIM 不支持 V2Board 的 <!--access start--> 标记;需要限制文档访问时,请在 管理后台启用 display_docs_only_for_paid_user

旧版 SSPanel-UIM 使用其他文档路径时可以配置:

APPLE_SHARE_SSPANEL_KNOWLEDGE_PATHS=/user/docs/*/view,/user/tutorial,/user/help

关闭文档变量注入:

APPLE_SHARE_SSPANEL_KNOWLEDGE_INJECTION=false

说明

  • page 接口返回多个账号时,独立页面显示全部账号,教程变量使用第一个账号。
  • 独立页面会检查面板用户资格;教程变量本身不额外检查套餐权限。
  • Package 由面板服务器请求 V2 API,分享 URL 和 token 不会返回给前端。