自定义源配置
空壳影视的所有源都写在一份 JSON 配置里。电视端最常改的是直播(tvSources),其次才是影视点播(sources)。下面先给总览,再逐字段讲,最后给一份能直接复制的完整示例。
两份现成的完整示例
示例 1:https://node.mac-cms.com示例 2:https://github.com/maccmsapp/maccms_app_config 把链接丢浏览器打开,就能看到真实配置长什么样。
接口类型
资源站的接口类型要选 MacCMS V10 或 苹果V10,一般资源站首页默认给的就是这个。
格式要求
所有符号都要用英文半角,比如 { } [ ] " : ,。中文标点会让 JSON 解析失败。
字段总览
| 字段 | 必填 | 说明 |
|---|---|---|
privateKey | 否 | 隐私码,默认 404 |
tvSources | 否 | 电视直播源(IPTV / WebTV),数组 |
sources | 否 | 影视点播源(MacCMS 接口),数组 |
tvSources 里每一项的字段:
| 字段 | 必填 | 说明 |
|---|---|---|
name | 是 | 显示在 App 里的直播源名称 |
m3uUrl | 是 | M3U 格式的直播源地址 |
block | 是 | 是否需要隐私码才可见 |
sources 里每一项的字段:
| 字段 | 必填 | 说明 |
|---|---|---|
name | 是 | 显示在 App 里的点播源名称 |
url | 是 | MacCMS 接口地址 |
playerName | 否 | 播放器别名,让界面更好看 |
blockTypeName | 否 | 要屏蔽的分类名,输隐私码后显示 |
blockAdsRule | 否 | 广告过滤正则,需转义 |
typeConfig | 否 | 一级分类转二级分类 |
desc | 否 | 源描述,显示在列表下方 |
privateKey(隐私码)
"privateKey": "404"这里写的是隐私码。上面这行表示隐私码是 404。如果你用的是别人的配置,把配置链接丢浏览器里访问一下,就能看到这个隐私码。
tvSources(电视直播源)
电视直播配置放在 tvSources 里,每个源三个字段:
name
直播源在 App 里显示的名字,自己起即可。
m3uUrl
直播源地址,必须是 M3U 格式。兼容 IPV4、IPV6。
{
"name": "IPTV 1 [IPV6]",
"m3uUrl": "https://example.com/IPTV.m3u",
"block": false
}block
控制这个直播源要不要隐私码:
false:所有人都能打开(公开)。true:要输入隐私码后才能打开(隐私)。
sources(影视点播源)
影视点播配置放在 sources 里。字段较多,逐个说。
name
点播源在 App 里显示的名字。
url
MacCMS 接口地址。一般采集站给的是 http://cj.ffzyapi.com/api.php/provide/vod/,有的会带上 at/xml,像 http://cj.ffzyapi.com/api.php/provide/vod/at/xml/。把结尾的 at/xml 去掉,剩下 http://cj.ffzyapi.com/api.php/provide/vod/ 就是能用的接口地址。
把这个地址复制到浏览器访问,会返回一串 JSON 字符串,说明接口通了,可以直接用。
(可选,让接口更快) 在刚才返回的内容里找到 vod_play_from 字段,比如:
"vod_play_from":"feifan,ffm3u8"这里 feifan 是针对网页的,App 用不上;只留 ffm3u8 就够了,能减少返回字段的大小。做法是把要用的值加到 url 末尾,前面补上 from:
- 原来:
http://cj.ffzyapi.com/api.php/provide/vod/ - 优化:
http://cj.ffzyapi.com/api.php/provide/vod/from/ffm3u8/
playerName
(可不填) 给播放器起别名,纯粹为了界面好看。键是 vod_play_from 的值,值是你起的别名:
"playerName": {
"ffm3u8": "非凡"
}blockTypeName
(可不填) 要屏蔽的分类名称,多个用英文逗号分隔的数组。对应接口返回里 type_name 的值,比如 "type_id":34,"type_pid":1,"type_name":"伦理片",这里就填 "伦理片"。被屏蔽的分类在客厅模式下不显示,输入隐私码后会显示出来。
"blockTypeName": [
"伦理",
"港台三级",
"韩国伦理",
"两性课堂",
"写真热舞"
]blockAdsRule
(可不填) 屏蔽广告的正则表达式,多个用英文逗号分隔的数组,需要转义。做法是取该资源里的一个 m3u8,拿到文本内容,找到广告 ts 片段的特征,用正则去匹配。播放时会跳过匹配到的 ts 片段。
"blockAdsRule": [
"#EXT-X-DISCONTINUITY[\\r\\n]+(?:#EXTINF:(?:4\\.666667|5\\.433333|3\\.333333|3\\.900000|3\\.233333),[\\r\\n]+.*?[\\r\\n]+){5}#EXT-X-DISCONTINUITY"
]typeConfig
(可不填) 分类配置,用于把一级分类转成二级分类。有些资源站(比如快车资源站 https://caiji.kczyapi.com/api.php/provide/vod/from/kcm3u8/)给的是一级分类,用这个字段重新组织成"大类下带小类"的结构。
"typeConfig": {
"电影": ["动作片", "喜剧片", "爱情片", "科幻片", "恐怖片", "剧情片", "纪录片", "战争片", "动画片"],
"电视剧": ["国产剧", "欧美剧", "韩剧", "日剧", "港剧", "台剧", "泰剧", "海外剧"],
"综艺": ["演唱会", "大陆综艺", "日韩综艺", "港台综艺", "欧美综艺"],
"动漫": ["国产动漫", "日韩动漫", "欧美动漫", "港台动漫", "海外动漫"]
}desc
(可不填) 资源描述,显示在设置界面源列表的下方。
"desc": "资源较全,但接口较慢,视频加载又相对流畅。"完整示例
下面是一份干净合法、可以直接复制修改的完整配置。电视直播(tvSources)在前,影视点播(sources)在后:
{
"privateKey": "404",
"tvSources": [
{
"name": "IPTV 1 [IPV6]",
"m3uUrl": "https://ghp.ci/https://raw.githubusercontent.com/cuikaipeng/IPTV/refs/heads/main/IPTV.m3u",
"block": false
},
{
"name": "IPTV 3",
"m3uUrl": "https://ghp.ci/https://raw.githubusercontent.com/vicjl/myIPTV/refs/heads/main/IPTV-all.m3u",
"block": true
}
],
"sources": [
{
"name": "非凡资源",
"url": "http://cj.ffzyapi.com/api.php/provide/vod/from/ffm3u8/",
"playerName": {
"ffm3u8": "非凡"
},
"blockTypeName": [
"伦理",
"港台三级",
"韩国伦理",
"两性课堂",
"写真热舞"
],
"blockAdsRule": [
"#EXT-X-DISCONTINUITY[\\r\\n]+(?:#EXTINF:(?:4\\.666667|5\\.433333|3\\.333333|3\\.900000|3\\.233333),[\\r\\n]+.*?[\\r\\n]+){5}#EXT-X-DISCONTINUITY"
],
"typeConfig": {
"电影": ["动作片", "喜剧片", "爱情片", "科幻片", "恐怖片", "剧情片", "纪录片", "战争片", "动画片", "邵氏电影", "4K电影"],
"电视剧": ["国产剧", "欧美剧", "韩剧", "日剧", "港剧", "台剧", "泰剧", "海外剧"],
"综艺": ["演唱会", "大陆综艺", "日韩综艺", "港台综艺", "欧美综艺"],
"动漫": ["国产动漫", "日韩动漫", "欧美动漫", "港台动漫", "海外动漫"],
"爽文短剧": ["有声动漫", "女频恋爱", "反转爽剧", "古装仙侠", "年代穿越", "脑洞悬疑", "现代都市"],
"伦理": ["韩国伦理", "港台三级", "西方伦理", "日本伦理", "两性课堂", "写真热舞"],
"体育赛事": ["篮球", "足球"]
},
"desc": ""
},
{
"name": "量子资源",
"url": "http://cj.lziapi.com/api.php/provide/vod/from/lzm3u8/",
"playerName": {
"lzm3u8": "量子"
},
"blockTypeName": ["伦理片", "新闻资讯", "电影资讯", "娱乐新闻"],
"blockAdsRule": [],
"desc": "资源较全,但接口较慢,视频加载又相对流畅。"
}
]
}