Skip to content

Hiram-Wong/ZyPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Hiram
Feb 25, 2025
e3f3854 · Feb 25, 2025
Feb 6, 2025
Dec 25, 2024
Dec 24, 2024
Feb 4, 2025
Nov 4, 2024
Feb 25, 2025
Jan 22, 2025
Mar 24, 2024
Feb 29, 2024
Jan 22, 2025
Jan 22, 2025
Jan 22, 2025
Feb 29, 2024
May 9, 2024
May 31, 2024
Mar 15, 2024
Feb 6, 2025
Feb 29, 2024
Nov 20, 2024
Feb 24, 2025
Feb 25, 2025
Mar 24, 2024
Feb 29, 2024
Nov 4, 2024
Nov 4, 2024

Repository files navigation

文档 维基 反馈 下载

软件介绍

名称新[zyfun]-名称旧[zyplayer]

一款采用现代化技术栈开发的高颜值媒体播放器,它基于 electron-vite 框架,集成了 TDesign UI 组件库与 Vue3 全家桶,以清新的薄荷绿为主题,旨在为用户提供流畅的跨平台娱乐体验。

重要提醒: 仅此Github发布,请勿上当受骗;请各位公众号、QQ群、博客的管理者不要费力宣传及引流本软件!

重要提醒: 请务必支持正版版权,我们不提倡盗版!

重要提醒: 在开始使用前,请务必详读并同意用户协议,确保遵守相关规定!

展开查看用户协议及免责申明 感谢您选择使用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、软件更新等形式通知用户。请您定期查阅并遵守最新的免责声明。

请您在使用本软件之前认真阅读并理解本免责声明的所有内容,感谢您的理解和支持。

Star History Chart

🎉 功能亮点

  • 广泛兼容:跨平台支持 Windows、Mac、Linux 系统。
  • 深色模式:适配夜间使用,保护视力。
  • 资源站接入:轻松管理 json、xml 等格式的 CMS。
  • IPTV 支持:无缝播放 m3u、genre 等格式。
  • 快捷隐藏:内置老板键,隐私保护一键到位。
  • 多播放器:内置多种播放器核心,满足不同需求。
  • 更多内容: 自行探索...

🖼️ 屏幕截图预览

展开查看软件截图
影视(首页) 影视(搜索)
影视-首页 影视-搜索
影视(播放) 解析(首页)
影视播放 解析-首页
直播(首页) 直播(播放)
直播-首页 直播-播放
历史记录 设置
历史记录 设置

🌴 法律声明与注意事项

  • 强烈倡导合法观影,本软件仅作为播放工具,不涉及资源存储或分发。
  • 仅供个人学习交流之用,24小时内请自觉卸载,勿作商业用途。
  • 软件提供播放框架,具体播放源需用户自行配置。
  • 部分灵感来源于ZY-Player,图标素材感谢[@fourbeauty]贡献。

播放器特性概览

  • 没有完美的播放器
  • 如果只有画面没声音 - 一般为没有声轨
  • 如果黑屏有声音 - 一般为播放器不支持H265[HEVC]
  • 播放器选择需考虑格式兼容性,如H264H265的差异
  • 针对播放失败, 建议切换播放器或者调用系统播放器
  • 播放能力上, 分为西瓜(H265兼容性较好)和其他(H264兼容性较好)

跨平台说明

{appname}为软件名

  • MacOS:
    • 提供 arm64(苹果芯)、x64(英特尔芯) 及 universal(通用) 三种架构安装包
    • 日志路径: ~/Library/Logs/{appname}/
    • 数据库路径: ~/Library/Application\ Support/{appname}/database/
    • 插件路径: ~/Library/Application\ Support/{appname}/plugin/
    • 文件路径: ~/Library/Application\ Support/{appname}/file/
  • Linux:
    • 针对 arm64、x64 架构发行 image、deb、rpm 安装包
    • 日志路径: ~/.config/{appname}/logs/
    • 数据库路径: ~/.config/{appname}/database/
    • 插件路径: ~/.config/{appname}/plugin/
    • 文件路径: ~/.config/{appname}/file/
  • Windows:
    • 支持 arm64、x64、ia32,以及通用版本
    • 日志路径: %USERPROFILE%\AppData\Roaming\{appname}\logs\
    • 数据库路径: %USERPROFILE%\AppData\Roaming\{appname}\database\
    • 插件路径: %USERPROFILE%\AppData\Roaming\{appname}\plugin\
    • 文件路径: %USERPROFILE%\AppData\Roaming\{appname}\file\

🛠️ 下载与安装

最新发布版下载: 访问 GitHub Releases页面 获取。

最新开发版下载: 访问 GitHub Actions页面 获取。

macOS 安装问题解决方案

因为软件没有签名,所以会被 macOS 的安全检查所拦下。安装后打开遇到「文件已损坏」的情况,请按如下方式操作:

> {appname}为软件名

[1] 执行下面命令信任开发者, 会要求输入密码:
    sudo spctl --master-disable
[2] 执行下面命令放行软件 :
    sudo xattr -cr /Applications/{appname}.app

Linux Appimage桌面快捷方式设置

> {appname}为软件名

[1] 选择一张icon图标下载
[2] 在任意位置新建一个名为{appname}.desktop的文件,并写入如下内容
    [Desktop Entry]
    Name={appname}
    Exec=/home/xxx/Downloads/{appname}.AppImage  # AppImage程序路径
    Icon=/home/xxx/Downloads/{appname}.png  # 图标路径
    Type=Application
    StartupNotify=true
[3] 保存{appname}.desktop后右键属性,在权限目录下允许作为程序执行文件上打钩
[4] 将{appname}.desktop文件复制到/usr/share/applications路径下

🚗 二次开发

[1] 安装 node.js version18 以上
[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]

ps:
  - 同步库说明
    - sync-fetch: 渲染进程 + webworker线程运行
    - sync-request: 主进程 + fork线程运行 + tree-kill结束
  - 兼容win7说明
    - 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"

📚 数据结构

请严格按照数据结构填写, 避免不必要的报错(如数据字段类型不匹配)

数据合并,请先手动导出后编辑数据后导入(软件直接导入为覆盖数据)

展开查看接口说明
{
  "analyze": [
    {
      "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复[uuidv4]
      "name": "Parse", // 名称[string]
      "type": 0, // 类型[number | 0:web-1:json]
      "url": "https://xxx.top/?jx=", // 解析源地址[string]
      "isActive": true // 是否启用[boolean | true启用-false禁用]
    }
  ],
  "iptv": [
    {
      "id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复[uuidv4]
      "name": "IPTV", // 名称[string]
      "url": "https://xxx.com/m3u/iptv.m3u", // 直播源地址[string]
      "type": "remote", // url格式[string | remote:远程m3u-local本地m3u文件路径-json本地手动文件]
      "isActive": true, // 是否启用[boolean | true启用-false禁用]
      "epg": "https://epg.112114.eu.org/?ch={name}&date={date}", // 电子节目单地址[string]
      "logo": "https://epg.112114.eu.org/logo/{name}.png" // 台标地址[string] - 3.3.8启用该参数
    }
  ],
  "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]
      "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
    }
  ]
}