feat : add new source `cymz6/AutoIPTV-Hotel`

This commit is contained in:
HerbertHe 2024-08-10 18:09:07 +08:00
parent 8c3dbec269
commit ddcd240d41
7 changed files with 492 additions and 304 deletions

View File

@ -19,7 +19,7 @@ Sources are from:
- [fanmingming/live](https://github.com/fanmingming/live)
- [qwerttvv/Beijing-IPTV](https://github.com/qwerttvv/Beijing-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:
@ -72,8 +72,4 @@ See <https://m3u.ibert.me> to get more.
GPL-3.0 &copy; Herbert He
本项目基于 GPL-3.0 协议开源,但下面的个人或组织不在允许名单目录中。
| 名称 | 链接 | 原因 |
| --------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| vodtv/m3u | <https://github.com/vodtv/m3u> | 违反 MIT 开源协议 "在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。" [Commit](https://github.com/vodtv/m3u/issues/3) |
本项目基于 GPL-3.0 协议开源。

View File

@ -15,7 +15,7 @@ Sources are from:
- [fanmingming/live](https://github.com/fanmingming/live)
- [qwerttvv/Beijing-IPTV](https://github.com/qwerttvv/Beijing-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:
@ -46,8 +46,4 @@ See <https://m3u.ibert.me> to get more.
GPL-3.0 &copy; Herbert He
本项目基于 GPL-3.0 协议开源,但下面的个人或组织不在允许名单目录中。
| 名称 | 链接 | 原因 |
| --------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| vodtv/m3u | <https://github.com/vodtv/m3u> | 违反 MIT 开源协议 "在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。" [Commit](https://github.com/vodtv/m3u/issues/3) |
本项目基于 GPL-3.0 协议开源。

View File

@ -20,25 +20,25 @@
"push": "yarn release && git push && yarn docker:build"
},
"devDependencies": {
"@rollup/wasm-node": "^4.13.0",
"@rollup/wasm-node": "4.20.0",
"@types/koa": "^2.15.0",
"@types/koa-router": "^7.4.8",
"@types/koa-static": "^4.0.4",
"@types/markdown-it": "^13.0.7",
"@types/node": "^20.11.30",
"@types/opencc-js": "^1.0.3",
"@types/koa-static": "4.0.4",
"@types/markdown-it": "14.1.2",
"@types/node": "22.2.0",
"@types/opencc-js": "1.0.3",
"cross-env": "^7.0.3",
"nodemon": "^3.1.0",
"tsup": "^8.0.2",
"typescript": "^5.4.3"
"nodemon": "^3.1.4",
"tsup": "8.2.4",
"typescript": "5.5.4"
},
"dependencies": {
"dotenv": "^16.4.5",
"koa": "^2.15.2",
"koa-router": "^12.0.1",
"koa-static": "^5.0.0",
"markdown-it": "^14.1.0",
"opencc-js": "^1.0.5"
"koa": "2.15.3",
"koa-router": "12.0.1",
"koa-static": "5.0.0",
"markdown-it": "14.1.0",
"opencc-js": "1.0.5"
},
"resolutions": {
"rollup": "npm:@rollup/wasm-node"

View File

@ -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,
},
]

View File

@ -5,7 +5,7 @@ export * from "./yuechan_live"
export * from "./fanmingming_live"
export * from "./qwerttvv_bj_iptv"
export * from "./joevess_iptv"
export * from "./meroser_iptv"
export * from "./cymz6_lives"
export * from "./utils"
import {
@ -17,15 +17,15 @@ import {
fanmingming_live_sources,
qwerttvv_bj_iptv_sources,
joevess_iptv_sources,
meroser_iptv_sources
cymz6_lives_sources
} from "."
export const sources = [
...fanmingming_live_sources,
...yuechan_live_sources,
...cymz6_lives_sources,
...yang_m3u_sources,
...joevess_iptv_sources,
...meroser_iptv_sources,
...iptv_org_sources,
...iptv_org_stream_sources,
...epg_pw_sources,

View File

@ -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,
},
]

694
yarn.lock

File diff suppressed because it is too large Load Diff