修复自定义api不生效的问题 (#396)

* Update config.yaml

* Update config.toml

* 修复自定义api不生效的问题

* Update __init__.py

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update config.toml

* Update config.toml
This commit is contained in:
haha114514 authored and GitHub committed 2023-03-22 13:39:48 +00:00
1 parent 172f9a09fe
commit df5ff2cd44
5 files changed
+14 -12

No files matched your search

+5
View File
@@ -5,6 +5,11 @@
- 🔧已修复的问题
- ⚠️需要手动操作的更新信息
## 0.4.16
- 更新时间:2023.03.23
- 🔧修复B站自定义API不生效的问题。[@xxxxuanran](https://github.com/xxxxuanran)
- 🔧修复部分config示例的错误。[@haha114514](https://github.com/haha114514)
## 0.4.15
- 更新时间:2023.03.21
- 🔧修复上一版本关于b站下载部分的优化相关的问题。[@xxxxuanran](https://github.com/xxxxuanran)
+1 -1
View File
@@ -1,7 +1,7 @@
import logging
import sys
__version__ = "0.4.15"
__version__ = "0.4.16"
LOG_CONF = {
'version': 1,
+5 -6
View File
@@ -14,7 +14,6 @@ class Bilibili(DownloadBase):
def __init__(self, fname, url, suffix='flv'):
super().__init__(fname, url, suffix)
self.fake_headers['Referer'] = 'https://live.bilibili.com'
self.customAPI_use_cookie = config.get('user', {}).get('customAPI_use_cookie', False)
self.use_live_cover = config.get('use_live_cover', False)
self.bilibili_danmaku = config.get('bilibili_danmaku', False)
if config.get('user', {}).get('bili_cookie') is not None:
@@ -62,7 +61,7 @@ class Bilibili(DownloadBase):
except:
logger.error(f"获取直播封面失败")
# 当 Cookie 存在,并且自定义APi使用Cookie开关关闭时,仅使用官方 Api
isallow = True if s.headers.get('cookie') is not None and self.customAPI_use_cookie else False
isallow = True if s.headers.get('cookie') is None else config.get('user', {}).get('customAPI_use_cookie', False)
play_info = get_play_info(s, isallow, official_api_host, params)
if play_info['code'] != 0:
logger.debug(play_info['message'])
@@ -96,22 +95,22 @@ class Bilibili(DownloadBase):
import random
i = len(cn01_domains)
while i: # 测试节点是否可用
host = cn01_domains.pop(random.choice(range(i)))
i-=1
host = cn01_domains[i]
try:
if s.get(f"https://{host}{stream_url['base_url']}{stream_url['extra']}",
stream=True).status_code == 200: # 如果响应状态码是 200,跳出循环
stream_url['host'] = "https://" + host
logger.debug(f"节点 {host} 可用,替换为该节点")
break
except requests.exceptions.ConnectionError: # 如果发生连接异常,继续下一次循环
logger.debug(f"节点 {host} 无法访问,尝试下一个节点。")
continue
else:
logger.error(f"配置文件中的cn-gotcha01节点均不可用")
logger.debug(f"节点 {host} 可用,替换为该节点")
stream_url['host'] = "https://" + host
# 强制去除 hls_ts 的 _bluray 文件名
if force_source:
stream_url['base_url'] = re.sub(r'_bluray(?=\.m3u8)?', "", stream_url['base_url'], 1)
stream_url['base_url'] = re.sub(r'_bluray(?=\.m3u8)', "", stream_url['base_url'], 1)
self.raw_stream_url = stream_url['host'] + stream_url['base_url'] + stream_url['extra']
# 强制替换ov05 302redirect之后的真实地址为指定的域名或ip达到自选ov05节点的目的
if ov05_ip and "ov-gotcha05" in stream_url['host']:
+2 -3
View File
@@ -83,10 +83,9 @@ check_sourcecode = 15
#bili_force_ov05_ip = "163.171.197.234"
### 强制替换cn-gotcha01(叔叔自建,理论上最稳定)为指定的自选域名组(可多个域名,请用逗号分隔)
### 完整CDN列表请参考 https://rec.danmuji.org/dev/bilibili-cdn/ 中"B站视频云"的部分
### 此功能需要设置bili_perfCDN为cn-gotcha01,并且设置bili_protocol为hls。
### 此功能目前会和stream-gears冲突导致很多分段,请考虑使用ffmpeg录制
### 如果海外机器需要使用此功能,需要在bili_liveapi中指定国内的反代API来获取cn-gotcha01的节点信息。
### 海外机的玩法:配合一个国内的机器(例如便宜的腾讯云,阿里云等等)自建反代api.live.bilibili.com
### 海外机的玩法:配合一个国内的机器(例如便宜的腾讯云,阿里云等等)自建反代api.live.bilibili.com。或者使用https://docs.qq.com/doc/DV2dvbXBrckNscU9x 此处提供的公用反代API
### 如果海外机到联通或者移动网络线路还不错,就可以参考***完整CDN列表***选取一些联通或者移动的节点并填入下面
### 每次会随机返回填入的其中一个线路,并且会自动判断所填入的节点是否可用
#bili_force_cn01 = true
@@ -160,7 +159,7 @@ tags = [ "biliup", "视频标签" ]
#------哔哩哔哩获取直播流用COOKIE------#
### 可参照https://github.com/BililiveRecorder/BililiveRecorder/issues/263.
### 也可使用biliup-rs来获取以下项目.
#bili_cookie: 'SESSDATA=none;bili_jct=none;DedeUserID__ckMd5=none;DedeUserID=none;access_token=none;'
#bili_cookie = 'SESSDATA=none;bili_jct=none;DedeUserID__ckMd5=none;DedeUserID=none;access_token=none;'
### 重要!!!
###是否将cookie传入第三方API。将Cookie传入未知的第三方API有几率泄露帐号登录信息。
###在开启了自定义Cookie(bili_cookie)又同时设置了第三方API(bili_liveapi)的情况下,如果打开了允许第三方API使用Cookie,那么就使用第三方API,如果没有允许(默认),那么设置的第三方API就不生效
+1 -2
View File
@@ -81,10 +81,9 @@ check_sourcecode: 15
#bili_force_ov05_ip: '163.171.197.234'
### 强制替换cn-gotcha01(叔叔自建,理论上最稳定)为指定的自选域名组(可多个域名,请用逗号分隔)
### 完整CDN列表请参考 https://rec.danmuji.org/dev/bilibili-cdn/ 中"B站视频云"的部分
### 此功能需要设置bili_protocol为hls。
### 此功能目前会和stream-gears冲突导致很多分段,请考虑使用ffmpeg录制
### 如果海外机器需要使用此功能,需要在bili_liveapi中指定国内的反代API来获取cn-gotcha01的节点信息。
### 海外机的玩法:配合一个国内的机器(例如便宜的腾讯云,阿里云等等)自建反代api.live.bilibili.com
### 海外机的玩法:配合一个国内的机器(例如便宜的腾讯云,阿里云等等)自建反代api.live.bilibili.com。或者使用https://docs.qq.com/doc/DV2dvbXBrckNscU9x 此处提供的公用反代API。
### 如果海外机到联通或者移动网络线路还不错,就可以参考***完整CDN列表***选取一些联通或者移动的节点并填入下面
### 每次会随机返回填入的其中一个线路,并且会自动判断所填入的节点是否可用
#bili_force_cn01_domains: 'cn-jxnc-cm-01-16.bilivideo.com,cn-gddg-cm-01-06.bilivideo.com,cn-fjqz-cm-01-06.bilivideo.com,cn-jssz-cm-01-02.bilivideo.com,cn-gddg-ct-01-12.bilivideo.com'