Repository: Hiram-Wong/zyfun Branch: main Commit: 6af6f2cab581 Files: 637 Total size: 7.4 MB Directory structure: gitextract_76v9j0zk/ ├── .editorconfig ├── .env.example ├── .git-blame-ignore-revs ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.zh-CN.yml │ │ └── feature-report.zh-CN.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── nightly-build.yml │ └── release.yml ├── .gitignore ├── .ncurc.yaml ├── .node-version ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc.yaml ├── .stylelintignore ├── .stylelintrc.yml ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ ├── mcp.json │ └── settings.json ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── ThirdPartyNotices.txt ├── build/ │ ├── entitlements.mac.inherit.plist │ ├── entitlements.mac.plist │ ├── icon.icns │ └── nsis-installer.nsh ├── commitlint.config.js ├── design/ │ ├── player.sketch │ └── video_platform.sketch ├── dev-app-update.yml ├── docs/ │ ├── Conventional_Commits.md │ ├── Develop.md │ ├── HarmonyOS_Electron.md │ ├── Loong_Electron.md │ └── Mcp.md ├── electron-builder.yml ├── electron.vite.config.ts ├── eslint.config.js ├── package.json ├── packages/ │ └── shared/ │ ├── config/ │ │ ├── appinfo.ts │ │ ├── cmsAction.ts │ │ ├── constant.ts │ │ ├── data.ts │ │ ├── dns.ts │ │ ├── env.ts │ │ ├── film.ts │ │ ├── ipcChannel.ts │ │ ├── live.ts │ │ ├── logger.ts │ │ ├── notification.ts │ │ ├── parse.ts │ │ ├── req.ts │ │ ├── setting.ts │ │ ├── shortcut.ts │ │ ├── tblSetting.ts │ │ ├── theme.ts │ │ ├── userAgent.ts │ │ ├── window.ts │ │ └── xmlOptions.ts │ ├── locales/ │ │ ├── index.ts │ │ └── lang/ │ │ ├── en-US/ │ │ │ ├── aigc.ts │ │ │ ├── common.ts │ │ │ ├── component.ts │ │ │ ├── index.ts │ │ │ ├── media.ts │ │ │ ├── pages/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── binary-help.md │ │ │ │ │ ├── custom-player.md │ │ │ │ │ ├── disclaimer.md │ │ │ │ │ ├── lab-edit-help.md │ │ │ │ │ ├── live-epg.md │ │ │ │ │ └── live-logo.md │ │ │ │ ├── browser.ts │ │ │ │ ├── film.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lab.ts │ │ │ │ ├── live.ts │ │ │ │ ├── md.ts │ │ │ │ ├── moment.ts │ │ │ │ ├── parse.ts │ │ │ │ ├── player.ts │ │ │ │ ├── plugin.ts │ │ │ │ └── setting.ts │ │ │ └── system.ts │ │ ├── zh-CN/ │ │ │ ├── aigc.ts │ │ │ ├── common.ts │ │ │ ├── component.ts │ │ │ ├── index.ts │ │ │ ├── media.ts │ │ │ ├── pages/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── binary-help.md │ │ │ │ │ ├── custom-player.md │ │ │ │ │ ├── disclaimer.md │ │ │ │ │ ├── lab-edit-help.md │ │ │ │ │ ├── live-epg.md │ │ │ │ │ └── live-logo.md │ │ │ │ ├── browser.ts │ │ │ │ ├── film.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lab.ts │ │ │ │ ├── live.ts │ │ │ │ ├── md.ts │ │ │ │ ├── moment.ts │ │ │ │ ├── parse.ts │ │ │ │ ├── player.ts │ │ │ │ ├── plugin.ts │ │ │ │ └── setting.ts │ │ │ └── system.ts │ │ └── zh-TW/ │ │ ├── aigc.ts │ │ ├── common.ts │ │ ├── component.ts │ │ ├── index.ts │ │ ├── media.ts │ │ ├── pages/ │ │ │ ├── assets/ │ │ │ │ ├── binary-help.md │ │ │ │ ├── custom-player.md │ │ │ │ ├── disclaimer.md │ │ │ │ ├── lab-edit-help.md │ │ │ │ ├── live-epg.md │ │ │ │ └── live-logo.md │ │ │ ├── browser.ts │ │ │ ├── film.ts │ │ │ ├── index.ts │ │ │ ├── lab.ts │ │ │ ├── live.ts │ │ │ ├── md.ts │ │ │ ├── moment.ts │ │ │ ├── parse.ts │ │ │ ├── player.ts │ │ │ ├── plugin.ts │ │ │ └── setting.ts │ │ └── system.ts │ ├── modules/ │ │ ├── __tests__/ │ │ │ ├── camelcase.test.ts │ │ │ ├── headers.test.ts │ │ │ ├── obj.test.ts │ │ │ └── validate.test.ts │ │ ├── cache.ts │ │ ├── camelcase.ts │ │ ├── crypto/ │ │ │ ├── core/ │ │ │ │ ├── base.ts │ │ │ │ ├── encode.ts │ │ │ │ ├── encrypt/ │ │ │ │ │ ├── aes.ts │ │ │ │ │ ├── crypto.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── rsa.ts │ │ │ │ │ └── sm.ts │ │ │ │ └── mac.ts │ │ │ ├── index.ts │ │ │ ├── modules/ │ │ │ │ └── atob-btoa.ts │ │ │ ├── type.ts │ │ │ └── utils/ │ │ │ ├── base.ts │ │ │ ├── forge.ts │ │ │ └── wordArray.ts │ │ ├── date.ts │ │ ├── function.ts │ │ ├── headers.ts │ │ ├── ip.ts │ │ ├── lrucache.ts │ │ ├── obj.ts │ │ ├── request/ │ │ │ ├── axios/ │ │ │ │ ├── Axios.ts │ │ │ │ ├── AxiosCancel.ts │ │ │ │ └── AxiosTransform.ts │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── sse/ │ │ │ │ ├── Sse.ts │ │ │ │ ├── SseCancel.ts │ │ │ │ └── SseTransform.ts │ │ │ ├── type.ts │ │ │ ├── utils.ts │ │ │ └── ws/ │ │ │ ├── Ws.ts │ │ │ ├── WsCancel.ts │ │ │ └── WsTransform.ts │ │ ├── schedule.ts │ │ ├── singleton.ts │ │ ├── size.ts │ │ ├── toString.ts │ │ ├── validate.ts │ │ └── zip/ │ │ ├── 7z.ts │ │ ├── gz.ts │ │ ├── index.ts │ │ ├── tgz.ts │ │ └── zip.ts │ └── types/ │ ├── barrage.ts │ ├── cms.ts │ ├── common.ts │ ├── db.ts │ ├── sift.ts │ └── systeminfo.ts ├── patches/ │ ├── @oplayer-core-npm-1.2.38-beta.2-66bf7d6252.patch │ ├── @oplayer-torrent-npm-1.2.25-beta.2-6efddccea2.patch │ ├── artplayer@5.4.0.patch │ ├── atomically-npm-1.7.0-e742e5293b.patch │ ├── dplayer@1.32.7.patch │ ├── electron-devtools-installer-npm-4.0.0-ea55a28d94.patch │ ├── electron-updater-npm-6.7.0-47b11bb0d4.patch │ ├── file-stream-rotator-npm-0.6.1-eab45fb13d.patch │ ├── libsql-npm-0.4.7-444e260fb1.patch │ └── shaka-player-npm-4.13.0-5e61f852f3.patch ├── pnpm-workspace.yaml ├── resources/ │ ├── scripts/ │ │ ├── download.js │ │ ├── install-bun.js │ │ ├── install-ffmpeg.js │ │ ├── install-ffprobe.js │ │ └── install-uv.js │ ├── t3Catopen/ │ │ ├── cat.js │ │ ├── crypto-js.js │ │ ├── http.js │ │ ├── mod.js │ │ ├── similarity.js │ │ ├── sortName.js │ │ └── spider.js │ └── t3PyBase/ │ ├── __tests__/ │ │ ├── demo.py │ │ ├── logger.py │ │ └── test.py │ ├── base/ │ │ ├── htmlParser.py │ │ └── spider.py │ ├── main.py │ ├── pyproject.toml │ └── requirements.txt ├── scripts/ │ ├── after-pack.js │ ├── artifact-build-completed.js │ ├── before-pack.js │ ├── generate-changelog.js │ ├── generate-license.js │ ├── minidump.js │ ├── notarize.js │ ├── version.js │ └── win-sign.js ├── src/ │ ├── main/ │ │ ├── electron.d.ts │ │ ├── env.d.ts │ │ ├── index.ts │ │ ├── ipc.ts │ │ ├── services/ │ │ │ ├── AppLocale.ts │ │ │ ├── AppService.ts │ │ │ ├── AppUpdater.ts │ │ │ ├── BinaryService.ts │ │ │ ├── CdpElectron.ts │ │ │ ├── ConfigManager.ts │ │ │ ├── ContextMenu.ts │ │ │ ├── DbService/ │ │ │ │ ├── crud/ │ │ │ │ │ ├── analyze.ts │ │ │ │ │ ├── channel.ts │ │ │ │ │ ├── history.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── iptv.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── setting.ts │ │ │ │ │ ├── site.ts │ │ │ │ │ └── star.ts │ │ │ │ ├── index.ts │ │ │ │ ├── migrations/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── migrate-3_3_1.ts │ │ │ │ │ ├── migrate-3_3_10.ts │ │ │ │ │ ├── migrate-3_3_2.ts │ │ │ │ │ ├── migrate-3_3_4.ts │ │ │ │ │ ├── migrate-3_3_5.ts │ │ │ │ │ ├── migrate-3_3_7.ts │ │ │ │ │ ├── migrate-3_3_8.ts │ │ │ │ │ ├── migrate-3_3_9.ts │ │ │ │ │ ├── migrate-3_4_0.ts │ │ │ │ │ └── migrate-3_4_1.ts │ │ │ │ └── schemas/ │ │ │ │ ├── analyze.ts │ │ │ │ ├── channel.ts │ │ │ │ ├── history.ts │ │ │ │ ├── index.ts │ │ │ │ ├── iptv.ts │ │ │ │ ├── plugin.ts │ │ │ │ ├── setting.ts │ │ │ │ ├── site.ts │ │ │ │ └── star.ts │ │ │ ├── FFmpegService.ts │ │ │ ├── FastifyService/ │ │ │ │ ├── fastify.d.ts │ │ │ │ ├── index.ts │ │ │ │ ├── routes/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── v0/ │ │ │ │ │ │ └── proxy/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── v1/ │ │ │ │ │ ├── aigc/ │ │ │ │ │ │ ├── chat.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── memory.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── chat.ts │ │ │ │ │ │ └── memory.ts │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── cloud.ts │ │ │ │ │ │ ├── db.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── data.ts │ │ │ │ │ ├── file/ │ │ │ │ │ │ ├── film.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── manage.ts │ │ │ │ │ ├── film/ │ │ │ │ │ │ ├── cms/ │ │ │ │ │ │ │ ├── adapter/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── t0Xml.ts │ │ │ │ │ │ │ │ ├── t1Json.ts │ │ │ │ │ │ │ │ ├── t3Alist.ts │ │ │ │ │ │ │ │ ├── t3AppGet.ts │ │ │ │ │ │ │ │ ├── t3AppYsV2.ts │ │ │ │ │ │ │ │ ├── t3Catopen/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── inject.ts │ │ │ │ │ │ │ │ │ └── worker.ts │ │ │ │ │ │ │ │ ├── t3Drpy/ │ │ │ │ │ │ │ │ │ ├── decrypt.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── inject.ts │ │ │ │ │ │ │ │ │ ├── templates.ts │ │ │ │ │ │ │ │ │ └── worker.ts │ │ │ │ │ │ │ │ ├── t3Py.ts │ │ │ │ │ │ │ │ ├── t3Xbpq/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── methods.ts │ │ │ │ │ │ │ │ │ └── rule.ts │ │ │ │ │ │ │ │ ├── t3Xyq.ts │ │ │ │ │ │ │ │ ├── t4Catvod.ts │ │ │ │ │ │ │ │ ├── t4DrpyJs0.ts │ │ │ │ │ │ │ │ └── t4Drpys.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── cache.ts │ │ │ │ │ │ │ └── cms.ts │ │ │ │ │ │ ├── edit/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── sift.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── rec/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── barrage.ts │ │ │ │ │ │ │ ├── douban.ts │ │ │ │ │ │ │ └── hot.ts │ │ │ │ │ │ └── site.ts │ │ │ │ │ ├── live/ │ │ │ │ │ │ ├── channel.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── iptv.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── channel.ts │ │ │ │ │ │ └── epg.ts │ │ │ │ │ ├── moment/ │ │ │ │ │ │ ├── history.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── moment.ts │ │ │ │ │ │ └── star.ts │ │ │ │ │ ├── parse/ │ │ │ │ │ │ ├── analyze.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── parse.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── mediaDirect.ts │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── setting/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── system/ │ │ │ │ │ ├── binary.ts │ │ │ │ │ ├── cdp.ts │ │ │ │ │ ├── ffmpeg.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── other.ts │ │ │ │ │ ├── process.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── m3u8.ts │ │ │ │ │ └── sniffer.ts │ │ │ │ └── schemas/ │ │ │ │ ├── base.ts │ │ │ │ ├── v0/ │ │ │ │ │ └── proxy.ts │ │ │ │ └── v1/ │ │ │ │ ├── aigc/ │ │ │ │ │ ├── chat.ts │ │ │ │ │ └── memory.ts │ │ │ │ ├── data/ │ │ │ │ │ ├── cloud.ts │ │ │ │ │ └── db.ts │ │ │ │ ├── file/ │ │ │ │ │ ├── film.ts │ │ │ │ │ └── manage.ts │ │ │ │ ├── flim/ │ │ │ │ │ ├── cms.ts │ │ │ │ │ ├── edit.ts │ │ │ │ │ ├── rec.ts │ │ │ │ │ └── site.ts │ │ │ │ ├── live/ │ │ │ │ │ ├── channel.ts │ │ │ │ │ └── iptv.ts │ │ │ │ ├── moment/ │ │ │ │ │ ├── history.ts │ │ │ │ │ ├── moment.ts │ │ │ │ │ └── star.ts │ │ │ │ ├── parse/ │ │ │ │ │ ├── analyze.ts │ │ │ │ │ └── parse.ts │ │ │ │ ├── plugin.ts │ │ │ │ ├── setting.ts │ │ │ │ └── system/ │ │ │ │ ├── binary.ts │ │ │ │ ├── cdp.ts │ │ │ │ ├── ffmpeg.ts │ │ │ │ ├── other.ts │ │ │ │ └── process.ts │ │ │ ├── FileStorage.ts │ │ │ ├── LoggerService.ts │ │ │ ├── MenuService.ts │ │ │ ├── NotificationService.ts │ │ │ ├── PluginService.ts │ │ │ ├── ProtocolClient.ts │ │ │ ├── ProxyManager.ts │ │ │ ├── PythonService.ts │ │ │ ├── ShortcutService.ts │ │ │ ├── StorageService/ │ │ │ │ ├── ICloudStorage.ts │ │ │ │ ├── WebdavStorage.ts │ │ │ │ └── index.ts │ │ │ ├── ThemeService.ts │ │ │ ├── TrayService.ts │ │ │ ├── WebviewService.ts │ │ │ ├── WindowService.ts │ │ │ └── __tests__/ │ │ │ └── ProxyManager.test.ts │ │ ├── types/ │ │ │ ├── argv.ts │ │ │ ├── server.ts │ │ │ └── tvbox.ts │ │ └── utils/ │ │ ├── argv.ts │ │ ├── file.ts │ │ ├── hiker/ │ │ │ ├── baseSpider.ts │ │ │ ├── crypto.ts │ │ │ ├── htmlParser.ts │ │ │ ├── index.ts │ │ │ ├── inject.ts │ │ │ ├── jinja.ts │ │ │ ├── local.ts │ │ │ ├── proxy.ts │ │ │ ├── request/ │ │ │ │ ├── asyncAxios.ts │ │ │ │ ├── syncFetch.ts │ │ │ │ └── syncRequest.ts │ │ │ ├── ruleParse.ts │ │ │ ├── similarity.ts │ │ │ └── ua.ts │ │ ├── ip.ts │ │ ├── path.ts │ │ ├── process.ts │ │ ├── request/ │ │ │ └── index.ts │ │ ├── shell.ts │ │ ├── systeminfo.ts │ │ └── tool.ts │ ├── preload/ │ │ ├── index.ts │ │ ├── preload.d.ts │ │ └── utils/ │ │ ├── dom.ts │ │ └── loading.ts │ └── renderer/ │ ├── index.html │ └── src/ │ ├── App.vue │ ├── api/ │ │ ├── aigc.ts │ │ ├── data.ts │ │ ├── film.ts │ │ ├── live.ts │ │ ├── moment.ts │ │ ├── parse.ts │ │ ├── plugin.ts │ │ ├── proxy.ts │ │ ├── setting.ts │ │ └── system.ts │ ├── components/ │ │ ├── action/ │ │ │ ├── components/ │ │ │ │ ├── ActionSection.vue │ │ │ │ ├── BrowserActionSection.vue │ │ │ │ ├── FormActionSection.vue │ │ │ │ ├── HelpActionSection.vue │ │ │ │ └── MsgBoxActionSection.vue │ │ │ ├── index.vue │ │ │ └── utils.ts │ │ ├── aigc/ │ │ │ └── index.vue │ │ ├── code-editor/ │ │ │ ├── index.ts │ │ │ └── src/ │ │ │ ├── code-editor-types.ts │ │ │ ├── code-editor.less │ │ │ ├── code-editor.tsx │ │ │ ├── composables/ │ │ │ │ ├── use-code-editor-hooks.ts │ │ │ │ └── use-code-editor.ts │ │ │ └── themes/ │ │ │ ├── code-dark.ts │ │ │ ├── code-light.ts │ │ │ └── index.ts │ │ ├── common-nav/ │ │ │ └── index.vue │ │ ├── dialog-document/ │ │ │ └── index.vue │ │ ├── group-btn/ │ │ │ └── index.vue │ │ ├── input-req/ │ │ │ ├── index.vue │ │ │ └── utils.ts │ │ ├── input-shortcut/ │ │ │ └── index.vue │ │ ├── lazy-bg/ │ │ │ └── index.vue │ │ ├── multi-player/ │ │ │ ├── CHANGELOG.md │ │ │ ├── README.md │ │ │ ├── global.d.ts │ │ │ ├── index.ts │ │ │ └── src/ │ │ │ ├── assets/ │ │ │ │ └── css/ │ │ │ │ └── index.less │ │ │ ├── core/ │ │ │ │ ├── artplayer/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── index.css │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── playNext.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── dplayer/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── index.css │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── nplayer/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── index.css │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── locales/ │ │ │ │ │ │ └── zh-tw.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── pip.ts │ │ │ │ │ │ └── playNext.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── oplayer/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── index.css │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── locales/ │ │ │ │ │ │ └── zh-tw.ts │ │ │ │ │ └── types.ts │ │ │ │ └── xgplayer/ │ │ │ │ ├── css/ │ │ │ │ │ └── index.css │ │ │ │ ├── index.ts │ │ │ │ ├── plugins/ │ │ │ │ │ ├── danmuSend.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── playNext.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils/ │ │ │ │ └── index.ts │ │ │ ├── multi-player.tsx │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── static.ts │ │ │ ├── storage.ts │ │ │ ├── stream-decoder.ts │ │ │ └── tool.ts │ │ ├── play-show/ │ │ │ └── index.vue │ │ ├── quick-menu/ │ │ │ ├── components/ │ │ │ │ ├── Ai.vue │ │ │ │ ├── Lab.vue │ │ │ │ ├── Language.vue │ │ │ │ ├── Setting.vue │ │ │ │ ├── Sponsor.vue │ │ │ │ └── Theme.vue │ │ │ └── index.vue │ │ ├── render-icon/ │ │ │ └── index.vue │ │ ├── render-markdown/ │ │ │ └── index.vue │ │ ├── router-control/ │ │ │ └── index.vue │ │ ├── search-panel/ │ │ │ └── index.vue │ │ ├── setting-table/ │ │ │ ├── index.vue │ │ │ └── types.ts │ │ ├── share/ │ │ │ ├── index.vue │ │ │ └── types.ts │ │ ├── system-control/ │ │ │ └── index.vue │ │ ├── tag-nav/ │ │ │ └── index.vue │ │ ├── terminal/ │ │ │ └── index.vue │ │ ├── title-menu/ │ │ │ ├── index.less │ │ │ └── index.vue │ │ └── webview/ │ │ └── index.vue │ ├── config/ │ │ ├── aigc.ts │ │ ├── browser.ts │ │ ├── emitterChannel.ts │ │ ├── global.ts │ │ ├── hot.ts │ │ ├── parse.ts │ │ ├── player.ts │ │ └── setting.ts │ ├── layouts/ │ │ ├── components/ │ │ │ ├── Content.vue │ │ │ ├── Header.vue │ │ │ ├── LayoutContent.vue │ │ │ ├── LayoutHeader.vue │ │ │ ├── LayoutSideNav.vue │ │ │ └── SideNav.vue │ │ └── index.vue │ ├── locales/ │ │ ├── index.ts │ │ └── useLocale.ts │ ├── main.ts │ ├── pages/ │ │ ├── Disclaimer.vue │ │ ├── browser/ │ │ │ └── index.vue │ │ ├── film/ │ │ │ ├── components/ │ │ │ │ └── DialogDetail.vue │ │ │ └── index.vue │ │ ├── lab/ │ │ │ ├── components/ │ │ │ │ ├── crypto/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── encode.vue │ │ │ │ │ │ ├── encrypt.vue │ │ │ │ │ │ └── hash.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── diff/ │ │ │ │ │ └── index.vue │ │ │ │ ├── edit/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── DialogTemplate.vue │ │ │ │ │ ├── index.vue │ │ │ │ │ └── utils/ │ │ │ │ │ ├── comm.ts │ │ │ │ │ ├── config.ts │ │ │ │ │ ├── inject/ │ │ │ │ │ │ └── 7/ │ │ │ │ │ │ ├── extraLib.d.ts │ │ │ │ │ │ └── suggestions.ts │ │ │ │ │ └── log.ts │ │ │ │ ├── extension/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── env/ │ │ │ │ │ │ │ └── index.vue │ │ │ │ │ │ └── plugin/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── DialogDetail.vue │ │ │ │ │ │ │ └── DialogInstall.vue │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ └── index.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── player/ │ │ │ │ │ └── index.vue │ │ │ │ ├── sift/ │ │ │ │ │ └── index.vue │ │ │ │ └── sniffer/ │ │ │ │ └── index.vue │ │ │ └── index.vue │ │ ├── live/ │ │ │ └── index.vue │ │ ├── moment/ │ │ │ ├── components/ │ │ │ │ ├── history/ │ │ │ │ │ └── index.vue │ │ │ │ └── star/ │ │ │ │ └── index.vue │ │ │ └── index.vue │ │ ├── parse/ │ │ │ └── index.vue │ │ ├── player/ │ │ │ ├── components/ │ │ │ │ ├── AsideFilm.vue │ │ │ │ ├── AsideLive.vue │ │ │ │ ├── AsideParse.vue │ │ │ │ ├── DialogDownload.vue │ │ │ │ ├── DialogSetting.vue │ │ │ │ └── Header.vue │ │ │ └── index.vue │ │ ├── setting/ │ │ │ ├── components/ │ │ │ │ ├── base/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── DialogBarrage.vue │ │ │ │ │ │ ├── DialogDns.vue │ │ │ │ │ │ ├── DialogProxy.vue │ │ │ │ │ │ ├── DialogSniffer.vue │ │ │ │ │ │ ├── DialogUa.vue │ │ │ │ │ │ └── DialogUpdate.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── data/ │ │ │ │ │ └── index.vue │ │ │ │ ├── film/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── DialogForm.vue │ │ │ │ │ ├── constants.ts │ │ │ │ │ └── index.vue │ │ │ │ ├── live/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── DialogForm.vue │ │ │ │ │ ├── constants.ts │ │ │ │ │ └── index.vue │ │ │ │ └── parse/ │ │ │ │ ├── components/ │ │ │ │ │ └── DialogForm.vue │ │ │ │ ├── constants.ts │ │ │ │ └── index.vue │ │ │ └── index.vue │ │ └── test/ │ │ ├── components/ │ │ │ ├── action/ │ │ │ │ └── index.vue │ │ │ ├── demo/ │ │ │ │ └── index.vue │ │ │ ├── editor/ │ │ │ │ └── index.vue │ │ │ ├── player/ │ │ │ │ └── index.vue │ │ │ └── webview/ │ │ │ └── index.vue │ │ └── index.vue │ ├── router/ │ │ ├── index.ts │ │ └── modules/ │ │ └── homepage.ts │ ├── store/ │ │ ├── index.ts │ │ └── modules/ │ │ ├── browser.ts │ │ ├── player.ts │ │ └── setting.ts │ ├── style/ │ │ ├── base.less │ │ ├── browser.less │ │ ├── font-family.less │ │ ├── index.less │ │ ├── layout.less │ │ ├── normalize.less │ │ ├── player.less │ │ ├── theme.less │ │ └── variables.less │ ├── types/ │ │ ├── globals.d.ts │ │ ├── interface.d.ts │ │ ├── player.ts │ │ └── vue-virtual-scroller.d.ts │ └── utils/ │ ├── console.ts │ ├── emitter.ts │ ├── logger.ts │ ├── ospy.ts │ ├── request/ │ │ ├── api.ts │ │ ├── index.ts │ │ ├── normal.ts │ │ ├── sse.ts │ │ └── ws.ts │ ├── setup.ts │ ├── systeminfo.ts │ ├── tool.ts │ └── vitalsObserver.ts ├── tests/ │ ├── __mocks__/ │ │ ├── MainLoggerService.ts │ │ └── RendererLoggerService.ts │ ├── main.setup.ts │ └── renderer.setup.ts ├── tsconfig.json ├── tsconfig.node.json ├── tsconfig.web.json └── vitest.config.ts ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ # @see: http://editorconfig.org # top-most EditorConfig file root = true # Tab indentation [*] indent_style = space end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [*.{ts,js,vue,css}] indent_size = 2 # The indent size used in the `package.json` file cannot be changed # https://github.com/npm/npm/pull/3180#issuecomment-16336516 [*.{yml,yaml,json}] indent_style = space indent_size = 2 ================================================ FILE: .env.example ================================================ ELECTRON_WEB_SERVER_PORT = 42710 ELECTRON_DEV_NETEASE_API_PORT = 30001 VITE_API_PORT = 9978 VITE_API_URL = http://127.0.0.1:9978 VITE_API_URL_PREFIX = /api VITE_MAIN_BUNDLE_ID = com.github.zyfun ================================================ FILE: .git-blame-ignore-revs ================================================ ================================================ FILE: .gitattributes ================================================ * text=auto eol=lf LICENSE.txt eol=crlf ThirdPartyNotices.txt eol=crlf *.bat eol=crlf *.cmd eol=crlf *.ps1 eol=lf *.sh eol=lf *.rtf -text **/*.json linguist-language=jsonc /.yarn/** linguist-vendored /.yarn/releases/* binary ================================================ FILE: .github/FUNDING.yml ================================================ ko_fi: hiramwong custom: [https://ifdian.net/a/hiram] ================================================ FILE: .github/ISSUE_TEMPLATE/bug-report.zh-CN.yml ================================================ name: 反馈 Bug description: 通过 github 模板进行 Bug 反馈。 title: '[组件名称] 描述问题的标题' body: - type: markdown attributes: value: | # 欢迎你的参与 Issue 列表接受 bug 报告或是新功能请求。 在发布一个 Issue 前,请确保: - 在 [旧Issue列表](https://github.com/Hiram-Wong/zyfun/issues?q=is%3Aissue) 中搜索过你的问题。(你的问题可能已有人提出,也可能已在最新版本中被修正) - 如果你发现一个已经关闭的旧 Issue 在最新版本中仍然存在,不要在旧 Issue 下面留言,请建一个新的 issue。 - type: input id: version attributes: label: zyfun 版本 description: 请检查在最新项目版本中能否重现此 issue。 placeholder: 请填写 validations: required: true - type: textarea id: reproduceSteps attributes: label: 重现步骤 description: 请清晰的描述重现该 Issue 的步骤,这能帮助我们快速定位问题。没有清晰重现步骤将不会被修复,标有 'need reproduction' 的 Issue 在 7 天内不提供相关步骤,将被关闭。 placeholder: 请填写 validations: required: true - type: textarea id: errorMessage attributes: label: 报错信息 description: F12, 重新复现后, 复制控制台报错信息。 placeholder: 请填写 - type: textarea id: expect attributes: label: 期望结果 placeholder: 请填写 - type: textarea id: actual attributes: label: 实际结果 placeholder: 请填写 - type: input id: systemInfo attributes: label: 系统信息 placeholder: MacOS(11.2.3)系统 M1芯片 arm64架构 - type: textarea id: remarks attributes: label: 补充说明 description: 可以是遇到这个 bug 的业务场景、上下文等信息。 placeholder: 请填写 ================================================ FILE: .github/ISSUE_TEMPLATE/feature-report.zh-CN.yml ================================================ name: 反馈新功能 description: 通过 github 模板进行新功能反馈。 title: '[组件名称] 描述问题的标题' body: - type: markdown attributes: value: | # 欢迎你的参与 Issue 列表接受 bug 报告或是新功能请求。 在发布一个 Issue 前,请确保: - 在 [旧Issue列表](https://github.com/Hiram-Wong/zyfun/issues?q=is%3Aissue) 中搜索过你的问题。(你的问题可能已有人提出,也可能已在最新版本中被修正) - 如果你发现一个已经关闭的旧 Issue 在最新版本中仍然存在,不要在旧 Issue 下面留言,请建一个新的 issue。 - type: textarea id: functionContent attributes: label: 这个功能解决了什么问题 description: 请详尽说明这个需求的用例和场景。最重要的是:解释清楚是怎样的用户体验需求催生了这个功能上的需求。我们将考虑添加在现有 API 无法轻松实现的功能。新功能的用例也应当足够常见。 placeholder: 请填写 validations: required: true - type: textarea id: functionalExpectations attributes: label: 你建议的方案是什么 description: 请详尽说明这个需求的实现的方案。例如相关Electron API。 placeholder: 请填写 validations: required: true ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ ### 🤔 这个 PR 的性质是? - [ ] 日常 bug 修复 - [ ] 新特性提交 - [ ] 文档改进 - [ ] 组件样式/交互改进 - [ ] 重构 - [ ] 代码风格优化 - [ ] 测试用例 - [ ] 分支合并 - [ ] 其他 ### 🔗 相关 Issue ### 💡 需求背景和解决方案 ### 📝 更新日志 - fix(组件名称): 处理问题或特性描述 ... - [ ] 本条 PR 不需要纳入 Changelog ### ☑️ 请求合并前的自查清单 ⚠️ 请自检并全部**勾选全部选项**。⚠️ - [ ] 文档已补充或无须补充 - [ ] 代码演示已提供或无须提供 - [ ] TypeScript 定义已补充或无须补充 - [ ] Changelog 已提供或无须提供 ================================================ FILE: .github/dependabot.yml ================================================ version: 2 updates: - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'monthly' open-pull-requests-limit: 3 commit-message: prefix: 'ci' include: 'scope' groups: github-actions: patterns: - '*' update-types: - 'minor' - 'patch' ================================================ FILE: .github/workflows/nightly-build.yml ================================================ name: Nightly Build on: workflow_dispatch: schedule: - cron: '0 17 * * *' # 1:00 BJ Time permissions: contents: write actions: write # Required for deleting artifacts jobs: cleanup-artifacts: runs-on: ubuntu-latest steps: - name: Delete old artifacts env: GH_TOKEN: ${{ github.token }} REPO: ${{ github.repository }} run: | # Calculate the date 14 days ago cutoff_date=$(date -d "14 days ago" +%Y-%m-%d) # List and delete artifacts older than cutoff date gh api repos/$REPO/actions/artifacts --paginate | \ jq -r '.artifacts[] | select(.name | startswith("zyfun-nightly-")) | select(.created_at < "'$cutoff_date'") | .id' | \ while read artifact_id; do echo "Deleting artifact $artifact_id" gh api repos/$REPO/actions/artifacts/$artifact_id -X DELETE done check-repository: runs-on: ubuntu-latest outputs: should_run: ${{ github.repository == 'Hiram-Wong/zyfun' }} steps: - name: Check if running in main repository run: | echo "Running in repository: ${{ github.repository }}" echo "Should run: ${{ github.repository == 'Hiram-Wong/zyfun' }}" check-commit: runs-on: ubuntu-latest outputs: has_commit: ${{ steps.check.outputs.has_commit }} steps: - name: Check commits in last 24h id: check run: | until=$(date -u +"%Y-%m-%dT%H:%M:%SZ") since=$(date -u -d "24 hours ago" +"%Y-%m-%dT%H:%M:%SZ") echo "Checking commits:" echo " since: $since" echo " until: $until" count=$(gh api \ -X GET \ "repos/${{ github.repository }}/commits?sha=main&since=$since&until=$until" \ --jq 'length') echo "Commit count: $count" if [ "$count" -gt 0 ]; then echo "has_commit=true" >> $GITHUB_OUTPUT else echo "has_commit=false" >> $GITHUB_OUTPUT fi env: GH_TOKEN: ${{ github.token }} nightly-build: needs: [check-repository, check-commit] if: | needs.check-repository.outputs.should_run == 'true' && ( github.event_name == 'workflow_dispatch' || needs.check-commit.outputs.has_commit == 'true' ) runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] fail-fast: false steps: - name: Check out Git repository uses: actions/checkout@v6 with: ref: main - name: Install Node.js uses: actions/setup-node@v6 with: node-version-file: '.node-version' - name: macos-latest dependencies fix if: matrix.os == 'macos-latest' run: | brew install python-setuptools - name: Install pnpm uses: pnpm/action-setup@v4 - name: Get pnpm store directory id: pnpm-cache shell: bash run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_OUTPUT - name: Cache pnpm dependencies uses: actions/cache@v5 with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm- - name: Install Dependencies run: pnpm install - name: Prepare env file shell: bash run: cp -f .env.example .env - name: Generate date tag id: date run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash - name: Build Linux if: matrix.os == 'ubuntu-latest' run: | sudo apt-get install -y rpm pnpm build:linux env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_OPTIONS: --max-old-space-size=8192 - name: Build Mac if: matrix.os == 'macos-latest' run: | sudo -H pip install setuptools pnpm build:mac env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_OPTIONS: --max-old-space-size=8192 - name: Build Windows if: matrix.os == 'windows-latest' run: | pnpm build:win env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_OPTIONS: --max-old-space-size=8192 - name: Rename artifacts with nightly format shell: bash run: | mkdir -p renamed-artifacts DATE=${{ steps.date.outputs.date }} # Windows artifacts - based on actual file naming pattern if [ "${{ matrix.os }}" == "windows-latest" ]; then # Setup installer find dist -name "*-x64-setup.exe" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-x64-setup.exe \; find dist -name "*-arm64-setup.exe" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-arm64-setup.exe \; # Portable exe find dist -name "*-x64-portable.exe" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-x64-portable.exe \; find dist -name "*-arm64-portable.exe" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-arm64-portable.exe \; fi # macOS artifacts if [ "${{ matrix.os }}" == "macos-latest" ]; then find dist -name "*-arm64.dmg" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-arm64.dmg \; find dist -name "*-x64.dmg" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-x64.dmg \; fi # Linux artifacts if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then find dist -name "*-x86_64.AppImage" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-x86_64.AppImage \; find dist -name "*-arm64.AppImage" -exec cp {} renamed-artifacts/zyfun-nightly-${DATE}-arm64.AppImage \; fi # Copy update files cp dist/latest*.yml renamed-artifacts/ || true # Generate SHA256 checksums (Windows) - name: Generate SHA256 checksums (Windows) if: runner.os == 'Windows' shell: pwsh run: | cd renamed-artifacts echo "# SHA256 checksums for Windows - $(Get-Date -Format 'yyyy-MM-dd')" > SHA256SUMS.txt Get-ChildItem -File | Where-Object { $_.Name -ne 'SHA256SUMS.txt' } | ForEach-Object { $file = $_.Name $hash = (Get-FileHash -Algorithm SHA256 $file).Hash.ToLower() Add-Content -Path SHA256SUMS.txt -Value "$hash $file" } cat SHA256SUMS.txt # Generate SHA256 checksums (macOS/Linux) - name: Generate SHA256 checksums (macOS/Linux) if: runner.os != 'Windows' shell: bash run: | cd renamed-artifacts echo "# SHA256 checksums for ${{ runner.os }} - $(date +'%Y-%m-%d')" > SHA256SUMS.txt if command -v shasum &>/dev/null; then # macOS shasum -a 256 * 2>/dev/null | grep -v SHA256SUMS.txt >> SHA256SUMS.txt || echo "No files to hash" >> SHA256SUMS.txt else # Linux sha256sum * 2>/dev/null | grep -v SHA256SUMS.txt >> SHA256SUMS.txt || echo "No files to hash" >> SHA256SUMS.txt fi cat SHA256SUMS.txt - name: List files to be uploaded shell: bash run: | echo "准备上传的文件:" if [ -x "$(command -v tree)" ]; then tree renamed-artifacts elif [ "$RUNNER_OS" == "Windows" ]; then dir renamed-artifacts else ls -la renamed-artifacts fi echo "总计: $(find renamed-artifacts -type f | wc -l) 个文件" - name: Upload artifacts uses: actions/upload-artifact@v7 with: name: zyfun-nightly-${{ steps.date.outputs.date }}-${{ matrix.os }} path: renamed-artifacts/* retention-days: 3 # 保留3天 compression-level: 8 Build-Summary: needs: [check-commit, nightly-build] if: always() runs-on: ubuntu-latest steps: - name: Get date tag id: date run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash - name: Download all artifacts if: needs.check-commit.outputs.has_commit == 'true' uses: actions/download-artifact@v8 with: path: all-artifacts merge-multiple: false continue-on-error: true - name: Create summary report run: | if [ "${{ needs.check-commit.outputs.has_commit }}" != "true" ]; then echo "## 💤 今日未触发 Nightly 构建" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "- 原因:过去 24 小时内 main 分支没有新的提交" >> $GITHUB_STEP_SUMMARY echo "- 构建策略:仅在有提交时才触发 Nightly Build" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "⏱ 检查窗口:最近 24 小时(UTC)" >> $GITHUB_STEP_SUMMARY else echo "## ⚠️ 警告:这是每日构建版本" >> $GITHUB_STEP_SUMMARY echo "此版本为自动构建的不稳定版本,仅供测试使用。不建议在生产环境中使用。" >> $GITHUB_STEP_SUMMARY echo "安装此版本前请务必备份数据,并做好数据迁移准备。" >> $GITHUB_STEP_SUMMARY echo "构建日期:$(date +'%Y-%m-%d')" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "## 📦 安装包校验和" >> $GITHUB_STEP_SUMMARY echo "请在下载后验证文件完整性。提供 SHA256 校验和。" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY # Check each platform's artifacts and show checksums if available # Windows WIN_ARTIFACT_DIR="all-artifacts/zyfun-nightly-${{ steps.date.outputs.date }}-windows-latest" if [ -d "$WIN_ARTIFACT_DIR" ] && [ -f "$WIN_ARTIFACT_DIR/SHA256SUMS.txt" ]; then echo "### Windows 安装包" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat "$WIN_ARTIFACT_DIR/SHA256SUMS.txt" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY else echo "### Windows 安装包" >> $GITHUB_STEP_SUMMARY echo "❌ Windows 构建未成功完成或未生成校验和。" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY fi # macOS MAC_ARTIFACT_DIR="all-artifacts/zyfun-nightly-${{ steps.date.outputs.date }}-macos-latest" if [ -d "$MAC_ARTIFACT_DIR" ] && [ -f "$MAC_ARTIFACT_DIR/SHA256SUMS.txt" ]; then echo "### macOS 安装包" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat "$MAC_ARTIFACT_DIR/SHA256SUMS.txt" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY else echo "### macOS 安装包" >> $GITHUB_STEP_SUMMARY echo "❌ macOS 构建未成功完成或未生成校验和。" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY fi # Linux LINUX_ARTIFACT_DIR="all-artifacts/zyfun-nightly-${{ steps.date.outputs.date }}-ubuntu-latest" if [ -d "$LINUX_ARTIFACT_DIR" ] && [ -f "$LINUX_ARTIFACT_DIR/SHA256SUMS.txt" ]; then echo "### Linux 安装包" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat "$LINUX_ARTIFACT_DIR/SHA256SUMS.txt" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY else echo "### Linux 安装包" >> $GITHUB_STEP_SUMMARY echo "❌ Linux 构建未成功完成或未生成校验和。" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY fi echo "## ⚠️ Warning: This is a nightly build version" >> $GITHUB_STEP_SUMMARY echo "This version is an unstable version built automatically and is only for testing. It is not recommended to use it in a production environment." >> $GITHUB_STEP_SUMMARY echo "Please backup your data before installing this version and prepare for data migration." >> $GITHUB_STEP_SUMMARY echo "Build date: $(date +'%Y-%m-%d')" >> $GITHUB_STEP_SUMMARY fi ================================================ FILE: .github/workflows/release.yml ================================================ name: Release on: workflow_dispatch: inputs: tag: description: 'Release tag (e.g. v1.0.0)' required: true default: 'v1.0.0' platform: description: 'Build platform' required: true default: 'all' type: choice options: - all - windows - mac - linux push: tags: - v*.*.* pull_request_target: branches: - main types: - opened - synchronize permissions: contents: write jobs: release: runs-on: ${{ matrix.os }} strategy: matrix: os: ${{ fromJSON( github.event_name == 'push' && '["macos-latest", "windows-latest", "ubuntu-latest"]' || github.event_name == 'pull_request_target' && '["macos-latest", "windows-latest", "ubuntu-latest"]' || github.event.inputs.platform == 'all' && '["macos-latest", "windows-latest", "ubuntu-latest"]' || github.event.inputs.platform == 'linux' && '["ubuntu-latest"]' || github.event.inputs.platform == 'windows' && '["windows-latest"]' || github.event.inputs.platform == 'mac' && '["macos-latest"]' || '["macos-latest", "windows-latest", "ubuntu-latest"]' ) }} fail-fast: false steps: - name: Check out Git repository uses: actions/checkout@v6 with: fetch-depth: 0 ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || '' }} - name: Get release tag id: get-tag shell: bash run: | if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then echo "tag=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT elif [ "${{ github.event_name }}" = "pull_request_target" ]; then # Extract version from branch name (release/v1.0.0 -> v1.0.0) BRANCH="${{ github.event.pull_request.head.ref }}" echo "tag=${BRANCH#release/}" >> $GITHUB_OUTPUT else echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT fi - name: Set package.json version shell: bash run: | TAG="${{ steps.get-tag.outputs.tag }}" VERSION="${TAG#v}" npm version "$VERSION" --no-git-tag-version --allow-same-version - name: Install Node.js uses: actions/setup-node@v6 with: node-version-file: '.node-version' - name: macos-latest dependencies fix if: matrix.os == 'macos-latest' run: | brew install python-setuptools - name: Install pnpm uses: pnpm/action-setup@v4 - name: Get pnpm store directory id: pnpm-cache shell: bash run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_OUTPUT - name: Cache pnpm dependencies uses: actions/cache@v5 with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm- - name: Install Dependencies run: pnpm install - name: Prepare env file shell: bash run: cp -f .env.example .env - name: Build Linux if: matrix.os == 'ubuntu-latest' run: | sudo apt-get install -y rpm pnpm build:linux env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_OPTIONS: --max-old-space-size=8192 - name: Build Mac if: matrix.os == 'macos-latest' run: | sudo -H pip install setuptools pnpm build:mac env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_OPTIONS: --max-old-space-size=8192 - name: Build Windows if: matrix.os == 'windows-latest' run: | pnpm build:win env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_OPTIONS: --max-old-space-size=8192 - name: Release uses: ncipollo/release-action@v1 with: draft: true allowUpdates: true makeLatest: false tag: ${{ steps.get-tag.outputs.tag }} artifacts: 'dist/*.exe,dist/*.dmg,dist/*.AppImage,dist/*.snap,dist/*.deb,dist/*.rpm,dist/*.tar.gz,dist/latest*.yml' token: ${{ secrets.GITHUB_TOKEN }} ================================================ FILE: .gitignore ================================================ # Logs logs *.log npm-debug.log* pnpm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* # Dependencies node_modules venv .venv # Yarn .pnp.* .yarn/* !.yarn/patches !.yarn/plugins !.yarn/releases !.yarn/sdks !.yarn/versions .yarn-cache # Python uv.lock # Build Outputs .next dev-dist dist dist-ssr out packages/*/build # Turbo .turbo # Vercel .vercel # Editors .project .classpath .c9/ *.launch .settings/ *.sublime-workspace # IDE .aider* .claude/* .claude-code-router/* .codebuddy/* .cursor/* !.claude/skills/ !.claude/skills/** .gemini/* .idea/* **/.idea/* .qwen/* .trae/* .vscode/* !.vscode/extensions.json !.vscode/launch.json !.vscode/mcp.json !.vscode/settings.json .zed/* # Env .env .env.* !.env.example # OS .DS_Store # Misc *.pem # Tests coverage .vitest-cache vitest.config.*.timestamp-* .nyc_output playwright-report test-results # TypeScript incremental build .tsbuildinfo **/auto-imports.d.ts **/components.d.ts # Temp .temp .tmp # Runtime pids *.pid *.pid.lock *.seed *.pyc __pycache__/ # Husky .husky/* !.husky/_/* # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json # Dump *.dmp dmp.txt ================================================ FILE: .ncurc.yaml ================================================ reject: # Electron - vite - '@electron/notarize' - electron - electron-builder - electron-updater - electron-store - builder-util-runtime # Libsql - '@libsql/client' - '@libsql/darwin-arm64' - '@libsql/darwin-x64' - '@libsql/linux-arm64-gnu' - '@libsql/linux-x64-gnu' - '@libsql/linux-arm64-musl' - '@libsql/linux-x64-musl' - '@libsql/win32-x64-msvc' - '@strongtz/win32-arm64-msvc' # Vitest - vitest - '@vitest/browser' - '@vitest/coverage-v8' - '@vitest/ui' - '@vitest/web-worker' # Others - '@types/node' - eslint - monaco-editor - npminstall - pnpm - proxy-agent - undici ================================================ FILE: .node-version ================================================ 24.11.1 ================================================ FILE: .npmrc ================================================ ================================================ FILE: .nvmrc ================================================ 24.11.1 ================================================ FILE: .prettierignore ================================================ out dist pnpm-lock.yaml LICENSE.md tsconfig.json tsconfig.*.json CHANGELOG*.md ================================================ FILE: .prettierrc.yaml ================================================ # 一行最多 120 字符 printWidth: 120 # 使用 2 个空格缩进 tabWidth: 2 # 不使用缩进符,而使用空格 useTabs: false # 行尾需要有分号 semi: true # 使用单引号 singleQuote: true # 对象的 key 仅在必要时用引号 quoteProps: as-needed # jsx 不使用单引号,而使用双引号 jsxSingleQuote: false # 末尾需要有逗号 trailingComma: all # 大括号内的首尾需要空格 bracketSpacing: true # jsx 标签的反尖括号需要换行 bracketSameLine: false # 箭头函数,只有一个参数的时候,也需要括号 arrowParens: always # 每个文件格式化的范围是文件的全部内容 rangeStart: 0 rangeEnd: .inf # 不需要写文件开头的 @prettier requirePragma: false # 不需要自动在文件开头插入 @prettier insertPragma: false # 使用默认的折行标准 proseWrap: preserve # 根据显示样式决定 html 要不要折行 htmlWhitespaceSensitivity: css # vue 文件中的 script 和 style 内不用缩进 vueIndentScriptAndStyle: false # 换行符使用 lf endOfLine: lf # JSON 递归排序 jsonRecursiveSort: true # JSON 排序规则 jsonSortOrder: '{"*": "lexical"}' # 插件 plugins: - prettier-plugin-sort-json ================================================ FILE: .stylelintignore ================================================ # .stylelintignore # 旧的不需打包的样式库 *.min.css # 其他类型文件 *.js *.jpg *.woff ================================================ FILE: .stylelintrc.yml ================================================ defaultSeverity: error extends: - stylelint-config-standard plugins: - stylelint-order rules: no-descending-specificity: null import-notation: string no-empty-source: null custom-property-pattern: null selector-class-pattern: null selector-pseudo-class-no-unknown: - true - ignorePseudoClasses: - deep # 官方说明:以下规则仅适用于原生 CSS,预处理器(Less)应关闭 media-query-no-invalid: null declaration-property-value-no-unknown: null overrides: - files: - '**/*.html' - '**/*.vue' customSyntax: postcss-html - files: - '**/*.less' customSyntax: postcss-less ================================================ FILE: .vscode/extensions.json ================================================ { "recommendations": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "editorconfig.editorconfig", "lokalise.i18n-ally", // "oxc.oxc-vscode", "typescriptteam.native-preview", "sdras.vue-vscode-snippets", "vitest.explorer", "vue.volar" ] } ================================================ FILE: .vscode/launch.json ================================================ { "compounds": [ { "configurations": ["Debug Main Process", "Debug Renderer Process"], "name": "Debug All", "presentation": { "order": 1 } } ], "configurations": [ { "cwd": "${workspaceRoot}", "env": { "REMOTE_DEBUGGING_PORT": "9222" }, "name": "Debug Main Process", "request": "launch", "runtimeArgs": ["--sourcemap"], "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-vite", "type": "node", "windows": { "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-vite.cmd" } }, { "name": "Debug Renderer Process", "port": 9222, "presentation": { "hidden": true }, "request": "attach", "timeout": 60000, "type": "chrome", "webRoot": "${workspaceFolder}/src/renderer" } ], "version": "0.2.0" } ================================================ FILE: .vscode/mcp.json ================================================ { "servers": { "debug-electron-mcp": { "args": ["-y", "@debugelectron/debug-electron-mcp@latest"], "command": "npx" }, "swagger-mcp": { "args": ["-y", "swagger-mcp@latest"], "command": "npx", "env": { "API_BASE_URL": "http://127.0.0.1:9978", "API_DOCS_URL": "http://127.0.0.1:9978/docs/json" } }, "tdesign-mcp-server": { "args": ["-y", "tdesign-mcp-server"], "command": "npx" } } } ================================================ FILE: .vscode/settings.json ================================================ { "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[jsonc]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[less]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[markdown]": { "files.trimTrailingWhitespace": false }, "[scss]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[vue]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit", // "source.fixAll.oxc": "explicit", "source.organizeImports": "never" }, "editor.formatOnSave": true, "editor.tabSize": 2, "files.eol": "\n", "i18n-ally.displayLanguage": "zh-CN", "i18n-ally.enabledFrameworks": ["vue", "i18next"], "i18n-ally.enabledParsers": ["ts", "js", "json"], "i18n-ally.fullReloadOnChanged": true, "i18n-ally.keystyle": "nested", "i18n-ally.localesPaths": ["packages/shared/locales/lang"], "i18n-ally.namespace": true, "i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}", "i18n-ally.sortKeys": true, "i18n-ally.sourceLanguage": "zh-CN", "i18n-ally.usage.derivedKeyRules": ["{key}_one", "{key}_other"], "search.exclude": { "**/*.min.js": true, "**/*.svg": true, "**/dist/**": true, "**/node_modules/**": true, "out/**": true, "patches/**": true }, "typescript.disableAutomaticTypeAcquisition": true, "typescript.tsdk": "node_modules/typescript/lib", "typescript.tsserver.experimental.enableProjectDiagnostics": false, // "typescript.experimental.useTsgo": true "typescript.tsserver.maxTsServerMemory": 4096 } ================================================ FILE: CHANGELOG.md ================================================ # Changelog > All notable changes to this project will be documented in this file. ## 3.4.4 - 优化: mac/window侧边栏配色 - 修复: windows x64平台调用npminstall失败 - 修复: webview组件 缺失请求头加载方法 - 修复: 改进更新行为,防止意外自动更新 - 修复: window部分情况关闭窗口导致整个应用程序崩溃; arm平台打包失败 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.4.4) ## 3.4.3 (2026-03-14) - 特性: vscode增加mcp工具 - 特性: 支持影视action动作操作(action组件) - 优化: 简化hash路由加载 - 优化: ip接口参数ipv4/ipv6优先缺失; 增加结果isChinaMainland字段 - 优化: 鸿蒙操作系统标识识别 - 优化: 数据配置-快捷配置 兼容直接导入频道 - 优化: webview组件 src参数以支持默认加载 - 优化: terminal组件 渲染样式 - 优化: github action cicd引用仓库node版本 - 修复: 影视 适配器初始化失败无具体报错信息; 适配器类型标注优化; T3Alist和T3Catopen适配器ext参数序列化处理, T3Drpy和T3Catopen缓存冲突以及执行失败无日志打印; T3Py适配器引用错误参数, 关闭时zmq有未返回时将阻塞主进程, 启动时获取pid不全, 部分情况进程异常退出, 不激活venv导致环境异常, 使用端口替代参数关键词匹配进程; 数据源检测vod—tag为folder或action报错(直接放行, 检测无意义) - 修复: 实验室-写源工具 首次加载非js适配器时提示语法报错; 代理上传处理三元组失败 - 修复: 直播配置 上传时文件筛选参数错误 - 修复: 历史记录 影视缺失集数数据; 接口进度跳过参数不返回 - 修复: 同步请求模块 application/json处理错误 - 修复: 缩放 尺寸计算错误; 刷新丢失缩放比例; 数值组件改为滑块; mac系统缩放不同步; 比例最大值和最小值 - 修复: common-nav组件 像素计算错误; 重复滚动; 点击部分dom再点击第一个将滚动至最后; 切换页面(或搜索结果点击)搜索列表丢失; 搜索结果清空不触发滚动 - 修复: dialog-document组件 类型错误; 文件名错误 - 修复: search-panel组件 输入框有内容时清空按钮替代搜索按钮(因为搜索图标没实际效果) -> 点击生效 - 修复: emitter 1.x -> 2.x 事件接收变动适配 - 修复: ua含有控制字符时主程序崩溃 - 修复: 影视分类只有一个时触发folder模式时没有重置按钮 - 修复: 部分机器判断electron环境报错 - 修复: MacOS Tahoe(26)以下操作系统交通灯位置错位 - 修复: 复制成功提示类型错误 info -> success - 修复: ui库 alert组件info颜色错误; qrcode组件样式错误 - 变动: 参数歧义 isChinaMainland(中国大陆) -> isCHS(简体中文) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.4.3) ## 3.4.2 (2026-02-15) - 特性: 支持配置缩放 - 修复: 设置-基础配置 无效超时参数检测不符合逻辑(改为失焦校验) - 修复: 实验室-写源工具 文件目录在未创建时打开失败 - 修复: AIGC 存在思考过程时一直显示思考中; 思考样式颜色错误; prompt提示词优化 - 修复: 主进程未捕获告警日志 - 修复: 部分参数未使用环境变量 - 修复: 单词拼写错误(outher -> other) - 修复: 进程匹配不精确导致结束进程找不到 - 修复: 影视检查可用性逻辑错误; 支持仅搜索检查; t3_py适配器增加类型标注 - 修复: swagger文档部分参数解释缺失 - 修复: uv处理依赖时证书错误 - 修复: 扩展程序在启用/禁用/卸载时ipc通讯时参数序列化失败 - 修复: 同步请求模块: fetch不必要的类型转换导致性能消耗; fetch请求体ContentType大小写错误; fetchCookie序列化错误; convertBase64Image错误; 取消对请求体Referer的处理 - 变动: cdp嗅探: 默认规则启用 -> 未传自定义规则时启用 - 变动: 影视适配器hiker公共库路径变动 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.4.2) ## 3.4.1 (2026-02-08) > 破坏性更新 - 特性: 支持软件级网络代理(子进程请求除外) [issue #437] - 特性: 硬件加速回归 - 特性: 影视/电视/解析均提供检查可用性 - 特性: 日志支持sse流输出(仅主程序日志) - 特性: 实验室-数据编码支持RC4Drop, AES和SM4适配GCM运算, RSA适配OAEP填充, 哈希支持SHA412-224/SHA512-256/SM3 - 特性: epg电子节目单支持xml格式(无法指定日期) - 特性: 播放页设置跳过片头片尾提取当前进度条时间 [issue #463] - 特性: 播放解析类型数据时支持查询播放记录; 加载弹幕 - 特性: 数据备份可备份至iCloud(MacOS专属) - 特性: 增加扩展环境自主下载页 - 特性: 影视适配器支持catopen - 特性: 影视推荐分类动态显示 - 优化: 国际化(翻译/解析平台/赞助/主程序), 整理公共节点, 支持繁体中文, 部分译文过长导致样式溢出 - 优化: 主程序重构, 接口提供schema(支持swagger文档), 前后端提取公共模块, 统一多处写法, UI/UX调整, 部分逻辑迁移至后端处理, 前后端使用公共参数对其 - 优化: 热榜数据接口参数归一化, 适配百度/夸克数据来源 - 优化: 简化store跨标签页同步逻辑 - 优化: 移除多处TDesgin组件库遗留问题导致过渡方案(三方已修复) - 优化: 影视py适配器pd系列函数适配, 调优rpc通讯, 支持传参 - 优化: 直播页适配浅色模式 - 优化: 设置 无效数据更新 - 优化: 实验室-文本对比 导入导出逻辑 - 优化: 实验室-插件中心 安装引导逻辑; 预览模块可能存在的冲突 - 优化: 实验室-写源工具 采用实时日志; 移除预览模块 - 优化: 实验室-静态筛选 采用写源工具同设计 - 优化: 设置-数据管理 支持tvbox类加密数据 - 优化: 弹幕参数兼容嵌套取值 - 优化: 免责声明弹窗逻辑, 必须阅读后才可同意 - 优化: 减少播放窗口io消耗, 窗口存在则通过刷新而不是重建 - 优化: common-nav组件 搜索匹配性能(fuse.js -> include) - 优化: terminal组件 上下文记忆数调整; 适配搜索; webgl引擎渲染; 可见性切换画布填充bug; 选择错位 - 优化: code-editor组件 hooks - 优化: aigc组件 优化提示词; 适配tdesgin库5.x版本 - 优化: 封装多个公共组件 webview|group-btn|lazy-bg|input-req - 修复: 开发环境下主程序部分情况下无法热重载问题 - 修复: 开发环境下代码规范(eslint prettierrc)格式化不生效 - 修复: github action构建mac包内存溢出 - 修复: windows首次使用弹命令行窗口(仅3.4.0版本) [issue #447] - 修复: 字体加载不渲染问题 - 修复: 请求头: 开发者工具请求头显示不对应; CDP嗅探请求头不生效 - 修复: 影视xml适配器搜索异常 [issue #445] - 修复: 在线更新更新包未下载完成可点击安装问题, 并增加下载进度显示 [issue #423] - 修复: 设置-数据源点击编辑不修改数据关闭后触发状态变更按钮不切换 - 修复: 默认懒加载图卡顿且多分辨率下适配不全问题 - 修复: 播放页: 数据重复传递问题(无效渲染); 部分情况metadata不加载; 小窗最小尺寸528*297(16:9); 小窗标题和拖拽冲突; 重复监听进度; 设置参数不立即生效问题 - 修复: 调用系统播放器时播放观看数据清零问题 - 修复: 解析页调优酷页路径异常 - 修复: req-html(input-req)组件 子父数据不同步; post切换get存在data参数请求出错 - 修复: router-control组件 部分页面打包环境下无法触发刷新 - 修复: play-show组件 状态更新不稳定(机器性能较低); 节目名太长导致留白时间长问题 - 修复: monaco-editor组件 diff模式下原文不同步问题 - 修复: common-nav组件 点击范围缺失问题 - 修复: title-menu组件 高度不统一, 数据变动不触发渲染或重复渲染 - 修复: multi-player组件 已知问题(详见该组件CHANGELOG) - 修复: Linux操作系统rpm打包bug - 变动: 标识: zyplayer -> zyfun(全部字段均迁移) - 变动: 网盘入口不再提供, 合入影视Alist适配器 - 变动: 影视适配器drpy使用3.9.52beta3 20250801 - 变动: 插件: 安装/卸载/启动/停止 请求通道 http(超时机制) -> ipc(无超时) - 变动: 直播-缩略图: 外部ffmpeg -> 自主下载(win-arm不支持); 直播-台标和节目单增加字段标识所需说明 - 变动: 窗口记忆: 设置-窗口记忆删除调整入口, 默认记忆模式(仅单台电脑记忆, 不作为同步数据) - 变动: 解析标识: 解析-线路标识(全局) -> 单源级别 - 变动: 解析索引: 区分大陆和境外 - 变动: 云端备份: 定时备份 -> 数据变化备份; 备份路径: zyplayer/文件名 -> zy/文件名 - 变动: 设置-基础配置-数据管理(导入/导出/清理/同步) -> 设置-数据管理 - 变动: 实验室-嗅探播放 -> 实验室-媒体嗅探 + 实验室-播放测试 - 变动: aigc: 实验室-人工智脑 -> 全局入口; 预留供应商参数(默认 openai) - 变动: 挂载点: 统一对话框和抽屉挂等组件载dom - 变动: 标签页共享存储状态: 自研 -> pinia-shared-state - 变动: 调试回放记录: pageSpy(在线) -> oSpy(离线) - 变动: 开源协议: MIT -> AGPL3.0 - 变动: 免责声明: 根据内容变化做出相应的变动 - 变动: 数据库: pgsql -> sqlite (原数据库故障概率高, 维护不便) [issue #447] - 变动: vite: rollup -> rolldown; typescript: tsc -> ts-go (速度更快) - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.4.1) ## v3.4.0 (2025-04-30) - 特性: 支持oplayer+样式按播放器导入(样式调整)+修复xgplayer倍速显示undefeated+artplayer方法playNext封装错误+svg图标微调+修复formatUrlHeaders数据类型错误导致播放地址拼接失败 - 特性: 导入数据支持历记忆 - 特性: 右键支持复制粘贴等+频道中忽略触发 - 特性: 数据源支持T3Py+写源工具支持T3Py(需要电脑安装py3.8+和对应依赖) - 优化: 基础设置页面打开慢(win和mac intel系列感受明显) - 优化: 数据源检测逻辑(分类+列表)+批量检测 - 优化: drpy重复初始化+缓存从3个改到6个+重构worker逻辑 - 优化: 统一Dialog挂载节点+统一表单处理方法+优化参数校验 - 优化: 重构解析页, 直接展示站点, 播放跳转播放器(腾讯不支持搜索, 未知原因) - 优化: 所有数据均可记录至时刻(此前只支持影视) - 优化: 插件功能项重写依赖安装逻辑(集成7.24.2)+布局调整 - 优化: ai接口重构(支持常规和sse)+记忆上下文+sse响应+停止则取消请求(停止提示)+响应打字机效果+响应中禁止操作+仅最后响应可重生成 - 优化: 去广逻辑采用龙头大佬20250416版本 - 优化: 重构ipc(替代@electron/remote)+renderer进程禁用node环境开启上下文隔离 - 优化: 主进程部分模块解耦(参数归一)+启动流程优化+快捷键模块重构+增加hiker路径模块 - 优化: 基础设置逻辑优化+提取快捷键组件 - 修复: 数据编码样式错乱+不依赖node:Buffer模块+rc4参数控制错误+sm4解密错误 - 修复: 写源工具面板分隔不跟手(使用splitpanes替代arco)+控制台重构(@xterm/xterm替代luna-console)+日志输出 - 修复: 静态筛选批量结果不显示 - 修复: 普通输入框重复粘贴+monaco-editor编辑器无法粘贴 - 修复: monaco-editor组件按钮错位+主题不跟随 - 修复: windows和linux在写源工具和静态筛选页面样式错乱问题 - 修复: 影视详情主演|演员等参数匹配为空问题 - 修复: 写源工具代理数据上传三元组校验+过滤条件不生效 - 修复: 清理缩略图后不会重新计算空间 - 修复: 网盘(alist)提示配置路径错误 - 修复: 解析为json时类型headers逻辑错误-应获取解析数据头而不是请求解析头 - 修复: 主进程解析畸形url地址异常 - 变动: 调整用户代理默认值 - 变动: 补全缺失多语言词条 - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.4.0) ## v3.3.10 (2025-02-06) - 特性: 调试模式启动数据库端口(5432), 前端console打印 - 特性: 插件中心(实验性) - 特性: 文件对比diff - 优化: 播放影视时顶部显示当前播放的剧集 - 优化: fastify路由 - 优化: 去广逻辑 - 优化: lrucache加载同源数据变动加载机制(仅支持数据规则在源中) [issue #382] - 优化: 多播放器-完善类型判断(先走HEAD, 重试走GET)|xgplayer,artplayer支持i18n和下集调用 | 移除dplayer,nplayer(核心与artplayer一致, 仅ui区别) - 优化: 续下集+跳时间 对其腾讯视频 - 优化: markdown 渲染 - 优化: 写源工具(重构) - 优化: 公共组件侧边栏默认滚动到当前激活 - 优化: AI组件重写 - 优化: 收藏(时刻)倒序, 新增date字段 - 优化: 源管理搜索过滤like(大小写敏感)改为ilike(大小写模糊) - 优化: 公共组件title-menu过滤空数据 - 优化: ipc和hiker(file+request)方法完善 - 修复: 参数拼写错误 [issue #378] - 修复: 时刻调用第三方播放器提示数据报错 [issue #363] - 修复: 收藏load数据长度报错导致无法翻页 [issue #376] - 修复: 去广和请求头同时存在导致数据冲突 & 优化去广前置判断 & 播放请求头去除不安全部分(浏览器报错) - 修复: 影视搜索中数据源只有一组时数据不翻页 - 修复: 数据源 drpyjs0,t0xml,t1json,t4hipy vod_content格式化错误 | drpyjs0,t4hipy 返回play参数不规范 [issue #387] | t0xml 返回参数不规范 | drpyjs0,t0xml,t1json,t4hipy,catvod categories参数为空时报错 | wd参数重复编码问题 | drpyjs0,t4hipy 缺失pg参数| t0xml,t1json 兼容性 [issue #388] - 修复: 弹幕参数下标存在为0加载失败问题 - 修复: 开启预加载+点击非下集选集播放链接不正确 - 修复: 开启预加载+弹幕下集加载弹幕不显示 - 修复: 预加载不生效 - 修复: 影视+时刻二级返回值没有vod_id导致历史存的数据不准确(用一级vod_id赋值) - 修复: 电视开启缩略图时生成失败+生成后刷新生效问题 - 变动: 弹幕增加返回标识字段 - 变动: 部分数据库字段长度变更 - 变动: drpy2库更新至`3.9.51beta6 20241126` - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.10) ## v3.3.9 (2024-12-01) - 特性: 数据追加能力(注意数据清洗能力永远不会上线) - 特性: 仅搜索源不在数据源中显示(增加开关)[issue #283] - 特性: 支持播放器请求头(实验性) - 特性: 播放页自动续集(增加开关) - 修复: 数据源T0xml无法加载 | catbox筛选不生效 | xbpq xyq网络源无法加载 | appysv2判断逻辑 | T0xml T1json搜索逻辑 - 修复: 历史播放记录无法读取(未开启跳进度的时候存在该问题) - 修复: 播放页解析记录为空时组件bug导致点击无效(tdesgin组件bug暂时规避,等腾讯修复) - 修复: 软件运行时再次打开奔溃[issue #354] - 修复: 数据非标准JSON格式无法导入(改为JSON5兼容)[issue #350] - 修复: win在线更新无限提醒 issue(下载完成后不安装一直点下载时存在该问题)[issue #349] - 修复: 数据源搜索时数据不显示(数据达不到当前搜索页时存在)[issue #347] - 修复: 频道名称显示不完整(名称含空格时存在该问题)[issue #342] - 修复: 网盘不显示全部文件(增加开关) - 修复: 写源工具导入部分情况失败 - 修复: drpy库部分逻辑错误(atob问题|withHeaders问题) - 修复: 全局用户代理不生效 - 优化: 多播放器融合统一能力 - 优化: 系统托盘支持快捷打开软件数据目录 - 优化: 去广逻辑升级{感谢 @hpindigo} - 优化: 子进程中网络请求能力(mac下快一倍) - 优化: 嗅探播放页增加视频类型Auto选项系统自己判断 - 优化: 数据源配置滚动标题栏固定 - 优化: 数据加解密支持更多参数并支持3DES、Rabbit、RabbitLegacy、SM4 | 哈希计算支持Hmac - 变动: debug数据源可删除(部分用户强迫症) - 变动: 回归数据源检测, 仅支持单次检测(批量会窜数据) - 变动: 数据库字段(注意备份) - 变动: 依赖升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.9) ## v3.3.8 (2024-11-15) > 破坏性更新 - 特性: 支持csp_XBPQ|csp_XYQ|csp_AppYSv2源格式(实验性) - 特性: 注册URL Scheme, 支持通过zy://协议唤醒应用 - 特性: 支持常见加解密|hash计算|数据编码 - 特性: 支持folderInfolder模式 - 特性: 抽离加解密方法, 封装部分海阔方法(开发者福音) - 优化: 多语言适配已知未适配内容+已知样式溢出内容修改+支持tdesgin内置组件 - 优化: 侧边栏采用虚拟列表渲染(数据太多导致太多dom元素卡顿) - 优化: 嗅探逻辑支持sniffer_exclude参数,对齐道长嗅探器传参格式 - 优化: 电视导入时过滤不支持协议(ftp|rtsp|rsp) - 优化: 重新导入历史和收藏均显示找不到数据源(回归key设计-注意之前历史会失效) - 优化: 解析类型为web时调用嗅探器嗅探后使用播放器(iframe显示可能有广) - 优化: 全局超时时间调整为最小3s最大60s, 超过范围自动设置为3s - 优化: 数据源选择csp_XBPQ|csp_XYQ|csp_AppYSv2可自动填充api - 优化: 老板键在原有隐藏窗口基础上增加窗口静音和暂停[issue #323] - 优化: 网络请求优化, 部分逻辑迁移到后端(如无法篡改请求头内容, 此前方式为先自定义再底层恢复) - 优化: 数据源实现逻辑解耦合, 每个实现逻辑都为一个适配器模式(开发者福音) - 优化: 修改打包hook机制, 跳过签名校验, 仅保留 zh & en 字体(win+linux 生效) - 优化: 统一主进程和渲染进程通讯规范, 采用小驼峰命名(开发者福音) - 优化: ui统一更多设计样式, 部分ux操作加入过渡动画 - 优化: 简化前端权限逻辑实现(逻辑过于复杂) - 优化: 封装前端组件减,少冗余代码(monaco编辑器|数据源配置|md渲染) - 优化: 新版TdesginUI组件库empty组件替代原有提取自ElementUI手搓组件 - 优化: 使用vue3.5版本, 使用部分新特性替代老代码(如useTemplateRef) - 优化: 拦截多个开发者工具无限debugger脚本(devtools-detector|disable-devtool) - 优化: 重构播播放器逻辑 - 优化: 播放器共享并记忆音量|倍速|静音(注意:dplayer设置静音项图标不对应) - 优化: 数据源初始化Adapter适配器时使用LRU缓存(10个) - 修复: 新版titlebar组件不兼容问题(win、linux均有该问题) - 修复: mac系统触发每次打开应用都弹窗网络请求权限校验(打开防火墙情况) - 修复: win11系统存在安装应用后无法打开(nsis安装脚写注册表逻辑问题) - 修复: 数据源列表通过搜索加载的数据选中删除无效 - 修复: 数据源编辑内容无需点击确认就可修改原始数据 - 修复: 播放器中epg列表不加载数据源中的专属epg - 修复: 网盘错误逻辑导致切换数据源会导致数据源消失[issue #314] - 修复: 网盘匹配不到password导致服务终止 - 修复: 播放器播放影视视频, 点击推荐数据无法触发事件 - 修复: 数据导入时涉及基础配置时以及webdev远端同步本地数据不刷新 - 修复: 新版本electron前端获取不到文件路径, 替换为electron-dialog方案 - 修复: 智脑无法打开openai链接 - 修复: 切换分类|切换数据源, 顶部搜索关键词不恢复默认问题 - 修复: 基础数据设置数据不成功问题(已初始化数据为基准) - 修复: 侧边栏收起对不齐顶部问题(强迫着患者福音) - 修复: 用户数据导入不规范导致窗口无法打开[issue #312] - 修复: 切换频道节目单不更新[issue #346] - 修复: md文档内容无法渲染有序和无序dom - 修复: 嗅探器服务脱离窗口池问题(窗口服务统一管理) - 修复: 开启webdev自动同步会无限创建webdev对象导致内存未释放 - 修复: 影视和站点顶部菜单已经激活的菜单再次点击无法触发 数据加载 - 变动: 字体采用小米字体(MiSans) - 变动: 拆封写源工具部分功能并独立于设置页面 - 变动: 剔除-iframe嗅探方案(限制较多, 和pie方案功能相差较多) - 变动: 剔除-收藏页检查更新功能(效果与实际设想相差较大); - 变动: 剔除-数据源类型appv1和appv2(实验性csp_AppYSv2替代) - 变动: 剔除-设置页hipy的推广内容 - 变动: 剔除-数据源有限性检测(现有逻辑较为鸡肋, 同时导致用户不断询问) - 变动: 剔除-硬件加速开关(数据库变更后硬件加速禁用失败) - 变动: 剔除-随心看功能(鸡肋功能) - 变动: 剔除-v8引擎缓存机制(没有带来性能提升) - 变动: 修改-数据管理-快捷配置剔除此软件导入方式, 合并tvbox和hipy导入格式 - 变动: 修改-影视第一个分类数据改为加载首页数据(homeVod) - 变动: 修改-电视相关参数epg应携带{name}和{date}|logo应携带{name}(优先级:自带->源自带->全局) - 变动: 修改-电视过滤ipv6频道改为仅标识ipv6(跳过检测会增加加载时间, 不友好) - 变动: 修改-数据库从lowdb变更为PGLite(数据强校验, 字段不规范直接报错) - 变动: 修改-升级所有依赖, 前端部分依赖不再依赖nodejs(不再兼容老系统, 稳定性有提升) - 变动: 修改-drpy核心对齐道长仓库最新版本2024.10(取消摇树, 最新侵入库本身) - 变动: 修改-debug涉及PageSpy服务域名变更 - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.8) ## v3.3.7 (2024-07-30) > 最后一个版本支持win7 - 特性: 全新卡片式ui(侧边导航可折叠) - 特性: DNS-over-HTTP回归(重构逻辑) - 特性: 调试模式 - 特性: 影视搜索支持过滤 - 特性: 写原工具之筛选插件 - 特性: 热搜增加移动爱家和豆瓣接口[issue #221] - 特性: 播放页小窗设计[issue #218] - 特性: 侧边导航可搜索源[issue #241] - 特性: 写原工具支持拖拽文件展示数据 - 特性: 播放器支持 mpd 和 dash - 优化: 线路选择样式变动[issue #240] - 优化: 调整底层版本支持硬解hevc[issue #261] - 优化: 播放器倍速逻辑重构[issue #278 #279] - 优化: loading 层重构,减少内存消耗 - 优化: 多窗口数据交互接口重构 - 优化: 嗅探支持更多格式 - 优化: 多窗口逻辑重构 - 修复: 配置源需要刷新问题 (重构bus总线) - 修复: 搜索输入框双击触发最大化问题1 - 修复: 部分情况下搜索页无法进入详细页[issue #228] - 修复: 部分提示词变动及多语言适配[issue #288] - 变动: openai默认模型调整, 支持输入模型 - 变动: 写源工具文档地址调整为github-wiki - 变动: 播放器背景图 - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.7) ## v3.3.6 (2024-05-20) - 修复: 播放页倒序后逻辑混乱 - 修复: 解析切换type前播放器未摧毁 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.6) ## v3.3.5 (2024-05-19) - 特性: 解析支持json格式(type:1) - 特性: 播放器支持去插播、预嗅探加载下一集[issue #205] - 特性: 播放页支持选择解析线路 - 特性: 支持全局超时时间(不要设置太短影响本地服务器数据读取) - 优化: 播放器重构, 全播放器支持弹幕(破坏性的) - 优化: 写源工具支持嗅探、源代码格式化、源代码编码、编辑器智能提醒、ai、服务生成式[discussions #180] - 优化: 嗅探器支持初始化参数 - 优化: 写源工具导致整个设置页面白屏时间长 - 优化: 推荐数据逻辑重构(破坏性的) - 修复: 数据源可以添加空白数据 - 修复: 嗅探器定时器失效导致内存溢出 - 修复: 分类有重复id导致vue内存溢出 - 修复: 选集倒序序号不变化 - 变动: 免责申明协议更新 - 变动: drpy库同步保持最新 - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.5) ## v3.3.4 (2024-04-27) - 特性: 支持国际化(中文|英语) - 特性: webdev支持自动同步数据(5分钟一次)[issue #158] - 特性: 写源工具 - 特性: 支持第三方嗅探[issue #164] - 特性: 上线随心看 - 特性: 支持弹幕(仅西瓜播放器) - 优化: t3模块支持本地代理(暂未测试)|同步保持更新(当前为3.9.50beta2 202400427){感谢 @hjdhnx} - 优化: 数据导入支持相对路径 - 优化: 播放页逻辑解耦部分、样式优化、支持同步主题变化 - 修复: Linux不显示桌面图标[issue #179] - 修复: 修改老板键写入脏数据 - 修复: 时刻取消后重新收藏出现该源被删除[issue #173 #162] - 修复: 当触发不同站点详情页数据不变化[issue 146] - 修复: 搜索通过点击触发显示事件e - 修复: 搜索触发多次多余详情爬虫 - 修复: 搜索当源不是t3时搜索失败 - 修复: 外部播放器传递特殊字符数据丢失一部分[issue #171] - 修复: 播放页、详情页触发多个高亮选中集数(重构逻辑和历史数据冲突,表现为有历史数据时不自动播放,需手动点击或者清空历史) - 修复: 播放页为直播时无法使用全局台标 - 修复: 采用新架构后版本升级数据字段变动无法随版本迁移 - 修复: 生产模式下不生成日志文件 - 修复: windows快捷键无法打开开发者模式 - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.4) ## v3.3.3 (2024-03-25) - 特性: 兼容t3影视源(不支持本地代理){感谢 @hjdhnx} - 特性: 兼容catvod影视源(不支持本地代理){感谢 @catvod} - 优化: 调用系统播放器不再使用环境变量[issue #152] - 优化: 影视、电视、过刻页面采用响应式方案 - 修复: 修复mac系统托盘不适应背景色问题[issue #143] - 修复: 修复影视搜索时过刻数据错乱问题[issue #157] - 修复: 修复西瓜播放器快捷键问题[issue #150] - 修复: 修复免责申明无法打开问题(含申明内容更新) - 修复: 修复解析历史抽屉点击删除触发播放和页面自动关闭问题 - 修复: 修复缩略图文件夹未生成问题 - 修复: 修复重启软件老板键失效问题[issue #153] - 修复: 修复搜索交互问题[issue #153] - 变动: 端口变更8345->9978 (同tvbox本地端口) - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.3) ## v3.3.2 (2024-02-29) - 特性: 新增系统托盘 - 特性: 兼容hipy影视源 - 优化: 重构大部分页面,框架升级至electron-vite(流畅性玄学优化) - 优化: 数据不在存储在前端采用lowdb,并开一个后端fastify服务(端口 8345) - 优化: 全新logo,优化win尺寸偏小问题{感谢 @fourbeauty} - 优化: 直播延迟检测机制 - 优化: 播放器为系统时,支持先嗅探在调用系统播放器 - 优化: 影视源有效检测机制、收藏更新检测机制、影视聚合搜索增加队列并发 - 优化: 空间优化 (mac减少100+mb | win 减少20+mb | linux 减少30+mb) - 修复: 修复影视和直播页面内存溢出问题 - 修复: 修复影视菜单映射关系不存在导致切换分类失败问题 - 修复: 修复播放器为系统时,影视详情播放列表不对应问题 - 修复: 修复解析历史抽屉遮挡无法点击系统操作栏问题(除苹果操作系统外) - 修复: 修复解析历史抽屉点击删除触发播放和页面自动关闭问题 - 修复: 修复解析搜索时关闭按钮遮挡无法点击系统操作栏问题(除苹果操作系统外) - 修复: 修复影视聚合搜索重复源搜索问题 - 变动: 删除腾讯播放器(特性开始恶心新增账号验证才能使用),增加系统调用vlc(需保证环境变量) - 变动: 彩蛋开放,不再需要触发 - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.2) ## v3.3.1 (2023-12-17) - 特性: 主窗口退出保存位置[issue #113] - 特性: 设置增加全局配置 iptv 台标配置 - 优化: 各项目可直接跳转到配置源 - 优化: 修改默认加载图 - 修复: windows 状态栏错乱(特地在 win 平台测试了)[issue #118 #116] - 修复: 设置表格中存在大量逻辑问题 - 修复: 调用播放窗口标题 undefined - 修复: 开发模式下 ffmpeg 调用失败 - 修复: 影视源连续添加不同配置提示已存在 - 修复: 搜索栏高度问题导致出现滚动条 - 变动: 免责申明协议调整至基础设置 - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.1) ## v3.3.0 (2023-12-03) - 优化: 加载页动画效果 - 修复: pie嗅探报错(electron版本导致) - 修复: 无法从解析历史播放 - 修复: 影视搜索一个报错后面无法执行[issue #108] - 修复: 设置中嗅探方案不显示选择项 - 修复: 分享组件特殊情况下无法生成二维码 - 变动: 修改系统默认菜单栏 - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.3.0) ## v3.2.10 (2023-09-30) - 特性: 支持alist网盘功能(实验性){感谢开源项目@CatVodOpen} - 特性: 支持pie嗅探{感谢 开源项目@CatVodOpen} - 优化: 重构底部加载细节(自认为有优化) - 优化: iptv缩略图创建文件夹时机优化 - 优化: 数据导入导出做了更多的逻辑校验(防止手贱玩家) - 修复: 修复一键配置单词拼写错误导致的问题7.变动:修改系统默认菜单栏(mac 生效) - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.10) ## v3.2.9 (2023-09-14) - 修复: 一键配置回归 - 修复: 已知 bugs - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.9) ## v3.2.8 (2023-09-03) - 特性: 新增dp播放器替代阿里、火山播放器(支持调用mac本地 iina, win本地potplayer) - 特性: 数据管理模块重构[支持备份到 webdev] - 修复: 直播缩略图实验性功能导致打开报错[issue #73 #69] - 修复: 播放器分享功能地址失效[pr #72] - 变动: 增加drpy推荐位 - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.8) ## v3.2.7 (2023-08-20) - 特性: 全新ui/ux - 特性: 直播缩略图(实验性, 需安装ffmpeg) - 特性: 增加loading层窗口优化打开软件白屏久 - 修复: 基础设置判断ipv6获取地址不是公网ip的问题 - 修复: 通过设置源切换默认加载出错以及分类不对的问题 - 修复: 直播无法切换非远程链接的问题 - 修复: mac双击标题栏不放大和缩小窗口的问题 - 修复: api兼容性问题 - 变动: 直播有效性改成延迟时间 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.7) ## v3.2.6 (2023-08-03) - 特性: 兼容 app-v1 源[issue #58] - 特性: 设置源添加资源数[issue #50] - 特性: 热榜支持ky.live和高合数据(酷云好像挂了) - 修复: 图标 win 过小,liux 老图标的问题[issue #59] - 修复: 推荐数据请求错误的问题,优化兼容性 - 修复: 选中筛选条件切换分类不变的问题(重构所有源类型的数据结构) - 变动: 设置源分类代替全局过滤 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.6) ## v3.2.5 (2023-07-09) - 特性: 兼容 app-v3 源 - 修复: 直播列表勾选跳过ipv6内存泄露的问题 - 修复: 热榜为站内且为drpy源时数据报错的问题 - 修复: 热榜数据没有随站点源变化的问题 - 修复: 播放器剧集倒序乱序的问题 - 修复: 非链接源播放器无法加载的问题 - 修复: 源解析和'哎呦疼'冲突的问题 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.5) ## v3.2.4 (2023-07-01) - 特性: 历史和收藏支持显示播放源[issue #41] - 特性: 播放支持选集倒序 - 优化: 搜索交互优化 - 优化: 设置源表格重构(支持跨多页选择数据和搜索)[issue #23] - 优化: 直播判断逻辑{感谢 @jahem} - 修复: 兼容drpy搜索参数问题(兼容 drpy 的 c#版本) - 变动: 下架社区功能[issue #40] - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.4) ## v3.2.3 (2023-06-04) - 特性: 适配多款播放器 - 优化: 解析增加分享(提取播放器公共组件,并重写样式 - 优化: 彩蛋增强(webview 替代 iframe,支持前进后退 - 修复: 搜索和推荐接口多次请求的问题(可能嘎嘎快) - 修复: 兼容部分源无效参数导致请求失败的问题(1080zyku) - 修复: 导出源不显示保存路径的问题(electron+fs 替代 saveas 库) - 修复: 播放器全屏时顶部无法点击的问题(drag 冲突) - 修复: tdesgin1.3.5输入装饰器slot不生效的问题(被迫修改逻辑) - 修复: 酷云热搜请求 3 次实际只请求 2 次的问题 - 变动: 站点源检测有效性添加请求超时时间为 3 秒 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.3) ## v3.2.2 (2023-05-28) - 特性: 兼容dr_py的免嗅模式{感谢 @hjdhnx} - 特性: 兼容两套播放器(新增tcplayer) - 优化: 热搜兼容夸克、百度 接口 - 优化: iptv 状态检测优化(引入队列和取消请求) - 修复: 嗅探链接大小写问题导致无法播放的问题 - 修复: iptv不开启跳过 ipv6无限请求的问题 - 修复: iptv解析 dns 失败数据不继续加载的问题 - 变动: 删除软解(字节确认 v3 版本 xgplayer 不支持) - 变动: 部分 svg 图标更换 - 变动: 数据库字段(注意备份) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.2) ## v3.2.1 (2023-05-21) - 特性: 兼容dr_py的filters|search{感谢 @hjdhnx} - 特性: 兼容xml格式源 - 优化: 兼容json5(一键配置里用注释的 xx 行为) - 修复: iptv 切换源不刷新分类的问题 - 修复: 搜索组件无限请求数据的问题 - 修复: 错别字(Issues #20 ) - 修复: 部分奇葩源无分类的问题(海X看) - 修复: film切换源,搜索依旧使用默认源的问题 - 变动: 修改免责声明及部分提示文案 - 变动: 播放器逻辑 - 变动: 接口请求失败重试次数调整为3 - 变动: 数据库字段(注意备份) - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.1) ## v3.2.0 (2023-05-13) - 特性: 兼容dr_py的type:1的数据{感谢 @hjdhnx} - 修复: 触发老板键错误的问题(同时修改不同系统默认快捷键) - 修复: 社区刷新冲突的问题 - 修复: 一直播放下集的问题 - 修复: 三大金刚双击标题栏导致 icon 不同步的问题 - 修复: main 程序关闭时点击回到主页无法打开的问题 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.2.0) ## v3.1.10 (2023-05-07) - 特性: 增加社区 - 特性: 直播源支持本地 m3u - 优化: ui调整 - 优化: 影视热榜、搜索框重构 - 优化: 彩蛋增强(自己探索代码中的 todo,不要传播) - 修复: 恢复出厂数据不彻底导致冲突的问题(同时软重启改为硬重启) - 修复: 影视搜索后导致无法下拉的问题 - 修复: 播放下集冲突的问题,重构播放进度记录(播放器事件替代定时器) - 修复: 添加站点源分类空白的问题 - 修复: main 程序关闭时点击回到主页无法打开的问题 - 变动: 视频流特征采集改为 5s 同步一次数据 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.10) ## v3.1.9 (2023-04-22) - 特性: 支持查看播放器信息 - 优化: 不同操作系统兼容性 - 修复: 自动切换下集与画中画冲突 - 修复: 过滤为空导致加载分类错误{感谢 @jim114042} - 变动: 删除最小化自动暂停/恢复播放 - 变动: 西瓜播放器beta到release [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.9) ## v3.1.8 (2023-04-16) - 特性: 自动播放下集 - 特性: 部分页面增加返回顶部(T-Desgin 1.3.0 support) - 优化: 彩蛋(希望发现的童鞋不要传播打开方法) - 修复: 影视逻辑错误{感谢 @jim114042} - 修复: 播放器加载解析错误导致无法播放问题 - 修复: 部分视频无法加载问题(xgplayer 3.0.0-next.55-2 fix) - 变动: 免责声明协议(语句不通顺、错别字) [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.8) ## v3.1.7 (2023-04-09) - 特性: 基础配置增加安全User-Agent设置 - 优化: 彩蛋(希望发现的童鞋不要传播打开方法) - 优化: ipv6检测(支持域名dns解析) - 优化: 播放页重构部分函数(播放加载明显加快)、兼容另类的cms源(剧集不带名称)、iptv数据多卡顿、切换剧集重复查询豆瓣 - 优化: 绘制部分svg替代png图标 - 修复: 切换基础配置闪屏问题 - 修复: 基础配置导致影视直接加载完成问题 - 修复: 打开app首屏加载慢问题 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.7) ## v3.1.6 (2023-04-05) - 特性: 播放页兼容调用解析(不记录历史进度) - 特性: 我的收藏增加更新检测 - 特性: 基础配置增加安全DNS设置(重启软件生效) - 优化: 彩蛋(希望发现的童鞋不要传播打开方法) - 优化: 播放器iptv直播逻辑判断(代码重构) - 优化: 借助chatgpt优化有必要de代码 - 修复: 历史记录列表统计错误(代码重构) - 修复: 去除原有load函数等待(代码重构) - 修复: 播放器进度条错误、播放历史日期不更新问题 - 修复: 部分已知css问题(variables导入错误) - 修复: 解析历史切换不加载url、日期不更新、sohu获取标题乱码问题 - 修复: 三大金刚浅色模式下播放页看不清问题(win、Linux) - 修复: 主题外观是自动时系统外观变化不同步问题(主要针对mac) - 修复: iptv开启v6检测空数据报错、ipv6检测不严谨问题 - 修复: 源设置排序与分页冲突问题 - 变动: 代理使用系统配置 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.6) ## v3.1.5 (2023-03-25) - 特性: 基础配置增加ipv6检测的支持 - 特性: 播放页增加影视离线缓存链接复制的支持 - 特性: 播放页增加iptv频道的支持 - 优化: 交互(配置变动页面该刷新就刷新、css样式) - 修复: 基础配置检查更新逻辑错误 - 修复: 系统媒体正在播放显示名称错误 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.5) ## v3.1.4 (2023-03-19) - 特性: 基础配置增加硬件加速开关(Linux兼容性) - 特性: 基础配置增加在线更新(仅win支持; mac|linux不支持) - 优化: 适配直播源解析不同规则兼容性 - 优化: 分享成功提示 - 优化: 影视和直播选择分类样式 - 修复: 最小化不暂停播放的问题 - 修复: win开启开机自启无法取消 - 变动: 基础配置重置拆分还原出厂(重置数据、清理缓存)+清理缓存 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.4) ## v3.1.3 (2023-03-12) - 特性: 基础配置增加一键配置、开机自启功能 - 特性: 源配置页面增加配置提示 - 特性: 解析页面增加历史功能 - 优化: 基础配置设计重构 - 优化: 老板键逻辑-增加校验 - 优化: 源配置页面样式主题色同步全局 - 优化: iptv页面设计同步站点源页面 - 优化: 站点源页面筛选功能重新设计(减少条条框框) - 修复: 站点源切换源分类不更新导致的错误 - 修复: 源配置当前页面全选会删除全部数据的错误 - 修复: 源配置通过网络源增加失败的错误 - 变动: 依赖库升级 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.3) ## v3.1.2 (2023-03-06) - 修复: 表格排序问题 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.2) ## v3.1.1 (2023-03-05) - 优化: 设置显示默认源样式 - 优化: iptv部分样式 - 修复: 切换选集m3u8地址不变、切换选集进度条不回滚 - 修复: 播放历史时始终为第一个url - 修复: 播放非m3u8时拼接m3u链接错误 - 修复: 设置中源index错误导致的编辑和默认错乱 - 修复: onMounted没加载完就触发load [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/v3.1.1) ## 3.1.0 (2023-02-28) - 特性: 新增全局刷新 - 特性: 新增播放器播放历史播放进度及跳过开头 - 优化: 交互逻辑 - 优化: 兼容vite4,播放器使用西瓜视频组件v3beta - 优化: 使用electron ts和import导入 - 修复: 修复老板键不生效问题 - 变动: 修改主题色对应于logo的配色 - 变动: 修改解析支持平台(减少风险,彩蛋在TODO) - 变动: 去除waterwall第三方组件导致的切换页面变成一列 [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/3.1.0) ## 3.0.0 (2023-02-06) - 特性:上线用户协议与免责声明 - 特性:影视支持多源搜索 - 特性:支持直接切换源,不用进设置配置 - 特性:新增老板键 - 优化:适配windwos无标题框模式 - 修复: 修复缺少单个iptv的epg [View on GitHub](https://github.com/Hiram-Wong/ZyPlayer/releases/tag/3.0.0) ================================================ FILE: LICENSE.txt ================================================ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software. A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public. The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version. An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Remote Network Interaction; Use with the GNU General Public License. Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see . ================================================ FILE: README.md ================================================


[![][github-release-shield]][github-release-link] [![][github-nightly-shield]][github-nightly-link] [![][github-license-shield]][github-license-link] [![][fossa-shield]][fossa-link] [![][telegram-shield]][telegram-link] [![][sponsor-shield]][sponsor-link]
[![][readmex-shield]][readmex-link] [![][deepwiki-shield]][deepwiki-link] [![][zread-shield]][zread-link]
[![][rank-hellogithub-shield]][rank-hellogithub-link] [![][rank-trendshift-shield]][rank-trendshift-link] [![][rank-producthunt-shield]][rank-producthunt-link]
# 软件介绍 zyfun是一款免费、极简、全能的跨平台影音管家,一站式管理 T1-T4 全类型资源,内置多核播放器随心切换。独家老板键,一键隐身摸鱼无忧。用观影发现世界!
展开查看软件截图 | 影视 | 直播 | | :-----------------------------------------: | :--------------------------------------: | | ![影视](docs/assets/images/app-film.png) | ![直播](docs/assets/images/app-live.png) | | **历史** | **播放** | | ![历史](docs/assets/images/app-history.png) | ![播放](docs/assets/images/app-play.png) |
## 🌴 注意事项 - 仅此Github发布,请勿上当受骗;请各管理者不要宣传及引流本软件。 - 强烈倡导合法观影,本软件仅作为播放工具,不涉及资源存储或分发。 - 仅供个人学习交流之用,24小时内请自觉卸载,勿作商业用途。 - 前身来源于[ZY-Player](https://github.com/Hunlongyu/ZY-Player),图标由@fourbeauty设计。 - 在开始使用前,请务必详读并同意用户协议,确保遵守相关规定。 ## 💻 跨平台说明 - **MacOS**: - 数据库/文件/插件/日志 路径: `~/Library/Application Support/zyfun/` - 二进制 路径: `~/.zy/bin/` - **Linux**: - 数据库/文件/插件/日志 路径: `~/.config/zyfun/` - 二进制 路径: `~/.zy/bin/` - **Windows**: - 数据库/文件/插件/日志 路径: `%USERPROFILE%\AppData\Roaming\zyfun\` - 二进制 路径: `%USERPROFILE%\.zy\bin\` ## 🛠️ 下载安装 > **开发版下载**: 需登录Github账号 > **最低要求**: 和chromium内核要求保持一致 | 操作系统 | x64 | arm64 | loong64 | 发行版 | 开发版 | 最低要求 | | :------: | :-: | :---: | :-----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------- | | Windows | ✅ | ✅ | ➖ | [GitHub](https://github.com/Hiram-Wong/zyfun/releases) | [GitHub](https://github.com/Hiram-Wong/zyfun/actions/workflows/nightly-build.yml) | >= win10 | | MacOS | ✅ | ✅ | ➖ | [GitHub](https://github.com/Hiram-Wong/zyfun/releases) | [GitHub](https://github.com/Hiram-Wong/zyfun/actions/workflows/nightly-build.yml) | >= macOS12 | | Linux | ✅ | ✅ | ❌ | [GitHub](https://github.com/Hiram-Wong/zyfun/releases)
[如意玲珑应用商店](https://store.linyaps.org.cn/)
[AUR软件包](https://aur.archlinux.org/packages?O=0&SeB=nd&K=zyfun&outdated=&SB=p&SO=d&PP=50&submit=Go) | [GitHub](https://github.com/Hiram-Wong/zyfun/actions/workflows/nightly-build.yml) | | | Harmony | ❌ | ❌ | ➖ | | |
展开查看安装问题 #### MacOS 安装后打开提示「文件已损坏」 ```bash sudo spctl --master-disable sudo xattr -cr /Applications/zyfun.app ``` #### Linux Appimage运行失败 > Running as root without --no-sandbox is not supported ```bash ./zyfun.AppImage --no-sandbox ``` > dlopen():error loading libfuse.so.2 ```bash sudo apt-get install libfuse2 ``` > Exiting GPU process due to errors during initialization ```bash xhost + ``` #### Linux deb包安装失败 > Package libnss3-1d is not installed ```bash sudo apt-get install libnss3-1d ``` > Package libxss1 is not installed ```bash sudo apt-get install libxss1 ``` #### Linux rpm包安装失败 > Dependency check failed libXScrnSaver is needed ```bash sudo yum install epel-release sudo yum install libXScrnSaver ``` > Dependency check failed xdg-utils is needed ```bash sudo yum install xdg-utils ```
## 📚 数据结构 > 请严格按照数据结构导入数据, 避免不必要的报错(如数据字段类型不匹配)
展开查看接口说明 ```json { "analyze": [ { "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 数据唯一uuid标识(不可重复) "key": "51793af6-c923-5504-85db-0ef686624dec", // <3.4.0 启用> 业务唯一标识(不可重复) "name": "Parse", // 名称(展示用) "url": "https://xxx.top/?jx=", // <3.4.1 **弃用**> 解析源地址(仅兼容旧版本) "api": "https://xxx.top/?jx=", // <3.4.1 启用> 解析源地址(推荐使用) "type": 0, // 解析类型(<=3.4.0: 0=web,1=json | >=3.4.1: 1=web,2=json) "flag": [], // <3.4.1 启用> 解析线路/标签标识 "headers": {}, // <3.4.0 启用> 请求头配置(预留字段) "script": "", // <3.4.1 启用> 执行脚本,仅 type=web 时生效 "isActive": true, // 是否启用(true=启用,false=禁用) "createdAt": 1768310498000, // <3.4.1 启用> 创建时间戳(ms) "updatedAt": 1768310498000 // <3.4.1 启用> 更新时间戳(ms) } ], "iptv": [ { "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 数据唯一uuidv标识(不可重复) "key": "51793af6-c923-5504-85db-0ef686624dec", // <3.4.0 启用> 业务唯一标识(不可重复) "name": "Iptv", // 名称(展示用) "url": "https://xxx.com/m3u/iptv.m3u", // <3.4.1 **弃用**> 直播源地址(仅兼容旧版本) "api": "https://xxx.com/m3u/iptv.m3u", // <3.4.1 启用> 直播源地址(推荐使用) "type": 1, // 解析类型(<=3.4.0: remote=远程,local=本地, manual=文本 | >=3.4.1: 1=远程,2=本地,3=文本) "epg": "https://epg.112114.eu.org/?ch={name}&date={date}", // 电子节目单地址[string] "logo": "https://epg.112114.eu.org/logo/{name}.png", // 台标地址[string] - 3.3.8启用该参数 "headers": {}, // <3.4.0 启用> 请求头配置(预留字段) "isActive": true, // 是否启用(true=启用,false=禁用) "createdAt": 1768310498000, // <3.4.1 启用> 创建时间戳(ms) "updatedAt": 1768310498000 // <3.4.1 启用> 更新时间戳(ms) } ], "channel": [ { "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 数据唯一uuidv4标识(不可重复) "name": "Channel", // 名称(展示用) "url": "https://xxx.com/m3u/iptv.m3u8", // <3.4.1 **弃用**> 播放地址(仅兼容旧版本) "api": "https://xxx.com/m3u/iptv.m3u8", // <3.4.1 启用> 播放地址(推荐使用) "logo": "https://xxx.com/logo/xxx.png", // <3.4.1 启用> 台标地址 "playback": "", // <3.4.1 启用> 预留回播参数 "group": "默认", // 分组 "createdAt": 1768310498000, // <3.4.1 启用> 创建时间戳(ms) "updatedAt": 1768310498000 // <3.4.1 启用> 更新时间戳(ms) } ], "site": [ { "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 数据唯一uuidv4标识(不可重复) "key": "51793af6-c923-5504-85db-0ef686624dec", // <3.4.0 启用> 业务唯一标识(不可重复) "name": "Film", // 名称(展示用) "api": "https://www.xxx.com/api.php/provide/vod/", // 接口地址 "playUrl": "", // 配合解析去url地址 "search": 0, // 是否支持搜索(<=3.4.0: 0= 关闭,1=聚合搜索,2=仅搜索 | >=3.4.1: true= 开启,false=关闭) "group": "切片", // 分组 "type": 1, // 适配器类型(0=T0_XML,1=T1_JSON,6=T4_DRPYS,7=T3_DRPY,8=T4_CATVOD,9=T3_XBPQ,10=T3_XYQ,11=T3_APPYSV2,12=T3_PY,13=T3_ALIST) "ext": "", // 扩展参数 "categories": "电视,影视", // 按顺序展示所配置的分类 不配置则默认展示所有分类[string] "isActive": true // 是否启用(true=启用,false=禁用) "createdAt": 1768310498000, // <3.4.1 启用> 创建时间戳(ms) "updatedAt": 1768310498000 // <3.4.1 启用> 更新时间戳(ms) } ], "drive": [ { "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 数据唯一uuidv4标识(不可重复) "key": "51793af6-c923-5504-85db-0ef686624dec", // <3.4.0 启用> 业务唯一标识(不可重复) "name": "alist", // 名称(展示用) "server": "http://alist.xxx.pro/", // 网盘地址 "showAll": false, // 是否展示全部(true=全部,false=仅视频) "startPage": "", // 开始页路径 "search": false, // 是否支持搜索(true=启用,false=禁用) "headers": "{}", // 请求头(预留字段) "params": "{}", // 参数(预留字段) "isActive": true // 是否启用(true=启用,false=禁用) } ], // <3.4.1 **弃用**> "setting": [ { "version": "3.3.2", // <3.2.2 启用> 当前版本(一定要根据实际填写,不然数据库执行会报错) "theme": "system", // 主题 (<=3.4.0: auto=跟随系统,light=亮色,dark=暗色 | system=跟随系统,light=亮色,dark=暗色) "lang": "zh_CN", // <3.3.4 启用> 语言(<=3.4.0: zh_CN=简体中文,en_US=英文 | system=更随系统,zh_CN=简体中文,zh_TW=繁体中文,en_US=英文) "zoom": 1, // <3.4.1 启用> 界面缩放比例(预留) "proxy": { "type": "none", // 代理类型(system=系统代理,custom=自定义代理,direct=直连) "url": "", // 代理地址(支持socks5/http/https协议) "bypass": "" // 忽略主机名 }, <3.4.1 启用> 代理设置 "defaultHot": "kylive", // <3.4.1 **弃用**> 热搜(kylive=酷云数据,enlightent=云合数据) "hot": "kylive", // <3.4.1 启用> 热搜(baidu=百度,douban=豆瓣,enlightent=云合,komect=移动爱家,kylive=酷云,quark=夸克) "defaultSearchRecommend": "site", // 搜索推荐 site:站点 quark:夸克 baidu:百度 douban:豆瓣 弃用 "defaultSearchType": "site", // <3.4.1 **弃用**> 全局搜索模式 site:本站 group:组内 all:全部 "defaultFilterType": false, // <3.3.7 启用, 3.4.1 **弃用**> 影视搜索过滤关键词 "site": { "searchMode": "site", // 全局搜索模式 site:本站 group:组内 all:全部 "filterMode": false, // 影视搜索过滤关键词 }, // <3.4.1 启用> 影视设置 "defaultIptvEpg": "https://epg.112114.eu.org/?ch={name}&date={date}", // <3.4.1 **弃用**> iptv电子节目单(name=频道名称 date=日期) "defaultIptvLogo": "https://epg.112114.eu.org/logo/{name}.png", // <3.4.1 **弃用**> iptv台标(name=频道名称) "iptvSkipIpv6": true, // <3.3.8 **弃用**> iptv是否跳过ipv6节目 "iptvMarkIp": true, // <3.3.8 启用, 3.4.1 **弃用**> iptv标识IP类型 "iptvThumbnail": true, // <3.4.1 **弃用**> iptv是否显示缩略图 "iptvStatus": true, // <3.3.8 **弃用**> iptv是否检测延迟 "iptvDelay": true, // <3.3.8 启用, 3.4.1 **弃用**> iptv是否检测延迟 "live": { "ipMark": true, // IP类型 "thumbnail": false, // 缩略图 "delay": false, // 延迟测速 "epg": "https://epg.112114.eu.org/?ch={name}&date={date}", // 电子节目单(name=频道名称 date=日期) "logo": "https://epg.112114.eu.org/logo/{name}.png", // 台标(name=频道名称) }, // <3.4.1 启用> 直播设置 "defaultSite": "51793af6-c923-5504-85db-0ef686624dec", // site 默认源标识 "defaultIptv": "993841fe-5e91-5e5d-35d6-5be81822960b", // iptv 默认源标识 "defaultAnalyze": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // analyze 默认源标识 "defaultDrive": "3293dc45-cf14-9c66-3028-5b7765b240b7", // <3.4.1 **弃用**> drive 默认源标识 "defaultViewCasual": "", // <3.3.4 启用 3.3.5 **弃用**> 随心看 "barrage": { "url": "", // 弹幕地址 "id": "name", // 弹幕接口返回数据对应的id "key": "danmuku", // 弹幕接口返回数据对应的key "support": ["qq", "qiyi", "youku", "mgtv"], // 弹幕支持的线路 "start": "0", <3.4.1 **弃用**> // 返回数据对应的开始时间下标 "time": 0, // <3.4.1 启用> 返回数据对应的开始时间下标 "mode": "1", // <3.4.1 **弃用**> 返回数据对应的位置下标 "type": 1, // <3.4.1 启用> 返回数据对应的位置下标 "color": 2, // 返回数据对应的颜色下标(<=3.4.0: string | >=3.4.1: number) "content": "4" // <3.4.1 **弃用**> 返回数据对应的内容下标 "text": 4 // <3.4.1 启用> 返回数据对应的内容下标 }, // <3.3.4 启用> 弹幕参数 "analyzeFlag": ["youku", "qq", "iqiyi", "qiyi", "letv", "leshi", "sohu", "tudou", "pptv", "mgtv", "imgo"], // <3.4.1 **弃用**> 解析标识 "broadcasterType": "xgplayer", // <3.3.4 **弃用**> 播放器(xgplayer=西瓜播放器,dplayer=呆呆播放器,custom=调外部播放器) "externalPlayer": "", // <3.3.4 **弃用**> 调外部播放器(类型为custom启用) "playerMode": { "type": "xgplayer", // 播放器(xgplayer=西瓜播放器,artplayer=艺术播放器,custom=调外部播放器) "external": "" // 调外部播放器(类型为custom启用) }, // <3.3.4 启用, 3.4.1 **弃用**> "player": { "type": "xgplayer", // 播放器(xgplayer=西瓜播放器,artplayer=艺术播放器,custom=调外部播放器) "external": "" // 调外部播放器(类型为custom启用) }, // <3.4.1 启用> "softSolution": false, // 软解(预留字段 true=启用,false=禁用) "skipStartEnd": false, // <3.3.5 **弃用**> 是否跳过首尾空白 "agreementMask": true, // <3.4.1 **弃用**> 是否同意协议 "disclaimer": true, // <3.4.1 启用> 是否同意协议 "recordShortcut": "Shift+Command+Z", // <3.4.1 **弃用**> 老板键 "bossKey": "Shift+Command+Z", // <3.4.1 启用> 老板键 "snifferType": "pie", // <3.3.4 **弃用**> 嗅探模式(pie=内置嗅探,iframe=原生嗅探) "snifferMode": { "type": "pie", // 嗅探模式(pie=内置嗅探,custom=三方嗅探) "url": "" // 三方嗅探接口(类型为custom时启用) }, // <3.3.4 启用, 3.4.1 **弃用**> "sniffer": { "type": "cdp", // 嗅探模式(cdp=内置嗅探,custom=三方嗅探) "url": "" // 三方嗅探接口(类型为custom时启用) }, // <3.4.1 启用> "selfBoot": false, // <3.4.1 **弃用**> 是否开机自启动 "autoStart": false, // <3.4.1 启用> 是否开机自启动 "hardwareAcceleration": true, // 是否启用硬件加速 "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", // User-Agent "dns": "" // <3.3.7 启用> DNS-over-HTTP "webdavUrl": "https://dav.jianguoyun.com/dav/", // <3.3.4 **弃用**> webdav同步盘地址 "webdavUsername": "", // <3.3.4 **弃用**> webdeav用户名 "webdavPassword": "", // <3.3.4 **弃用**> webdav密码 "webdav": { "sync": false, // 自动同步 "data": { "url": "https://dav.jianguoyun.com/dav/", // webdav同步盘地址 "user": "", // webdav用户名 "password": "" // webdav密码 } }, // <3.3.4 启用, 3.4.1 **弃用**> "cloud": { "sync": false, // 自动同步 "type": "webdav", // 备份类型(webdav=webdav同步盘, icloud=icloud云盘仅mac) "data": { "url": "https://dav.jianguoyun.com/dav/", // webdav同步盘地址 "user": "", // webdav用户名 "password": "" // webdav密码 } // 仅类型为webdav启用 }, // <3.4.1 启用> "ai": { "server": "", // AI服务器地址 "key": "", // API密钥 "model": "gpt-3.5-turbo" // 模型名称 }, // <3.3.5 启用, 3.4.1 **弃用**> "aigc": { "type": "openai", // AI类型(仅支持openai) "server": "", // AI服务器地址 "key": "", // API密钥 "model": "gpt-3.5-turbo" // 模型名称 }, // <3.4.1 启用> AI设置 "timeout": 5000, // <3.3.5 启用> 全局请求超时(ms) "restoreWindowPositionAndSize": false, // <3.3.7 **弃用**> 是否记录窗口位置 "windowPosition": { "status": false, // 是否记录窗口位置 "position": { "width": 1000, "height": 640 }, // <3.3.7 **弃用**> 窗口位置 "position_main": { "width": 1000, "height": 640 }, // <3.3.7 启用> 记录主窗口位置 "position_play": { "width": 875, "height": 550 } // <3.3.7 启用> 记录播放窗口位置 }, // <3.4.1 **弃用**> "debug": false, // <3.3.7 启用> 用于部分调试 } ] } ```
## 🤝 参与贡献 以下是您可以做出贡献的一些方式: - **贡献代码**:开发新功能或优化现有代码 <[开发文档](docs/Develop.md)> <[Mcp文档](docs/Mcp.md)> - **修复错误**:提交您发现的任何错误的修复 <[提交规范](docs/Conventional_Commits.md)> - **维护问题**:帮助管理GitHub问题 - **产品设计**:参与设计讨论 - **编写文档**:改进用户手册和指南 - **社区参与**:加入讨论并帮助用户 - **用爱发电**:支持项目发展(不限于资金,服务器等) <[kofi](https://ko-fi.com/hiramwong)> <[爱发电](https://ifdian.net/a/hiram)> [![][github-contributors-shield]][github-contributors-link] ## 🌟 Star历史 Star History Chart ## 💰 金主爸爸 - [NodeSupport](https://github.com/NodeSeekDev/NodeSupport) 赞助了本项目 - [![image](https://s2.loli.net/2025/04/09/JMyQZUKY2bX4G3q.png)](https://yxvm.com/) [github-release-shield]: https://img.shields.io/github/v/release/Hiram-Wong/zyfun?label=Release&logo=github [github-release-link]: https://github.com/Hiram-Wong/zyfun/releases [github-nightly-shield]: https://img.shields.io/github/actions/workflow/status/Hiram-Wong/zyfun/nightly-build.yml?label=NightlyBuild&logo=github [github-nightly-link]: https://github.com/Hiram-Wong/zyfun/actions/workflows/nightly-build.yml [github-contributors-shield]: https://openomy.app/svg?repo=Hiram-Wong/zyfun&chart=bubble&latestMonth=12 [github-contributors-link]: https://openomy.app/github/Hiram-Wong/zyfun [github-license-shield]: https://img.shields.io/github/license/Hiram-Wong/zyfun?label=License&logo=gnu [github-license-link]: https://github.com/Hiram-Wong/zyfun/blob/main/LICENSE.txt [fossa-shield]: https://app.fossa.com/api/projects/git%2Bgithub.com%2FHiram-Wong%2Fzyfun.svg?type=shield [fossa-link]: https://app.fossa.com/projects/git%2Bgithub.com%2FHiram-Wong%2Fzyfun?ref=badge_shield [sponsor-shield]: https://img.shields.io/badge/赞助支持-FF6699.svg?logo=githubsponsors&logoColor=white [sponsor-link]: https://ko-fi.com/hiramwong [telegram-shield]: https://img.shields.io/badge/IM-Telegram-0088CC?logo=telegram [telegram-link]: https://t.me/+IOovrYLP7gYwYmNl [readmex-shield]: https://raw.githubusercontent.com/CodePhiliaX/resource-trusteeship/main/readmex.svg [readmex-link]: https://readmex.com/Hiram-Wong/ZyPlayer [deepwiki-shield]: https://deepwiki.com/badge.svg [deepwiki-link]: https://deepwiki.com/Hiram-Wong/zyfun [zread-shield]: https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff [zread-link]: https://zread.ai/Hiram-Wong/zyfun [rank-hellogithub-shield]: https://api.hellogithub.com/v1/widgets/recommend.svg?rid=c54bf4d457b64ee7a84fd1ea0b36419a [rank-hellogithub-link]: https://hellogithub.com/repository/Hunlongyu/ZY-Player [rank-trendshift-shield]: https://trendshift.io/api/badge/repositories/20293 [rank-trendshift-link]: https://trendshift.io/repositories/20293 [rank-producthunt-shield]: https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1019733&theme=light [rank-producthunt-link]: https://www.producthunt.com/products/zyfun?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-zyfun ================================================ FILE: SECURITY.md ================================================ ## Security We takes the security of our software products and services seriously, which includes all source code repositories in our GitHub organizations. **Please do not report security vulnerabilities through public GitHub issues.** For security reporting information, locations, contact information, and policies, please link to our team. ================================================ FILE: ThirdPartyNotices.txt ================================================ NOTICES This repository incorporates material as listed below or described in the code. --------------------------------------------------------- 7zip-bin-full https://github.com/ollm/7zip-bin-full The MIT License (MIT) Copyright (c) 2016 Vladimir Krivosheev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- adm-zip https://github.com/cthackers/adm-zip MIT License Copyright (c) 2012 Another-D-Mention Software and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- artplayer-plugin-danmuku https://github.com/zhw2590582/ArtPlayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- artplayer https://github.com/zhw2590582/ArtPlayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- axios https://github.com/axios/axios # Copyright (c) 2014-present Matt Zabriskie & Collaborators Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- builder-util-runtime https://github.com/electron-userland/electron-builder The MIT License (MIT) Copyright (c) 2015 Loopline Systems Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- cheerio https://github.com/cheeriojs/cheerio MIT License Copyright (c) 2022 The Cheerio contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- chokidar https://github.com/paulmillr/chokidar The MIT License (MIT) Copyright (c) 2012 Paul Miller (https://paulmillr.com), Elan Shanker Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- commitizen https://github.com/commitizen/cz-cli The MIT License (MIT) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- crypto-js https://github.com/brix/crypto-js # License [The MIT License (MIT)](http://opensource.org/licenses/MIT) Copyright (c) 2009-2013 Jeff Mott Copyright (c) 2013-2016 Evan Vosberg Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- cz-conventional-changelog https://github.com/commitizen/cz-conventional-changelog MIT License Copyright (c) 2015-2018 Commitizen Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- dashjs https://github.com/Dash-Industry-Forum/dash.js # dash.js BSD License Agreement The copyright in this software is being made available under the BSD License, included below. This software may be subject to other third party and contributor rights, including patent rights, and no such rights are granted under this license. **Copyright (c) 2015, Dash Industry Forum. **All rights reserved.** * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Dash Industry Forum nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. **THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.** --------------------------------------------------------- --------------------------------------------------------- dayjs https://github.com/iamkun/dayjs MIT License Copyright (c) 2018-present, iamkun Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- dotenv-cli https://github.com/entropitor/dotenv-cli Copyright (c) 2025 Jens Claes The MIT License (MIT) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- dplayer https://github.com/tsukumijima/DPlayer The MIT License (MIT) Copyright (c) DIYgod (https://www.anotherhome.net/) Copyright (c) 2019-2024 tsukumi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- drizzle-orm https://github.com/drizzle-team/drizzle-orm NO LICENSE CONTENT, USE Apache-2.0 GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- electron-localshortcut https://github.com/parro-it/electron-localshortcut The MIT License (MIT) Copyright (c) 2017 Andrea Parodi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- electron-store https://github.com/sindresorhus/electron-store MIT License Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- electron-updater https://github.com/electron-userland/electron-builder The MIT License (MIT) Copyright (c) 2015 Loopline Systems Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- electron-window-state https://github.com/mawie81/electron-window-state The MIT License (MIT) Copyright (c) 2015 Jakub Szwacz Copyright (c) Marcel Wiehle (http://marcel.wiehle.me) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- emittery https://github.com/sindresorhus/emittery MIT License Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- es-toolkit https://github.com/toss/es-toolkit MIT License Copyright (c) 2024 Viva Republica, Inc Copyright OpenJS Foundation and other contributors Parts of the test suite and compatibility layer in `es-toolkit/compat` are derived from Lodash (https://github.com/lodash/lodash) by the OpenJS Foundation (https://openjsf.org/) and Underscore.js by Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors (http://underscorejs.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fast-xml-parser https://github.com/NaturalIntelligence/fast-xml-parser MIT License Copyright (c) 2017 Amit Kumar Gupta Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fastify https://github.com/fastify/fastify MIT License Copyright (c) 2016-present The Fastify team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fdir https://github.com/thecodrr/fdir Copyright 2023 Abdullah Atta Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fetch-socks https://github.com/Kaciras/fetch-socks Copyright (c) 2022-2024 Kaciras Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fluent-ffmpeg https://github.com/fluent-ffmpeg/node-fluent-ffmpeg (The MIT License) Copyright (c) 2011-2015 The fluent-ffmpeg contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- flv.js https://github.com/Bilibili/flv.js Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- form-data https://github.com/form-data/form-data Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fs-extra https://github.com/jprichardson/node-fs-extra (The MIT License) Copyright (c) 2011-2024 JP Richardson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- fuse.js https://github.com/krisk/Fuse Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2017 Kirollos Risk Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- globals https://github.com/sindresorhus/globals MIT License Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- he https://github.com/mathiasbynens/he Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- hls.js https://github.com/video-dev/hls.js Copyright (c) 2017 Dailymotion (http://www.dailymotion.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. src/remux/mp4-generator.js and src/demux/exp-golomb.ts implementation in this project are derived from the HLS library for video.js (https://github.com/videojs/videojs-contrib-hls) That work is also covered by the Apache 2 License, following copyright: Copyright (c) 2013-2015 Brightcove THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- http-status-codes https://github.com/prettymuchbryce/http-status-codes The MIT License (MIT) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- husky https://github.com/typicode/husky MIT License Copyright (c) 2021 typicode Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- i18next https://github.com/i18next/i18next The MIT License (MIT) Copyright (c) 2025 i18next Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- iconv-lite https://github.com/pillarjs/iconv-lite Copyright (c) 2011 Alexander Shtuchkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- ipaddr.js https://github.com/whitequark/ipaddr.js Copyright (C) 2011-2017 whitequark Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- isomorphic-ws https://github.com/heineiuo/isomorphic-ws The MIT License (MIT) Copyright (c) 2018 Zejin Zhuang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- js-yaml https://github.com/nodeca/js-yaml (The MIT License) Copyright (C) 2011-2015 by Vitaly Puzrin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- json5 https://github.com/json5/json5 MIT License Copyright (c) 2012-2018 Aseem Kishore, and [others]. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [others]: https://github.com/json5/json5/contributors --------------------------------------------------------- --------------------------------------------------------- jsonpath-plus https://github.com/s3u/JSONPath MIT License Copyright (c) 2011-2019 Stefan Goessner, Subbu Allamaraju, Mike Brevoort, Robert Krahn, Brett Zamir, Richard Schneider Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- less https://github.com/less/less.js NO LICENSE CONTENT, USE Apache-2.0 GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- macos-release https://github.com/sindresorhus/macos-release MIT License Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- magnet-uri https://github.com/webtorrent/magnet-uri The MIT License (MIT) Copyright (c) Feross Aboukhadijeh and WebTorrent, LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- mime-types https://github.com/jshttp/mime-types (The MIT License) Copyright (c) 2014 Jonathan Ong Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- minimist https://github.com/minimistjs/minimist This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- monaco-editor https://github.com/microsoft/monaco-editor The MIT License (MIT) Copyright (c) 2016 - present Microsoft Corporation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- monaco-yaml https://github.com/remcohaszing/monaco-yaml The MIT License (MIT) Copyright (c) Microsoft Corporation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- mpegts.js https://github.com/xqq/mpegts.js Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- node-7z https://github.com/quentinrossetti/node-7z Copyright (c) 2014-2019, Quentin Rossetti Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- node-forge https://github.com/digitalbazaar/forge You may use the Forge project under the terms of either the BSD License or the GNU General Public License (GPL) Version 2. The BSD License is recommended for most projects. It is simple and easy to understand and it places almost no restrictions on what you can do with the Forge project. If the GPL suits your project better you are also free to use Forge under that license. You don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use this project in commercial projects as long as the copyright header is left intact. If you are a commercial entity and use this set of libraries in your commercial software then reasonable payment to Digital Bazaar, if you can afford it, is not required but is expected and would be appreciated. If this library saves you time, then it's saving you money. The cost of developing the Forge software was on the order of several hundred hours and tens of thousands of dollars. We are attempting to strike a balance between helping the development community while not being taken advantage of by lucrative commercial entities for our efforts. ------------------------------------------------------------------------------- New BSD License (3-clause) Copyright (c) 2010, Digital Bazaar, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Digital Bazaar, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL BAZAAR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------- GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. --------------------------------------------------------- --------------------------------------------------------- node-stream-zip https://github.com/antelle/node-stream-zip Copyright (c) 2021 Antelle https://github.com/antelle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. == dependency license: adm-zip == Copyright (c) 2012 Another-D-Mention Software and other contributors, http://www.another-d-mention.ro/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- nplayer https://github.com/woopen/nplayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- npminstall https://github.com/cnpm/npminstall This software is licensed under the MIT License. Copyright (c) 2016-present cnpm and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- openai https://github.com/openai/openai-node Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2026 OpenAI Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- os-proxy-config https://github.com/httptoolkit/os-proxy-config Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- p-queue https://github.com/sindresorhus/p-queue MIT License Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- pako https://github.com/nodeca/pako (The MIT License) Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- pinia-shared-state https://github.com/wobsoriano/pinia-shared-state The MIT License (MIT) Copyright (c) 2022 Robert Soriano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- pinia https://github.com/vuejs/pinia The MIT License (MIT) Copyright (c) 2019-present Eduardo San Martin Morote Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- postcss-html https://github.com/ota-meshi/postcss-html MIT License Copyright (c) 2018 刘祺 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- postcss-less https://github.com/shellscape/postcss-less The MIT License (MIT) Copyright (c) 2013 Andrey Sitnik Copyright (c) 2016 Denys Kniazevych Copyright (c) 2016 Pat Sissons Copyright (c) 2017 Andrew Powell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- protobufjs https://github.com/protobufjs/protobuf.js This license applies to all parts of protobuf.js except those files either explicitly including or referencing a different license or located in a directory containing a different LICENSE file. --- Copyright (c) 2016, Daniel Wirtz All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of its author, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- Code generated by the command line utilities is owned by the owner of the input file used when generating it. This code is not standalone and requires a support library to be linked with it. This support library is itself covered by the above license. --------------------------------------------------------- --------------------------------------------------------- proxy-agent https://github.com/TooTallNate/proxy-agents (The MIT License) Copyright (c) 2013 Nathan Rajlich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- puppeteer-core https://github.com/puppeteer/puppeteer/tree/main/packages/puppeteer-core NO LICENSE CONTENT, USE Apache-2.0 GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- puppeteer-in-electron https://github.com/TrevorSundberg/puppeteer-in-electron MIT License Copyright (c) 2019 TrevorSundberg Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- qs https://github.com/ljharb/qs BSD 3-Clause License Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------- --------------------------------------------------------- rollup-plugin-visualizer https://github.com/btd/rollup-plugin-visualizer The MIT License (MIT) Copyright (c) 2016 Denis Bardadym Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- semver https://github.com/npm/node-semver The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- sm-crypto-v2 https://github.com/Cubelrti/sm-crypto-v2 NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- spdx-satisfies https://github.com/kemitchell/spdx-satisfies.js The MIT License Copyright (c) spdx-satisfies.js contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- splitpanes https://github.com/antoniandre/splitpanes MIT License Copyright (c) 2018 Antoni Andre Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- sync-fetch https://github.com/larsgw/sync-fetch MIT License Copyright (c) 2019 Lars Willighagen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- sync-request https://github.com/ForbesLindesay/sync-request Copyright (c) 2014 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- tar https://github.com/isaacs/node-tar # Blue Oak Model License Version 1.0.0 ## Purpose This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability. ## Acceptance In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow. ## Copyright Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it. ## Notices You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to . ## Excuse If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately. ## Patent Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license. ## Reliability No contributor can revoke this license. ## No Liability ***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** --------------------------------------------------------- --------------------------------------------------------- tdesign-icons-vue-next https://github.com/Tencent/tdesign-icons MIT License Copyright (c) 2021-present TDesign Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- tdesign-vue-next https://github.com/Tencent/tdesign-vue-next MIT License Copyright (c) 2021-present TDesign Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- tldts https://github.com/remusao/tldts Copyright (c) 2017 Thomas Parisot, 2018 Rémi Berson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- tokenx https://github.com/johannschopplich/tokenx MIT License Copyright (c) 2023-PRESENT Johann Schopplich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- turndown https://github.com/mixmark-io/turndown MIT License Copyright (c) 2017 Dom Christie Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- undici https://github.com/nodejs/undici MIT License Copyright (c) Matteo Collina and Undici contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- uuid https://github.com/uuidjs/uuid The MIT License (MIT) Copyright (c) 2010-2020 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- v3-infinite-loading https://github.com/oumoussa98/vue3-infinite-loading NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- vite-svg-loader https://github.com/jpkleemans/vite-svg-loader MIT License Copyright (c) 2021 Jan-Paul Kleemans Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- vue-i18n https://github.com/intlify/vue-i18n The MIT License (MIT) Copyright (c) 2020 kazuya kawaguchi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- vue-router https://github.com/vuejs/router The MIT License (MIT) Copyright (c) 2019-present Eduardo San Martin Morote Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- vue-tsc https://github.com/vuejs/language-tools MIT License Copyright (c) 2021-present Johnson Chu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- vue https://github.com/vuejs/core The MIT License (MIT) Copyright (c) 2018-present, Yuxi (Evan) You Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- web-vitals https://github.com/GoogleChrome/web-vitals Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2020 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- webdav https://github.com/perry-mitchell/webdav-client MIT License Copyright (c) 2016 Perry Mitchell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- winston-daily-rotate-file https://github.com/winstonjs/winston-daily-rotate-file The MIT License (MIT) Copyright (c) 2015-2024 winstonjs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- winston https://github.com/winstonjs/winston Copyright (c) 2010 Charlie Robbins Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- workerpool https://github.com/josdejong/workerpool Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright (C) 2014-2025 Jos de Jong wjosdejong@gmail.com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------- --------------------------------------------------------- ws https://github.com/websockets/ws Copyright (c) 2011 Einar Otto Stangvik Copyright (c) 2013 Arnout Kazemier and contributors Copyright (c) 2016 Luigi Pinca and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- xgplayer-mp4 https://github.com/bytedance/xgplayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- xgplayer-music https://github.com/bytedance/xgplayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- xgplayer-shaka https://github.com/bytedance/xgplayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- xgplayer https://github.com/bytedance/xgplayer NO LICENSE CONTENT, USE MIT GENERIC RULES --------------------------------------------------------- --------------------------------------------------------- xterm-addon-search-bar N/A MIT License Copyright (c) 2018 Leo Hui Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- --------------------------------------------------------- zeromq https://github.com/zeromq/zeromq.js Copyright 2019-2024 Amin Yahyaabadi Copyright 2017-2019 Rolf Timmermans Copyright 2011 TJ Holowaychuk Copyright 2010, 2011 Justin Tulloss Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- ================================================ FILE: build/entitlements.mac.inherit.plist ================================================ com.apple.security.app-sandbox com.apple.security.inherit ================================================ FILE: build/entitlements.mac.plist ================================================ com.apple.security.cs.allow-jit com.apple.security.cs.allow-unsigned-executable-memory com.apple.security.cs.allow-dyld-environment-variables com.apple.security.cs.disable-library-validation ================================================ FILE: build/nsis-installer.nsh ================================================ ;Inspired by: ; https://gist.github.com/bogdibota/062919938e1ed388b3db5ea31f52955c ; https://stackoverflow.com/questions/34177547/detect-if-visual-c-redistributable-for-visual-studio-2013-is-installed ; https://stackoverflow.com/a/54391388 ; https://github.com/GitCommons/cpp-redist-nsis/blob/main/installer.nsh ;Find latests downloads here: ; https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist !include LogicLib.nsh !include x64.nsh ; https://github.com/electron-userland/electron-builder/issues/1122 !ifndef BUILD_UNINSTALLER ; Check VC++ Redistributable based on architecture stored in $1 Function checkVCRedist ${If} $1 == "arm64" ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\ARM64" "Installed" ${Else} ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed" ${EndIf} FunctionEnd Function checkArchitectureCompatibility ; Initialize variables StrCpy $0 "0" ; Default to incompatible StrCpy $1 "" ; System architecture StrCpy $3 "" ; App architecture ; Check system architecture using built-in NSIS functions ${If} ${RunningX64} ; Check if it's ARM64 by looking at processor architecture ReadEnvStr $2 "PROCESSOR_ARCHITECTURE" ReadEnvStr $4 "PROCESSOR_ARCHITEW6432" ${If} $2 == "ARM64" ${OrIf} $4 == "ARM64" StrCpy $1 "arm64" ${Else} StrCpy $1 "x64" ${EndIf} ${Else} StrCpy $1 "x86" ${EndIf} ; Determine app architecture based on build variables !ifdef APP_ARM64_NAME !ifndef APP_64_NAME StrCpy $3 "arm64" ; App is ARM64 only !endif !endif !ifdef APP_64_NAME !ifndef APP_ARM64_NAME StrCpy $3 "x64" ; App is x64 only !endif !endif !ifdef APP_64_NAME !ifdef APP_ARM64_NAME StrCpy $3 "universal" ; Both architectures available !endif !endif ; If no architecture variables are defined, assume x64 ${If} $3 == "" StrCpy $3 "x64" ${EndIf} ; Compare system and app architectures ${If} $3 == "universal" ; Universal build, compatible with all architectures StrCpy $0 "1" ${ElseIf} $1 == $3 ; Architectures match StrCpy $0 "1" ${Else} ; Architectures don't match StrCpy $0 "0" ${EndIf} FunctionEnd !endif !macro customInit Push $0 Push $1 Push $2 Push $3 Push $4 ; Check architecture compatibility first Call checkArchitectureCompatibility ${If} $0 != "1" MessageBox MB_ICONEXCLAMATION "\ Architecture Mismatch$\r$\n$\r$\n\ This installer is not compatible with your system architecture.$\r$\n\ Your system: $1$\r$\n\ App architecture: $3$\r$\n$\r$\n\ Please download the correct version" Abort ${EndIf} Call checkVCRedist ${If} $0 != "1" ; VC++ is required - install automatically since declining would abort anyway ; Select download URL based on system architecture (stored in $1) ${If} $1 == "arm64" StrCpy $2 "https://aka.ms/vs/17/release/vc_redist.arm64.exe" StrCpy $3 "$TEMP\vc_redist.arm64.exe" ${Else} StrCpy $2 "https://aka.ms/vs/17/release/vc_redist.x64.exe" StrCpy $3 "$TEMP\vc_redist.x64.exe" ${EndIf} inetc::get /CAPTION " " /BANNER "Downloading Microsoft Visual C++ Redistributable..." \ $2 $3 /END Pop $0 ; Get download status from inetc::get ${If} $0 != "OK" MessageBox MB_ICONSTOP|MB_YESNO "\ Failed to download Microsoft Visual C++ Redistributable.$\r$\n$\r$\n\ Error: $0$\r$\n$\r$\n\ Would you like to open the download page in your browser?$\r$\n\ $2" IDYES openDownloadUrl IDNO skipDownloadUrl openDownloadUrl: ExecShell "open" $2 skipDownloadUrl: Abort ${EndIf} ExecWait "$3 /install /quiet /norestart" ; Note: vc_redist exit code is unreliable, verify via registry check instead Call checkVCRedist ${If} $0 != "1" MessageBox MB_ICONSTOP|MB_YESNO "\ Microsoft Visual C++ Redistributable installation failed.$\r$\n$\r$\n\ Would you like to open the download page in your browser?$\r$\n\ $2$\r$\n$\r$\n\ The installation of ${PRODUCT_NAME} cannot continue." IDYES openInstallUrl IDNO skipInstallUrl openInstallUrl: ExecShell "open" $2 skipInstallUrl: Abort ${EndIf} ${EndIf} Pop $4 Pop $3 Pop $2 Pop $1 Pop $0 !macroend ================================================ FILE: commitlint.config.js ================================================ // commit-lint config export default { extends: ['@commitlint/config-conventional'], rules: { // @see https://commitlint.js.org/#/reference-rules 'type-enum': [ 2, 'always', ['build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test', 'types'], ], }, }; ================================================ FILE: dev-app-update.yml ================================================ provider: github owner: Hiram-Wong repo: zyfun updaterCacheDirName: zyfun-updater ================================================ FILE: docs/Conventional_Commits.md ================================================ > 参考[Conventional Commits](https://www.conventionalcommits.org/zh-hans/v1.0.0/) ## 结构 提交信息由 三部分组成: 1. 标题 (Header):简洁描述此次更改内容。 2. 正文 (Body):详细说明更改的背景、原因、以及具体改动(可选)。 3. 页脚 (Footer):用于补充关联任务或备注信息(如关闭的 issue 编号或重大变更提醒)。 基本格式: ```plain ():