居家訓練網Rehab Trainer Hub

Developer Portal

居家練習遊戲開發與投稿

居家訓練網提供開放的遊戲平台架構。開發者可使用 jsPsych 8 開發 HTML/ZIP 居家練習遊戲, 經自動化掃描與人工審核後發布至平台,並支援使用者單獨安裝 PWA。

Portable package

遊戲封裝規格:一個 HTML,或包含資產的 ZIP

開發者可提交單一 HTML 檔案,或提交根目錄含有 index.html 的 ZIP 壓縮檔;圖片、音效、字型與程式碼都必須放在遊戲包內。

  • 檔案大小限制:上傳套件上限為 12 MB;解壓縮後總大小上限為 24 MB,單一檔案上限 8 MB。
  • ZIP 結構:必須直接以 index.html 為根目錄進入點,不得包在多層子資料夾內。
  • 流程與生命週期:遊戲必須使用 jsPsych 8 管理實驗流程與刺激呈現,並以 RunTrainerHubJsPsychGame() 啟動。
  • 平台 Runtime 引用:jsPsych 8.2.3 與 Game SDK 由隔離執行站固定提供,請直接引用 /runtime/jspsych-8.2.3.js/runtime/jspsych-8.2.3.css/runtime/trainerhub-game-sdk-0.1.0.js,請勿自行打包 vendor 庫。

程式碼安全規範與阻擋規則

  • 禁止混淆程式碼:投稿必須為未經混淆(Unobfuscated)的原始碼,單行不得超過 5000 字元,逃脫字元密度需低於 5%。
  • 阻斷外部通訊:禁止使用 fetchXMLHttpRequestWebSocketEventSourcesendBeaconWebRTC
  • 禁止憑證與導頁操作:禁止存取 document.cookiewindow.locationwindow.topwindow.open 或使用 eval / new Function
  • 禁止多執行緒與動態腳本:禁止註冊 ServiceWorker、建立 Worker / SharedWorker 或動態載入外部腳本。
  • 無個資蒐集:嚴格沙盒不開放相機、麥克風、定位或帳戶資料;請勿在遊戲中要求使用者輸入個資。

Security architecture

第三方遊戲的隔離與審核機制

  • 物理隔離(Separate Domain):核准的遊戲檔案在與帳戶平台完全獨立的網域(trainerhub-user-games.pages.dev)執行,完全無法讀取 trainerhub.cc 的 Cookie 或登入憑證。
  • 沙盒機制(Strict Iframe Sandbox):平台一律以 sandbox="allow-scripts" iframe 載入遊戲,絕不開放 allow-same-originallow-top-navigation
  • 阻斷外連 CSP:遊戲靜態檔案套用嚴格內容安全策略(connect-src 'none'; worker-src 'none'; form-action 'none'),防止資料外傳。
  • 安全通訊橋樑:遊戲透過 MessageChannel 私有通訊埠回傳非識別性的當次彙總結果,以 session nonce 與遞增序號防禦重放攻擊。
  • 自動掃描與人工審核:上傳時自動掃描 18 種危險 API;審核人員會在無憑證隔離環境試玩並查核原始碼,經 3 項查核確認後始可發布。

登入以開始投稿

請先點擊右上角的帳戶頭像進行登入。登入後即可在此上傳 HTML 或 ZIP 遊戲包、查看自動掃描結果與人工審核進度。