# ZyPlayer **Repository Path**: ituknow/ZyPlayer ## Basic Information - **Project Name**: ZyPlayer - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-17 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

文档 维基 反馈 下载

# 软件介绍 > 名称说明 zyfun[新名称 >=3.3.8] zyplayer[老名称 <=3.3.7] `zyfun[zyplayer]`是一款免费易用且打造的全功能媒体播放器。它基于`electron-Vite`框架, 结合`TDesign`组件库和`vue3`全家桶, 致力于提供流畅、高效的跨平台娱乐体验。 **重要提醒**: 仅此Github发布,请勿上当受骗;请各位管理者不要费力宣传及引流本软件! **重要提醒**: 请务必支持正版版权,我们不提倡盗版! **重要提醒**: 在开始使用前,请务必详读并同意用户协议,确保遵守相关规定! [![Star History Chart](https://api.star-history.com/svg?repos=Hiram-Wong/ZyPlayer&type=Date)](https://star-history.com/#Hiram-Wong/ZyPlayer&Date) ## 🌴 法律声明与注意事项 - 强烈倡导合法观影,本软件仅作为播放工具,不涉及资源存储或分发。 - 仅供个人学习交流之用,24小时内请自觉卸载,勿作商业用途。 - 软件提供播放框架,具体播放源需用户自行配置。 - 部分灵感来源于[ZY-Player](https://github.com/Hunlongyu/ZY-Player),图标素材感谢[@fourbeauty]贡献。
展开查看用户协议及免责申明 感谢您选择使用zyfun(以下简称本软件),在使用产品和服务之前,请您仔细阅读和理解以下声明: 1. 若您不同意本声明的任何内容,请您立即停止使用本软件。一旦您开始使用本软件产品和服务,则表示您已同意本声明的所有内容。 2. 本软件仅供个人学习、研究和技术交流使用,仅提供展示功能,所有数据资源均由用户自身制作提供,包括但不限于视频网站、媒体分享站点等。本软件无法控制这些资源的合法性、准确性、完整性或可用性,因此不对资源内容的真实性、合法性或适用性负责。 3. 由于数据源为用户自行制作,我们在此特别提醒, 视频或弹幕中可能出现的任何第三方广告、产品推广信息等相关内容,均系第三方(含用户)行为植入,非本软件策划或添加。请您在体验过程中保持警惕,对这类信息的真实性及合法性进行自主甄别,如用户遇诈骗因此产生的损失,本平台不承担任何责任。 4. 本软件利用网络爬虫技术获取部分数据,旨在为用户提供更全面的信息服务。包括不限于豆瓣(douban.com)、酷云(ky.live)、云合(enlightent.cn)、112114(112114.xyz), 值得注意的是这些网站的API未经过授权。用户在使用这些数据时可能面临法律风险,如因此导致的法律责任,用户应自行承担。 5. 本软件仅使用Iframe嵌入多家视频平台网站内容,包括但不限于爱奇艺(iqiyi.com)、腾讯视频(v.qq.com)、搜狐视频(tv.sohu.com)、聚力网(pptv.com)、360影视(360kan.com)及芒果TV(mgtv.com)等。对于用户在使用本软件过程中对如上网站进行的任何操作,本软件不承担任何责任。 6. 本软件具备资源嗅探特性,可能会引发第三方数据的隐私和安全风险。用户在使用该特性时,需自行承担可能产生的信息泄露或滥用风险,并对其后果负全部责任。 7. 本软件含“去广告”选项以增强体验,我们不鼓励任何侵犯版权或违反服务提供商条款的行为。启用前,请确保您的操作符合法律及服务商规则,并知悉可能的兼容性局限。 8. 为遵守网络安全法的内容审核要求,本软件不提供弹幕发送服务。关于弹幕展示,受限于本地性能未做数据清理,可能存在不良言论,请勿相信因此引起非必的要麻烦。同时如果用户通过任何渠道发表不良言论行为,该行为与本软件无关。我们呼吁用户文明用语,共同维护网络健康环境。 9. 我们深知您的隐私无价。因此,本软件绝不收集任何用户数据,除了必要的WebDev备份(此过程由专业第三方严格管理)外,所有信息均严格本地存储,确保您的数据仅在您掌控之中。此软件不与任何第三方共享您的任何信息。 10. 赞赏行为纯属自愿,旨在表达对开源软件作者或贡献者的支持和感谢,并非购买商品或服务的交易行为。赞赏者应当清楚理解,赞赏款项不享有任何商品或服务的保证,也不构成任何形式的合同关系。 11. 您在使用本软件时需自行负责所有操作和使用结果。本软件不对您通过使用本软件获取的任何内容负责,包括但不限于媒体资源的准确性、版权合规性、完整性、安全性和可用性。对于任何因使用本软件导致的损失、损害或法律纠纷,不承担任何责任。 12. 您在使用本软件时必须遵守您所在国家/地区的相关法律法规,禁止使用本软件进行任何违反法律法规的活动,包括但不限于制作、上传、传播、存储任何违法、侵权、淫秽、诽谤、恶意软件等内容。如您违反相关法律法规,需自行承担法律责任。 13. 本免责声明适用于本软件的所有用户。本软件保留随时修改、更新本声明的权利,并以Github Readme、软件更新等形式通知用户。请您定期查阅并遵守最新的免责声明。 请您在使用本软件之前认真阅读并理解本免责声明的所有内容,感谢您的理解和支持。
## 🎉 功能亮点 - **广泛兼容**:跨平台支持 Windows、Mac、Linux 系统。 - **深色模式**:适配夜间使用,保护视力。 - **资源接入**:轻松管理 json、xml 等格式的 CMS。 - **IPTV支持**:无缝播放 m3u、genre 等格式。 - **快捷隐藏**:内置老板键,隐私保护一键到位。 - **多播放器**:内置多种播放器核心,满足不同需求。 - **更多内容**: 自行探索... ### 🖼️ 软件预览
展开查看软件截图 | 影视(首页) | 影视(搜索) | | :--------------------------------------------------------------: | :--------------------------------------------------------------: | | ![影视-首页](https://s2.loli.net/2024/07/20/T8diRvA1q2QaJmP.png) | ![影视-搜索](https://s2.loli.net/2024/07/20/utwCUsVG6c7ShRJ.png) | | 影视(播放) | 解析(首页) | | ![影视播放](https://s2.loli.net/2024/07/20/DNFBu3LphASROVy.png) | ![解析-首页](https://s2.loli.net/2024/07/20/JZANVebW4EHOU7I.png) | | 直播(首页) | 直播(播放) | | ![直播-首页](https://s2.loli.net/2024/07/20/ucxSw3nR2EahG59.png) | ![直播-播放](https://s2.loli.net/2024/07/20/jYEFc6NOwtdWJBV.png) | | 历史记录 | 设置 | | ![历史记录](https://s2.loli.net/2024/07/20/DiYsx4fbcH3KU6T.png) | ![设置](https://s2.loli.net/2024/07/20/QeaDxZ2IYCFoVki.png) |
### 🍿 播放器特性 - **没有完美的播放器** - 如果只有画面没声音 - 一般为没有声轨 - 如果黑屏有声音 - 一般为播放器不支持`H265[HEVC]` - 播放器选择需考虑格式兼容性-不支持`mkv`格式 - 针对播放失败-建议切换播放器或者调用系统播放器 - 播放能力-西瓜(`H265`兼容性较好), 其他(`H264`兼容性较好) ### 💻 跨平台说明 > {appname}为软件名 - **MacOS**: - 提供 arm64(苹果芯)、x64(英特尔芯) 及 universal(通用) 三种架构安装包 - 日志路径: `~/Library/Logs/{appname}/log/` - 数据库路径: `~/Library/Application\ Support/{appname}/database/` - 插件路径: `~/Library/Application\ Support/{appname}/plugin/` - 文件路径: `~/Library/Application\ Support/{appname}/file/` - **Linux**: - 针对 arm64、x64 架构发行 image、deb、rpm 安装包 - 日志路径: `~/.config/{appname}/log/` - 数据库路径: `~/.config/{appname}/database/` - 插件路径: `~/.config/{appname}/plugin/` - 文件路径: `~/.config/{appname}/file/` - **Windows**: - 支持 arm64、x64、ia32,以及通用版本 - 日志路径: `%USERPROFILE%\AppData\Roaming\{appname}\log\` - 数据库路径: `%USERPROFILE%\AppData\Roaming\{appname}\database\` - 插件路径: `%USERPROFILE%\AppData\Roaming\{appname}\plugin\` - 文件路径: `%USERPROFILE%\AppData\Roaming\{appname}\file\` ## 🛠️ 下载安装 > **最新发布版下载**: 访问 [GitHub Releases页面](https://github.com/Hiram-Wong/ZyPlayer/releases) 获取。 > **最新开发版下载**: 访问 [GitHub Actions页面](https://github.com/Hiram-Wong/ZyPlayer/actions) 获取, 需登录Github账号。 ### MacOS 安装后打开提示「文件已损坏」 ```bash > {appname}为软件名, 访问前自行替换[含括号一起替换] [1] 执行下面命令信任开发者, 会要求输入密码: sudo spctl --master-disable [2] 执行下面命令放行软件 : sudo xattr -cr /Applications/{appname}.app ``` ### Linux Appimage桌面快捷方式设置 ```bash > {appname}为软件名, 访问前自行替换[含括号一起替换] [1] 选择一张icon图标下载 [2] 在任意位置新建一个名为{appname}.desktop的文件,并写入如下内容 [Desktop Entry] Name={appname} Exec=/home/xxx/Downloads/{appname}-x.x.x.AppImage # AppImage程序路径 Icon=/home/xxx/Downloads/{appname}.png # 图标路径 Type=Application StartupNotify=true [3] 保存{appname}.desktop后右键属性,在权限目录下允许作为程序执行文件上打钩 [4] 将{appname}.desktop文件复制到/usr/share/applications路径下 ``` ### Linux Appimage运行失败 ```bash # 报错关键词 Running as root without --no-sandbox is not supported. See https://ccrbug.com/638180. ./文件名.AppImage --no-shawbox # 报错关键词 dlopen():error loading libfuse.so.2 sudo apt-get install libfuse2 # 报错关键词 Exiting GPU process due to errors during initialization xhost + ``` ### Linux deb安装失败 ```bash # 报错关键词 Package libnss3-1d is not installed sudo apt-get install libnss3-1d # 报错关键词 Package libxss1 is not installed sudo apt-get install libxss1 ``` ## 🚗 二次开发 > **需遵守开源协议** ### 开发打包 ```shell [1] 安装 node.js version18 以上 + yarn 包安装管理工具 [2] 克隆项目 git clone https://github.com/Hiram-Wong/ZyPlayer.git [3] 进入项目 cd ZyPlayer/ [4] 打开项目<此处使用命令行快捷打开vscode> code . [5] 修改代码 [6] 安装依赖包 yarn [7] 全局安装electron-vite框架 yarn add electron-vite -D [8] 打包编译发布 yarn build:win[mac/linux] ```
展开查看依赖说明 - 部分依赖可能依赖github, 需要科学上网 - `.npmrc`启用了淘宝镜像, 部分依赖可能404, 需切换到npm官方镜像 - 开发涉及`.npmrc`文件`electron_mirror`和`electron_builder_binaries_mirror`字段 - 编译涉及`electron-builder.yml`文件`electronDownload`字段 - 兼容win7说明 - Electron 23 将包含 Chromium 110, 不再支持Windows(7/8/8.1)[点我查看](https://www.electronjs.org/zh/blog/windows-7-to-8-1-deprecation-notice) - Electron 23 起不再支持 Win 7/8/8.1, 推荐`"electron": "~22.3.27"` - Electron 23 以下不支持升级fastif及相关插件, 最高版本为`4.x` - Electron 23 以下不支持升级cheerio, 最高版本为`1.0.0-rc.12` - Electron 23 以下puppeteer存在兼容性问题, 推荐`"puppeteer-core": "~21.3.8", "puppeteer-in-electron": "^3.0.5"` - 启用HEVC硬解码说明 [点我查看](https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding/blob/main/README.zh_CN.md) - 同步库说明 - sync-fetch: - 渲染进程 + webworker线程运行 - 主进程 + fork线程运行 - sync-request: 主进程 + fork线程运行 - tree-kill结束(普通结束可能结束不干净, 导致游离进程过多) - sync-rpc子进程启动报错(参考[issue](https://github.com/ForbesLindesay/sync-rpc/issues/3)) - 插件模块说明 - `"npm": "7.24.2"` 之后的不再支持调用`npm`命令 - `monaco-editor`无法粘贴 - 方案1: `win.webContents.paste()`, 该方案监听`ctrl+v`会导致普通输入框重复粘贴, 建议监听其他快捷键则正常(改编使用者习惯) - 方案2: `editor.addAction`或`editor.onKeyDown`监听键盘按下事件, 该方案需手动写逻辑, 仅编辑器主体粘贴生效 - 方案3: `"monaco-editor": "^0.45.0"`及以下版本, 参考[issue](https://github.com/microsoft/monaco-editor/issues/4855) - 方案4: `Electron`配置`nodeIntegration: true`和`contextIsolation: false`会导致粘贴失效, 配置参数取反 - `child_process`说明 - `windows`换行符为`\r\n`, `mac`和`linux`为`\n` - `windows`执行结果乱码, 需`chcp 65001`设置编码, 如获取目录数据`chcp 65001 | dir`(`|`的作用为执行`dir`继承`chcp 65001`的`utf-8`编码) - `"electron-builder": "^25.1.8"`之后的编译器存在打包后`child_process`启动失败问题 - 文件操作说明 - `FileSystemAccessAPI`受浏览器沙箱限制, 无法访问系统目录 - 可以使用`Electron`提供的`dialog`方法配合`fs`进行操作
## 📚 数据结构 > 请严格按照数据结构填写, 避免不必要的报错(如数据字段类型不匹配) > 数据合并,请先手动导出后编辑数据后导入(软件直接导入为覆盖数据)
展开查看接口说明 ```json { "analyze": [ { "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复[uuidv4] "key": "51793af6-c923-5504-85db-0ef686624dec", // key值不建议重复[string] [3.4.0版本启用] "name": "Parse", // 名称[string] "type": 0, // 类型[number | 0:web-1:json] "url": "https://xxx.top/?jx=", // 解析源地址[string] "headers": "", // 请求头[string] 未启用预留 [3.4.0版本启用] "isActive": true // 是否启用[boolean | true启用-false禁用] } ], "iptv": [ { "id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复[uuidv4] "key": "51793af6-c923-5504-85db-0ef686624dec", // key值不建议重复[string] [3.4.0版本启用] "name": "IPTV", // 名称[string] "url": "https://xxx.com/m3u/iptv.m3u", // 直播源地址[string] "type": "remote", // url格式[string | remote:远程m3u-local本地m3u文件路径-json本地手动文件] "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": "", // 请求头[string] 未启用预留 [3.4.0版本启用] "isActive": true // 是否启用[boolean | true启用-false禁用] } ], "channel": [ { "id": "0ede1ecd-de69-1042-15d9-4e5e9e3bb897", // id唯一值不可重复[uuidv4] "name": "xx卫视", // 名称[string] "url": "http://xxx.com/index.m3u8", // 播放地址[string] "group": "默认" // 分组[string] } ], "sites": [ { "id": "51793af6-c923-5504-85db-0ef686624dec", // id唯一值不可重复[uuidv4] "key": "51793af6-c923-5504-85db-0ef686624dec", // key值不建议重复[string] "name": "xx9影视", // 名称[string] "api": "https://www.xxx.com/api.php/provide/vod/", // 站点源地址[string] "playUrl": "", // 配合解析去url地址[string] "search": 0, // 是否支持搜索[number | 0关闭-1聚合搜索-2仅搜索] "group": "切片", // 分组[string] "type": 1, // 数据源类型[number | 0:T0(xml)-1:T1(json)-2:drpy(js0)-6:T4(hipy)-7:T3(js)-8:catvod(nodejs)-9:csp(XBPQ)-10:csp(XYQ)-11:csp(AppYsV2)] "ext": "", // 扩展参数[string] "categories": "电视,影视", // 按顺序展示所配置的分类 不配置则默认展示所有分类[string] "isActive": true // 是否启用[boolean | true启用-false禁用] } ], "drive": [ { "id": "3293dc45-cf14-9c66-3028-5b7765b240b7",// id唯一值不可重复[uuidv4] "key": "51793af6-c923-5504-85db-0ef686624dec", // key值不建议重复[string] [3.4.0版本启用] "name": "alist", // 名称[string] "server": "http://alist.xxx.pro/", // 网盘地址[string] "showAll": false, // 是否启用[boolean | true显示全部-false显示video] "startPage": "", // 开始页路径[string] "search": false, // 是否支持搜索[boolean | true启用-false禁用] 未启用预留 "headers": "{}", // 请求头[string] 未启用预留 "params": "{}", // 参数[string] "isActive": true // 是否启用[boolean | true启用-false禁用] } ], "setting": [ { "version": "3.3.2", // [3.3.2版本启用]当前版本 (一定要根据实际填写,不然数据库执行会报错) "theme": "auto", // 主题 auto:跟随系统 light:亮色 dark:暗色 "lang": "zh_CN", // [3.3.4版本启用]语言 zh_CN:中文 en_US:英文 "defaultHot": "kylive", // 热搜 kylive:酷云数据 enlightent:云合数据 "defaultSearchRecommend": "site", // 搜索推荐 site:站点 quark:夸克 baidu:百度 douban:豆瓣 弃用 "defaultSearchType": "site", // 全局搜索模式 site:本站 group:组内 all:全部 "defaultCheckModel": true, // [弃用] 忘了干嘛的 "defaultChangeModel": false, // [弃用] 忘了干嘛的 "pauseWhenMinimize": false, // [弃用] 最小化时暂停 "defaultIptvEpg": "https://epg.112114.eu.org/?ch={name}&date={date}", // iptv epg "defaultIptvLogo": "https://epg.112114.eu.org/logo/{name}.png", // iptv logo "iptvSkipIpv6": true, // [3.3.8版本弃用] iptv是否跳过ipv6节目 "iptvMarkIp": true, // [3.3.8版本启用] iptv标识IP类型 "iptvThumbnail": true, // iptv是否显示缩略图 "iptvStatus": true, // [3.3.8版本弃用] iptv是否检测延迟 "iptvDelay": true, // [3.3.8版本启用] iptv是否检测延迟 "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", // drive 默认源标识 "defaultViewCasual": "", // [3.3.4版本启用] 随心看地址 "barrage": { "url": "", // 弹幕地址 "key": "danmuku", // 弹幕接口返回数据对应的key "support": ["qq", "qiyi", "youku", "mgtv"], // 弹幕支持的线路 "start": "0", // 弹幕接口返回数据对应的开始时间的位置 "mode": "1", // 弹幕接口返回数据对应的位置的位置 "color": "2", // 弹幕接口返回数据对应的颜色的位置 "content": "4" // 弹幕接口返回数据对应的内容的位置 }, // [3.3.4版本启用]弹幕参数 "analyzeFlag": ["youku", "qq", "iqiyi", "qiyi", "letv", "leshi", "sohu", "tudou", "pptv", "mgtv", "imgo"], // 解析标识 "broadcasterType": "xgplayer", // [3.3.4版本弃用,使用playerMode参数]播放器 xgplayer:西瓜 dplayer:呆呆 custom:自定义结合externalPlayer "externalPlayer": "", // [3.3.4版本弃用,使用playerMode参数]播放器为custom,调用此处系统命令 "playerMode": { "type": "xgplayer", // 播放器 xgplayer:西瓜 dplayer:呆呆 custom:自定义结合external "external": "" // 播放器为custom,调用此处系统命令 }, // [3.3.4版本启用] "softSolution": false, // 是否使用软解 预留 "communitySubscribe": "", // 社区地址 预留 "skipStartEnd": false, // [3.3.5版本弃用, pinia存储]是否跳过首尾空白 "agreementMask": true, // 是否同意协议 "recordShortcut": "Shift+Command+Z", // 录制快捷键 "snifferType": "pie", // [3.3.4版本弃用,使用snifferMode参数]嗅探模式 pie iframe "snifferMode": { "type": "pie", // 嗅探模式 pie iframe custom "url": "" // 当 type 为 custom 时填写自定义地址 }, // [3.3.4版本启用] "selfBoot": false, // 是否开机自启动 "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", // UA "webdevUrl": "https://dav.jianguoyun.com/dav/", // [3.3.4版本弃用,使用webdev参数]webdev同步盘地址 用于备份 "webdevUsername": "", // [3.3.4版本弃用,使用webdev参数]webdev用户名 用于备份 "webdevPassword": "", // [3.3.4版本弃用,使用webdev参数]webdev密码 用于备份 "webdev": { "sync": false, // 自动同步 "data": { "url": "https://dav.jianguoyun.com/dav/", // webdev同步盘地址 "user": "", // webdev用户名 "password": "" // webdev密码 } // webdev 用于备份 }, // [3.3.4版本启用] "restoreWindowPositionAndSize": false, // 弃用 "windowPosition": { "status": false, // 是否记录窗口位置 "position": { "width": 1000, "height": 640 }, // 窗口位置 [3.3.7版本弃用, 使用position_main|position_play参数] "position_main": { "width": 1000, "height": 640 }, // 窗口位置 [3.3.7版本启用] 记录主窗口位置 "position_play": { "width": 875, "height": 550 } // 窗口位置 [3.3.7版本启用] 记录播放窗口位置 }, "debug": false, // [3.3.7版本启用] 用于在线调试和嗅探页面弹出 "defaultFilterType": false, // [3.3.7版本启用] 用于影视搜索过滤关键词 "timeout": 5000, // [3.3.5版本启用] 用于调整全局请求超时事件, 单位毫秒 "dns": "" // [3.3.7版本启用] DNS-over-HTTP } ] } ```
## 💰 金主爸爸 [NodeSupport](https://github.com/NodeSeekDev/NodeSupport)赞助了本项目 [![yxvm_support.png](https://s2.loli.net/2025/04/09/JMyQZUKY2bX4G3q.png)](https://yxvm.com/) [![Powered by DartNode](https://dartnode.com/branding/DN-Open-Source-sm.png)](https://dartnode.com "Powered by DartNode - Free VPS for Open Source")