# 下载文件命名格式
## avId - bv号 e.g. BV1BJ411E7uM
## numAvId - 老的数字av号 e.g. av1234567 中的1234567
## pAv - av 的第几个视频  e.g. p1/p2
## pAv[0-9] - 数字表示对齐长度，例如：
### pAv3  - 预期序号长度为3，不足补零；长度大于3不做改变，例如 p001/p002/p1234
## pDisplay - 合集的第几个视频 e.g. pn1/pn2
## pDisplay[0-9] - 数字表示对齐长度，例子参考pAv
## qn - 清晰度值  e.g. 32/64/80
## avTitle - av标题 
## clipTitle - 视频小标题
## UpName - 阿婆主的名字
## UpId - 阿婆主的id
###   以下可能不存在，仅在收藏夹/UP主视频搜索时有效
### listName - 集合名称  e.g. 某收藏夹的名称
### listOwnerName - 集合的拥有者 e.g. 某某某 （假设搜索的是某人的收藏夹）
### favTime - 收藏时间，需要与格式化日期配合，仅在收藏夹有效，建议与条件相配合
### cTime - 发布时间，需要与格式化日期配合，仅在收藏夹、普通视频有效，建议与条件相配合
#### 格式化日期(不会可以百度 java 格式化时间 SimpleDateFormat)
#bilibili.name.date.cTime.pattern = yyyy-MM-dd HH-mm-ss
bilibili.name.date.favTime.pattern = yyMMdd
bilibili.name.date.cTime.pattern = yyMMdd

####    pDisplay 和 pAv 可能不一致, 比如有的ss是分布在不同的av的第一个视频, 有的则是分布在同一av的不同p
# (:条件 格式字符串) 当条件成立时，文件名将增加括号内的格式字符串(格式字符串中不能包含有右括号`)`)
# (!条件 格式字符串) 当条件不成立时，文件名将增加括号内的格式字符串(格式字符串中不能包含有右括号`)`)
# [:条件 格式字符串] 当条件成立时，文件名将增加括号内的格式字符串 (格式字符串中不能包含有右方括号`]`)
# [!条件 格式字符串] 当条件不成立时，文件名将增加括号内的格式字符串  (格式字符串中不能包含有右方括号`]`)
##bilibili.name.format = avTitle-pDisplay-clipTitle-qn
#bilibili.name.format = (:listName listName-)avTitle-pDisplay-pAv-clipTitle-qn

bilibili.name.format = (:listName 0_listName\)UpName\avTitle-(:favTime favTime-)pAv2-qn

# 下载完成后是否马上重命名 
# 若为false, 那么会追加到重命名文件， 可以人工运行rename.bat 重命名
bilibili.name.doAfterComplete = true
# 下载完成后是否尝试给相关作品点赞👍(已经点赞的不会取消)
bilibili.download.thumbUp = false
# 全部任务完成后是否播放提示音
bilibili.download.playSound = true
#######################################################################################################
# 下载异常后尝试次数， 0 则异常后不再尝试
bilibili.download.maxFailRetry = 3

# 优先下载格式
# 0: MP4(合并分离的音视频) 1:FLV 2:MP4(直接下载mp4, 但清晰度无法选择)
bilibili.format = 0

##### 视频的优先编码方式, 越往前优先级越高
# 
# -1	表示随意，会选取API回复内容里面的第一个选项
# 7 	AVC编码 
# 12 	HEVC编码 	
# 13 	AV1编码 	
bilibili.dash.video.codec.priority = 12, 7, 13
##### 音频的优先质量, 越往前优先级越高
### 启用 杜比全景声 和 Hi-Res无损 的时候，需要注意ffmpeg的版本是否支持
###		对于Windows用户，程序`V6.19`程序版本及之后理论上可行
###		对于Windows用户，程序`V6.18`及以前的版本，请先删除原有ffmpeg.exe，再重新打开程序即可
### 	对于其他平台的，建议访问ffmpeg官网: https://ffmpeg.org/download.html
###		建议ffmpeg替换后进行测试
## 测试Hi-Res无损 BV1tB4y1E7oT
## 测试杜比视界 BV13L4y1K7th
# -1	表示随意，会选取API回复内容里面的第一个选项
# 30216 	64K			(实际大小不一定匹配，但码率只有这三档，大小的相对关系是正确的)
# 30232 	132K
# 30280 	192K
# 30250 	杜比全景声
# 30251 	Hi-Res无损
bilibili.dash.audio.quality.priority = 30280, 30232, 30216, -1, 30251, 30250
# 查询DASH方式的下载链接时，检查链接有效性，若无效则启用备用链接
bilibili.dash.checkUrl = false

# 字幕优先下载语种
# zh-CN: 中文（中国） zh-HK: 中文（中国香港）
# en-US: 英语（美国） ja:日语
# 更多详见release/wiki/langs.txt
bilibili.cc.lang = zh-CN
#######################################################################################################
# ffmpeg环境配置(当同级目录下ffmpeg无法生效时，需要人为指定ffmpeg位置)
#bilibili.ffmpegPath = D:\Workspace\javaweb-springboot\BilibiliDown\ffmpeg.exe
bilibili.ffmpegPath = ffmpeg

# 多个flv合并是否使用ffmpeg 若为false，将调用程序自己的实现
# https://github.com/nICEnnnnnnnLee/BilibiliDown/issues/31
# BV1Ss411h7Ge-80-p7
bilibili.flv.ffmpeg = false
#######################################################################################################
# 批量下载设置
## 0 下载每个tab页的第一个视频； 1 下载每个Tab页的全部视频
bilibili.menu.download.plan = 1

## 批量下载优先下载清晰度 8K/HDR/4K/1080P60/1080P+/1080P/720P60/720P/480P/320P
bilibili.menu.download.qn = 1080P
bilibili.tab.download.qn = 1080P
#######################################################################################################
# 分页查询时，每页最大显示个数
bilibili.pageSize = 5

# 分页查询时，结果展示方式
## promptAll 每个av弹出一个Tab页
## listAll 所有选项在一个Tab页面里呈现
bilibili.pageDisplay = listAll
#######################################################################################################
#下载文件保存路径， 可以是相对路径，也可以是绝对路径
bilibili.savePath = download/
#bilibili.savePath = D:\Workspace\bilibili\

#######################################################################################################
#最大的同时下载任务数
bilibili.download.poolSize = 3

#每个下载任务完成后的等待时间(ms)
bilibili.download.period.between.download = 0
#每个关于下载的查询任务完成后的等待时间(ms)
bilibili.download.period.between.query = 0

###  多线程下载配置
###### 请注意，修改多线程配置后，若不清空缓存的.part[0-9]*文件，可能导致原来未完成的下载任务失败!!!
# 下载文件时，分{count}部分同时下载
## 0 或 1 为不开启多线程下载
bilibili.download.multiThread.count = 0
# 当文件大小小于{minFileSize} MB时，不开启多线程下载
## 0 为不进行文件大小判断
bilibili.download.multiThread.minFileSize = 0
# 当下载链接匹配该正则时，不进行多线程下载
bilibili.download.multiThread.singlePattern = github|ffmpeg|\.m4s|\.jpg|\.png|\.webp|\.xml

#######################################################################################################
#UI主题
# default swing默认
# system 跟随系统
bilibili.theme = default

# button 样式
## default 默认
## design 设计
bilibili.button.style = design

#######################################################################################################
#临时文件严格模式开启与否
#开启后，如果已经存在下载好的视频(无论视频损坏与否)，该视频对应的临时文件将会被删除
#关闭后，当下载完成后，如果视频大小达标，该视频对应的临时文件将会被删除。某些异常可能会导致临时文件未被删除而一直存在。
# on / off
bilibili.restrictTempMode = on

#######################################################################################################
#是否使用仓库功能
# 开启后，每次下载前都会先从仓库查询记录。 若存在，则不开始任务
bilibili.repo = on

# 仓库功能关闭时，是否仍保存下载成功的记录(即只保存成功的下载记录而不作其它操作)
bilibili.repo.save = on

# 同一视频的不同清晰度算不算同一记录
##		on  : 同一视频两种清晰度算不同记录
##		off : 同一视频两种清晰度算相同记录
bilibili.repo.definitionStrictMode = off

#######################################################################################################
# 下载已完成的视频时，是否弹出提示 true / false
bilibili.alert.isAlertIfDownloded = true

# 批量下载时，最大提示框弹出数
bilibili.alert.maxAlertPrompt = 5
#######################################################################################################
# 同时支持HTTP + HTTPS 代理
#proxyHost = 127.0.0.1
#proxyPort = 1080

# SOCKS 代理，支持 HTTP 和 HTTPS 请求
# 注意：如果设置了 SOCKS 代理就不要设 HTTP/HTTPS 代理
#socksProxyHost = 127.0.0.1
#socksProxyPort = 1080
#######################################################################################################
# 跳过HTTPS证书检查
## https://github.com/nICEnnnnnnnLee/BilibiliDown/issues/77
## 不建议修改此选项
## 当你修改此选项时，请确认清楚地知道你在干什么
bilibili.https.allowInsecure = false

# 只允许程序单例运行，防止多开
bilibili.lockCheck = false
#######################################################################################################
## 下面三个值最好统一修改，抓的时候可以不登录
# HTTP请求使用的UserAgent(PC Web)
bilibili.userAgent.pc = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
# 浏览器指纹(取自cookie buvid_fp)
bilibili.userAgent.pc.fingerprint = a8bad806241b0b0f7add1024fbd701fa
# 截取自api请求https://api.bilibili.com/x/internal/gaia-gateway/ExClimbWuzhi
bilibili.userAgent.pc.payload = {"3064":1,"5062":"1707365865753","03bf":"https%3A%2F%2Fwww.bilibili.com%2F","39c8":"333.1007.fp.risk","34f1":"","d402":"","654a":"","6e7c":"1536x684","3c43":{"2673":0,"5766":24,"6527":0,"7003":1,"807e":1,"b8ce":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0","641c":0,"07a4":"zh-CN","1c57":"not available","0bd0":4,"748e":[864,1536],"d61f":[824,1536],"fc9d":-480,"6aa9":"Asia/Shanghai","75b8":1,"3b21":1,"8a1c":0,"d52f":"not available","adca":"Win32","80c9":[["PDF Viewer","Portable Document Format",[["application/pdf","pdf"],["text/pdf","pdf"]]],["Chrome PDF Viewer","Portable Document Format",[["application/pdf","pdf"],["text/pdf","pdf"]]],["Chromium PDF Viewer","Portable Document Format",[["application/pdf","pdf"],["text/pdf","pdf"]]],["Microsoft Edge PDF Viewer","Portable Document Format",[["application/pdf","pdf"],["text/pdf","pdf"]]],["WebKit built-in PDF","Portable Document Format",[["application/pdf","pdf"],["text/pdf","pdf"]]]],"13ab":"x7DlAAAAAElFTkSuQmCC","bfe9":"SAAmYUAFhmrCZRFNCvwHPGlBW1raHI4gAAAABJRU5ErkJggg==","a3c1":["extensions:ANGLE_instanced_arrays;EXT_blend_minmax;EXT_color_buffer_half_float;EXT_float_blend;EXT_frag_depth;EXT_shader_texture_lod;EXT_sRGB;EXT_texture_compression_bptc;EXT_texture_compression_rgtc;EXT_texture_filter_anisotropic;OES_element_index_uint;OES_fbo_render_mipmap;OES_standard_derivatives;OES_texture_float;OES_texture_float_linear;OES_texture_half_float;OES_texture_half_float_linear;OES_vertex_array_object;WEBGL_color_buffer_float;WEBGL_compressed_texture_s3tc;WEBGL_compressed_texture_s3tc_srgb;WEBGL_debug_renderer_info;WEBGL_debug_shaders;WEBGL_depth_texture;WEBGL_draw_buffers;WEBGL_lose_context","webgl aliased line width range:[1, 1]","webgl aliased point size range:[1, 1024]","webgl alpha bits:8","webgl antialiasing:yes","webgl blue bits:8","webgl depth bits:24","webgl green bits:8","webgl max anisotropy:16","webgl max combined texture image units:32","webgl max cube map texture size:16384","webgl max fragment uniform vectors:1024","webgl max render buffer size:16384","webgl max texture image units:16","webgl max texture size:16384","webgl max varying vectors:30","webgl max vertex attribs:16","webgl max vertex texture image units:16","webgl max vertex uniform vectors:4096","webgl max viewport dims:[32767, 32767]","webgl red bits:8","webgl renderer:ANGLE (Intel, Intel(R) HD Graphics 400 Direct3D11 vs_5_0 ps_5_0)","webgl shading language version:WebGL GLSL ES 1.0","webgl stencil bits:0","webgl vendor:Mozilla","webgl version:WebGL 1.0","webgl unmasked vendor:Google Inc. (Intel)","webgl unmasked renderer:ANGLE (Intel, Intel(R) HD Graphics 400 Direct3D11 vs_5_0 ps_5_0)","webgl vertex shader high float precision:23","webgl vertex shader high float precision rangeMin:127","webgl vertex shader high float precision rangeMax:127","webgl vertex shader medium float precision:23","webgl vertex shader medium float precision rangeMin:127","webgl vertex shader medium float precision rangeMax:127","webgl vertex shader low float precision:23","webgl vertex shader low float precision rangeMin:127","webgl vertex shader low float precision rangeMax:127","webgl fragment shader high float precision:23","webgl fragment shader high float precision rangeMin:127","webgl fragment shader high float precision rangeMax:127","webgl fragment shader medium float precision:23","webgl fragment shader medium float precision rangeMin:127","webgl fragment shader medium float precision rangeMax:127","webgl fragment shader low float precision:23","webgl fragment shader low float precision rangeMin:127","webgl fragment shader low float precision rangeMax:127","webgl vertex shader high int precision:0","webgl vertex shader high int precision rangeMin:31","webgl vertex shader high int precision rangeMax:30","webgl vertex shader medium int precision:0","webgl vertex shader medium int precision rangeMin:31","webgl vertex shader medium int precision rangeMax:30","webgl vertex shader low int precision:0","webgl vertex shader low int precision rangeMin:31","webgl vertex shader low int precision rangeMax:30","webgl fragment shader high int precision:0","webgl fragment shader high int precision rangeMin:31","webgl fragment shader high int precision rangeMax:30","webgl fragment shader medium int precision:0","webgl fragment shader medium int precision rangeMin:31","webgl fragment shader medium int precision rangeMax:30","webgl fragment shader low int precision:0","webgl fragment shader low int precision rangeMin:31","webgl fragment shader low int precision rangeMax:30"],"6bc5":"Google Inc. (Intel)~ANGLE (Intel, Intel(R) HD Graphics 400 Direct3D11 vs_5_0 ps_5_0)","ed31":0,"72bd":0,"097b":0,"52cd":[0,0,0],"a658":["Arial","Arial Black","Arial Narrow","Arial Unicode MS","Book Antiqua","Bookman Old Style","Calibri","Cambria","Cambria Math","Century","Century Gothic","Comic Sans MS","Consolas","Courier","Courier New","Georgia","Helvetica","Impact","Lucida Bright","Lucida Calligraphy","Lucida Console","Lucida Fax","Lucida Handwriting","Lucida Sans Unicode","Microsoft Sans Serif","Monotype Corsiva","MS Gothic","MS PGothic","MS Reference Sans Serif","MS Sans Serif","MS Serif","Palatino Linotype","Segoe Print","Segoe Script","Segoe UI","Segoe UI Light","Segoe UI Semibold","Segoe UI Symbol","Tahoma","Times","Times New Roman","Trebuchet MS","Verdana","Wingdings","Wingdings 2","Wingdings 3"],"d02f":"35.7383295930922"},"54ef":"{\"b_ut\":\"7\",\"home_version\":\"V8\",\"i-wanna-go-back\":\"-1\",\"in_new_ab\":true,\"ab_version\":{\"for_ai_home_version\":\"V8\",\"tianma_banner_inline\":\"CONTROL\",\"enable_web_push\":\"DISABLE\"},\"ab_split_num\":{\"for_ai_home_version\":54,\"tianma_banner_inline\":54,\"enable_web_push\":10}}","8b94":"","df35":"6D30A3F0-669B-6582-5832-00B5EC7795C51E174Cinfoc","07a4":"zh-CN","5f45":null,"db46":0}

#######################################################################################################
# 一键下载配置的默认名称
bilibili.download.batch.config.name = batchDownload.config
# 一键下载配置名称的匹配正则表达式
## 程序会扫描config文件夹下文件名符合该正则的文件，在菜单`配置` -> `一键下载配置`中提供切换的选项
bilibili.download.batch.config.name.pattern = ^batchDownload.*\.config$
#######################################################################################################
## 登录设置

# 登录方式
# qr 扫描QR二维码
# pwd 使用用户名密码登录
bilibili.user.login = qr

# http server监听端口
bilibili.server.port = 8787

# 默认登录用户名 (建议配置在文件config/user.config中)
#bilibili.user.userName = xxx
# 默认登录密码 (建议配置在文件config/user.config中)
#bilibili.user.password = xxxx
# 每次从user.config读取配置后，将该文件删除
bilibili.user.delete = true
