修复自定义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:
1 parent
172f9a09fe
commit
df5ff2cd44
5 files changed
+14
-12
No files matched your search
@@ -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
@@ -1,7 +1,7 @@
|
||||
import logging
|
||||
import sys
|
||||
|
||||
__version__ = "0.4.15"
|
||||
__version__ = "0.4.16"
|
||||
|
||||
LOG_CONF = {
|
||||
'version': 1,
|
||||
|
||||
@@ -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
@@ -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
@@ -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'
|
||||
|
||||
Reference in new issue
Block a user