mirror of
https://github.com/bytedream/stream-bypass.git
synced 2025-06-27 18:40:31 +02:00
use packer for filemoon
This commit is contained in:
@ -21,7 +21,7 @@ async function main() {
|
|||||||
|
|
||||||
const url = await match.match(re)
|
const url = await match.match(re)
|
||||||
|
|
||||||
if (match.replace && !url.endsWith('.m3u8')) {
|
if (match.replace && !url.includes('.m3u8')) {
|
||||||
const player = document.createElement('video')
|
const player = document.createElement('video')
|
||||||
player.style.width = '100%'
|
player.style.width = '100%'
|
||||||
player.style.height = '100%'
|
player.style.height = '100%'
|
||||||
|
@ -57,16 +57,13 @@ class Filemoon implements Match {
|
|||||||
domains = [
|
domains = [
|
||||||
'filemoon.sx'
|
'filemoon.sx'
|
||||||
]
|
]
|
||||||
regex = new RegExp(/(?<=\|)\w{2,}/gm)
|
regex = new RegExp(/eval\(function\(p,a,c,k,e,d\).*?(?=\<\/script\>)/gms)
|
||||||
|
|
||||||
async match(match: RegExpMatchArray): Promise<string> {
|
async match(match: RegExpMatchArray): Promise<string> {
|
||||||
const start_idx = match.indexOf('moon')
|
let unpacked = unPack(match[0])
|
||||||
|
let url = unpacked.match(/(?<=file:").*(?=")/)[0]
|
||||||
const prefix = `${match[start_idx]}-${match[start_idx-1]}-${match[start_idx-2]}-${match[start_idx-3]}`
|
console.log(url)
|
||||||
const time = match.find(m => m.length === 10 && !isNaN(parseInt(m)))
|
return url
|
||||||
const offset = !isNaN(parseInt(match[start_idx-12])) && parseInt(match[start_idx-12]).toString().length == match[start_idx-12].length ? 0 : -1
|
|
||||||
|
|
||||||
return `https://${prefix}.filemoon.${match[start_idx-4]}/${match[start_idx-5]}/${match[start_idx-6]}/${match[start_idx-7]}/${match[start_idx-8]}/master.m3u8?t=${match[start_idx-11]}${offset != 0 ? `-${match[start_idx-12]}` : ''}&s=${time}&e=${match[start_idx + offset - 12]}&sp=${match[start_idx + offset - 18]}`
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ async function main() {
|
|||||||
}
|
}
|
||||||
document.title = `Stream Bypass (${domain})`
|
document.title = `Stream Bypass (${domain})`
|
||||||
|
|
||||||
new URL(url).pathname.endsWith('.m3u8') ? await play_hls(url) : await play_native(url)
|
new URL(url).pathname.contains('.m3u8') ? await play_hls(url) : await play_native(url)
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
Reference in New Issue
Block a user