This commit is contained in:
charles 2025-06-14 17:56:10 +07:00 committed by GitHub
commit 204b05b18d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 4 deletions

View File

@ -7,6 +7,7 @@ export const services = {
bilibili: {
patterns: [
"video/:comId",
"video/:comId?p=:episode",
"_shortLink/:comShortLink",
"_tv/:lang/video/:tvId",
"_tv/video/:tvId"

View File

@ -17,8 +17,8 @@ function extractBestQuality(dashData) {
return [ bestVideo, bestAudio ];
}
async function com_download(id) {
let html = await fetch(`https://bilibili.com/video/${id}`, {
async function com_download(id, episode = 1) {
const html = await fetch(`https://bilibili.com/video/${id}?p=${episode}`, {
headers: {
"user-agent": genericUserAgent
}
@ -87,14 +87,14 @@ async function tv_download(id) {
};
}
export default async function({ comId, tvId, comShortLink }) {
export default async function ({ comId, tvId, comShortLink, episode }) {
if (comShortLink) {
const patternMatch = await resolveRedirectingURL(`https://b23.tv/${comShortLink}`);
comId = patternMatch?.comId;
}
if (comId) {
return com_download(comId);
return com_download(comId, episode);
} else if (tvId) {
return tv_download(tvId);
}

View File

@ -159,6 +159,11 @@ function cleanURL(url) {
limitQuery('xsec_token');
}
break;
case "bilibili":
if (url.searchParams.get('p')) {
limitQuery('p');
}
break;
}
if (stripQuery) {