feat ✨ : add new source `cymz6/AutoIPTV-Hotel`
This commit is contained in:
parent
8c3dbec269
commit
ddcd240d41
|
@ -19,7 +19,7 @@ Sources are from:
|
||||||
- [fanmingming/live](https://github.com/fanmingming/live)
|
- [fanmingming/live](https://github.com/fanmingming/live)
|
||||||
- [qwerttvv/Beijing-IPTV](https://github.com/qwerttvv/Beijing-IPTV)
|
- [qwerttvv/Beijing-IPTV](https://github.com/qwerttvv/Beijing-IPTV)
|
||||||
- [joevess/IPTV](https://github.com/joevess/IPTV)
|
- [joevess/IPTV](https://github.com/joevess/IPTV)
|
||||||
- ~~[Meroser/IPTV](https://github.com/Meroser/IPTV)~~ The project content has been removed by Author
|
- [cymz6/AutoIPTV-Hotel](https://github.com/cymz6/AutoIPTV-Hotel)
|
||||||
|
|
||||||
EPG Sources are from:
|
EPG Sources are from:
|
||||||
|
|
||||||
|
@ -72,8 +72,4 @@ See <https://m3u.ibert.me> to get more.
|
||||||
|
|
||||||
GPL-3.0 © Herbert He
|
GPL-3.0 © Herbert He
|
||||||
|
|
||||||
本项目基于 GPL-3.0 协议开源,但下面的个人或组织不在允许名单目录中。
|
本项目基于 GPL-3.0 协议开源。
|
||||||
|
|
||||||
| 名称 | 链接 | 原因 |
|
|
||||||
| --------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| vodtv/m3u | <https://github.com/vodtv/m3u> | 违反 MIT 开源协议 "在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。" [Commit](https://github.com/vodtv/m3u/issues/3) |
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ Sources are from:
|
||||||
- [fanmingming/live](https://github.com/fanmingming/live)
|
- [fanmingming/live](https://github.com/fanmingming/live)
|
||||||
- [qwerttvv/Beijing-IPTV](https://github.com/qwerttvv/Beijing-IPTV)
|
- [qwerttvv/Beijing-IPTV](https://github.com/qwerttvv/Beijing-IPTV)
|
||||||
- [joevess/IPTV](https://github.com/joevess/IPTV)
|
- [joevess/IPTV](https://github.com/joevess/IPTV)
|
||||||
- ~~[Meroser/IPTV](https://github.com/Meroser/IPTV)~~ The project content has been removed by Author
|
- [cymz6/AutoIPTV-Hotel](https://github.com/cymz6/AutoIPTV-Hotel)
|
||||||
|
|
||||||
EPG Sources are from:
|
EPG Sources are from:
|
||||||
|
|
||||||
|
@ -46,8 +46,4 @@ See <https://m3u.ibert.me> to get more.
|
||||||
|
|
||||||
GPL-3.0 © Herbert He
|
GPL-3.0 © Herbert He
|
||||||
|
|
||||||
本项目基于 GPL-3.0 协议开源,但下面的个人或组织不在允许名单目录中。
|
本项目基于 GPL-3.0 协议开源。
|
||||||
|
|
||||||
| 名称 | 链接 | 原因 |
|
|
||||||
| --------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| vodtv/m3u | <https://github.com/vodtv/m3u> | 违反 MIT 开源协议 "在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。" [Commit](https://github.com/vodtv/m3u/issues/3) |
|
|
||||||
|
|
26
package.json
26
package.json
|
@ -20,25 +20,25 @@
|
||||||
"push": "yarn release && git push && yarn docker:build"
|
"push": "yarn release && git push && yarn docker:build"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/wasm-node": "^4.13.0",
|
"@rollup/wasm-node": "4.20.0",
|
||||||
"@types/koa": "^2.15.0",
|
"@types/koa": "^2.15.0",
|
||||||
"@types/koa-router": "^7.4.8",
|
"@types/koa-router": "^7.4.8",
|
||||||
"@types/koa-static": "^4.0.4",
|
"@types/koa-static": "4.0.4",
|
||||||
"@types/markdown-it": "^13.0.7",
|
"@types/markdown-it": "14.1.2",
|
||||||
"@types/node": "^20.11.30",
|
"@types/node": "22.2.0",
|
||||||
"@types/opencc-js": "^1.0.3",
|
"@types/opencc-js": "1.0.3",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"nodemon": "^3.1.0",
|
"nodemon": "^3.1.4",
|
||||||
"tsup": "^8.0.2",
|
"tsup": "8.2.4",
|
||||||
"typescript": "^5.4.3"
|
"typescript": "5.5.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"koa": "^2.15.2",
|
"koa": "2.15.3",
|
||||||
"koa-router": "^12.0.1",
|
"koa-router": "12.0.1",
|
||||||
"koa-static": "^5.0.0",
|
"koa-static": "5.0.0",
|
||||||
"markdown-it": "^14.1.0",
|
"markdown-it": "14.1.0",
|
||||||
"opencc-js": "^1.0.5"
|
"opencc-js": "1.0.5"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"rollup": "npm:@rollup/wasm-node"
|
"rollup": "npm:@rollup/wasm-node"
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
import { collectM3uSource } from "../utils"
|
||||||
|
import { handle_m3u, ISource, type TSources } from "./utils"
|
||||||
|
|
||||||
|
export const cymz6_lives_filter: ISource["filter"] = (
|
||||||
|
raw,
|
||||||
|
caller,
|
||||||
|
collectFn
|
||||||
|
): [string, number] => {
|
||||||
|
const rawArray = handle_m3u(raw)
|
||||||
|
|
||||||
|
if (caller === "normal" && collectFn) {
|
||||||
|
for (let i = 1; i < rawArray.length; i += 2) {
|
||||||
|
collectM3uSource(rawArray[i], rawArray[i + 1], collectFn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return [rawArray.join("\n"), (rawArray.length - 1) / 2]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cymz6_lives_sources: TSources = [
|
||||||
|
{
|
||||||
|
name: "cymz6/AutoIPTV-Hotel lives",
|
||||||
|
f_name: "cymz6_lives",
|
||||||
|
url: "https://raw.githubusercontent.com/cymz6/AutoIPTV-Hotel/main/lives.m3u",
|
||||||
|
filter: cymz6_lives_filter,
|
||||||
|
},
|
||||||
|
]
|
|
@ -5,7 +5,7 @@ export * from "./yuechan_live"
|
||||||
export * from "./fanmingming_live"
|
export * from "./fanmingming_live"
|
||||||
export * from "./qwerttvv_bj_iptv"
|
export * from "./qwerttvv_bj_iptv"
|
||||||
export * from "./joevess_iptv"
|
export * from "./joevess_iptv"
|
||||||
export * from "./meroser_iptv"
|
export * from "./cymz6_lives"
|
||||||
export * from "./utils"
|
export * from "./utils"
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
@ -17,15 +17,15 @@ import {
|
||||||
fanmingming_live_sources,
|
fanmingming_live_sources,
|
||||||
qwerttvv_bj_iptv_sources,
|
qwerttvv_bj_iptv_sources,
|
||||||
joevess_iptv_sources,
|
joevess_iptv_sources,
|
||||||
meroser_iptv_sources
|
cymz6_lives_sources
|
||||||
} from "."
|
} from "."
|
||||||
|
|
||||||
export const sources = [
|
export const sources = [
|
||||||
...fanmingming_live_sources,
|
...fanmingming_live_sources,
|
||||||
...yuechan_live_sources,
|
...yuechan_live_sources,
|
||||||
|
...cymz6_lives_sources,
|
||||||
...yang_m3u_sources,
|
...yang_m3u_sources,
|
||||||
...joevess_iptv_sources,
|
...joevess_iptv_sources,
|
||||||
...meroser_iptv_sources,
|
|
||||||
...iptv_org_sources,
|
...iptv_org_sources,
|
||||||
...iptv_org_stream_sources,
|
...iptv_org_stream_sources,
|
||||||
...epg_pw_sources,
|
...epg_pw_sources,
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
import { collectM3uSource } from "../utils"
|
|
||||||
import { handle_m3u, type TSources, converter, ISource } from "./utils"
|
|
||||||
|
|
||||||
export const meroser_iptv_filter: ISource["filter"] = (
|
|
||||||
raw,
|
|
||||||
caller,
|
|
||||||
collectFn
|
|
||||||
): [string, number] => {
|
|
||||||
const rawArray = handle_m3u(raw).filter((r) => !/#[^E]/.test(r))
|
|
||||||
|
|
||||||
if (caller === "normal" && collectFn) {
|
|
||||||
for (let i = 1; i < rawArray.length; i += 2) {
|
|
||||||
collectM3uSource(rawArray[i], rawArray[i + 1], collectFn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return [converter(rawArray.join("\n")), (rawArray.length - 1) / 2]
|
|
||||||
}
|
|
||||||
|
|
||||||
export const meroser_iptv_sources: TSources = [
|
|
||||||
{
|
|
||||||
name: "~~Meroser/IPTV IPTV~~(Removed)",
|
|
||||||
f_name: "m_iptv",
|
|
||||||
url: "https://raw.githubusercontent.com/Meroser/IPTV/main/IPTV.m3u",
|
|
||||||
filter: meroser_iptv_filter,
|
|
||||||
},
|
|
||||||
]
|
|
Loading…
Reference in New Issue