Skip to content

Releases: Johnserf-Seed/f2

v0.0.1.7

31 Dec 20:20
59e727e
Compare
Choose a tag to compare

2025年元旦快乐🎉🎉🎉

[0.0.1.7] - 2024-12-31

Added

  • 添加 douyin 动图作品接口维护输出 #218
  • 添加无法查看网页端 weibo 的异常处理 #223
  • 添加 douyin 批量采集直播的代码片段
  • 添加 Babel 依赖
  • 添加支援电子邮件地址 -> support@f2.wiki
  • 添加文档域名 -> f2.wiki
  • 添加所有应用 Bark 推送服务
  • 添加启用应用 Bark 加密推送配置
  • 添加生成 pot 文件批处理
  • 添加 Bark 加密推送模式
  • 添加生成随机字节数字方法
  • 添加 bark 通过设备 token 推送接口端点
  • 添加 RSA 加密工具类
  • 添加 AES 加密工具类
  • 添加使用 bark 端点文件生成接口
  • 添加替换配置文件中空值为空字符串
  • 添加 douyin 作品状态统计方法
  • 添加 douyin 作品状态统计接口
  • 添加 cli_commands 覆盖率测试
  • 添加 x 书签(收藏)推文模式
  • 添加 x 喜欢推文模式
  • 添加提取 x 标题方法
  • 添加 weibo 工具类测试用例
  • QA 添加 'NoneType' has no len() 解决方案
  • 添加 interval 参数通用的方法处理
  • 统一使用 Live 管理进度条任务
  • 新增 weibo 文案提取方法
  • 添加通用过滤器转列表的方法
  • 允许中断来跳过版本检查
  • 添加 tiktok proto 元数据
  • 主配置添加 Bark token 配置
  • 添加 Bark volume 配置
  • 添加 tiktok wss 客户端配置管理方法
  • 添加 tiktok 作品区间 interval 参数支持
  • 添加 Bark 警告通知级别 Finb/Bark#152
  • 添加 tiktok 直播间信息与弹幕信息回调方法
  • 添加 tiktok 直播弹幕接口模型
  • 添加 tiktok 直播间接口模型
  • 添加 tiktok 基础直播间接口模型
  • douyin 弹幕爬虫添加代理参数
  • 添加弹幕输出开关
  • 添加了通知推送 Bark 应用
  • 添加了代理验证功能
  • 添加 douyin 直播间消息显示参数
  • 添加 bark 通知配置
  • 添加 douyin本地 wss 客户端配置
  • 添加 tiktok 弹幕接口
  • 添加 douyin 作品翻页时间码显示
  • 新增实况图集下载 #75
  • 新增 douyin 本地弹幕 wss 转发服务
  • 新增大量 douyin 直播间弹幕回调接口
  • 添加抖音 live 作品解析
  • 添加支持 proxywebsockets 依赖
  • 添加 py 版本检查
  • 添加筛选作品 filter_by_date_interval 方法
  • 添加 interval_2_timestamp 方法
  • 添加 str_2_timestamp 方法
  • 在异步线程池中检测 F2 版本

Changed

  • 优化 tiktok 播放列表相关方法
  • 优化 douyin 动态作品错误的处理
  • 优化注册信号类
  • 调整进度条的完成百分比为 2 位小数
  • 优化直播流 504 状态码的处理
  • 优化应用任务通知结构
  • weibo 详情过滤器添加 nickname_raw 字段
  • 优化选择 Bark 加密通知判断逻辑
  • 分离 douyin 房间号提取方法
  • 改进 x 短链的解析与错误捕获
  • 改进错误捕获与代码规范
  • 增加 tiktok SecUserIdFetcher 类的稳定性
  • tiktok 提取 secUid 方法支持视频链接
  • 优化下载 douyin 直播流超时处理捕获层级
  • 更新 bark 模式列表与其他调整
  • 更新 x 工具类方法注释与方法名
  • 添加贡献者 #213
  • 更新 x 获取用户唯一 ID 类名
  • 修改 x 爬虫初始化可接受 x_csrf_token 参数
  • weibo 用户 id 变量名改回 uid
  • 更新 tiktok odin_tt 生成方法
  • 改进直播流下载时受服务器返回的 HTTP 不规范的错误
  • 更新 docs 工作流为 pnpm 包管理器
  • 更新 bark 加密推送,改用随机 iv
  • 取消 AES 算法 CBC 模式一起返回 Iv 的情况
  • Bark 接口爬虫 GET 方法添加 URL 转义
  • bark 基础模型添加默认值
  • 修复 bark token 校验函数
  • 更新 douyin 好友作品接口模型缺失值
  • 调整 douyin 通过 app 分享的直播短链问题情况
  • 调整堆积的丢失信息影响下载任务显示
  • 调整 douyin 视频默认清晰度地址,最高可下 4K 作品 #209
  • 更新 douyin 代码片段 #197
  • 优化 x 一些边界情况处理
  • 分离获取 weibo 用户数据的 2 种方法
  • 计算 x 推文数量时过滤空值
  • 调整 x 应用细节
  • 更新 x 喜欢模式
  • 更新爬取 x 主页推文方法
  • 更新 x 用户推文数据过滤器
  • 优化 x 下载器
  • 更新 x 接口模型
  • 手动刷新 live 管理器防止闪屏
  • 完善 douyin 测试用例
  • 调整 base_crawler 异常捕获
  • 改进 weibo 方法为异步生成器并添加翻页
  • 调整 weibo 提取文案的方法
  • 更改默认异步事件循环作用域,确保兼容性
  • 更新 x 发布时间字段
  • 更新项目 python 最低要求版本 >= 3.10.0
  • 优化了过滤器性能并提取为通用方法
  • 更新 weibo 下载器
  • 更新 timestamp_2_str 方法,新增列表转换与递归
  • 更新关闭信号注册入口
  • 更新 ua 版本 126 -> 130
  • 支持自定义 ua 生成 abogus
  • 更新代码片段
  • 使用异步任务处理 douyin 直播弹幕信息
  • 更新 douyin proto 元数据
  • 优化 base_crawler,添加更多边界处理
  • 为文本正则解析方法添加空值处理
  • 极大提升 jsonpath 解析性能
  • 捕获 yaml 格式错误导致无法解析
  • 修改终端输出格式
  • 捕获 tk设备id 注册时因网络问题导致的出错
  • 更新 douyin 直播消息 callback 方法
  • 优化 douyin 本地 WebSocket 服务性能
  • 更新 douyin 直播 BattleTeamTaskMessage 消息 proto 结构体
  • 调整 douyin 图集文件回 webp 格式
  • 添加毫秒级时间戳字符串转换
  • 优化时间戳转字符串函数
  • 重写 json_filter 逻辑
  • 完善 douyin 直播 protobuf
  • 优化抖音 interval 参数的作品解析
  • 完善静态类型检查
  • 调整进度条显示 #105
  • 更新 douyin 处理下载任务
  • 更新 douyin 筛选日期区间作品方法
  • 更新日志文件名
  • 调整 i18n 方法防止重复导入错误
  • 更新 douyin abogus 代码片段
  • 更新 vitepress 工作流
  • 更新 tiktokwebmssdk 版本号
  • 更新 douyin 直播 signature 参数
  • 更新 douyin 弹幕 sdk 版本 1.0.12 -> 1.0.14-beta.0

Deprecated

  • 弃用 douyin 扫码登录方法警告
  • 弃用 WebcastSignatureManager.model_2_endpoint 方法
  • 弃用 _get_first_item_from_list 方法
  • 弃用 num_to_base36 方法

Removed

  • 删除 bark 无用的代码
  • 删除 x 重复 utils 方法
  • 删除 weibo 工具类重复代码
  • 删除 npm 锁定文件
  • 删除 douyin wss 重复回调方法
  • 删除 tiktok 基础接口模型默认 设备id
  • 删除 x 错误的接口
  • 删除 x 转推模式
  • 删除测试无效的 JSONPath 测试

Fixed

  • 修复 x 无法下载图文的错误
  • 修复 tiktok 作品没有视频链接的错误
  • 修复 douyin 收藏夹类型错误
  • 修复 Bark 没有设置密钥时加密推送失败的情况
  • 修复 vitepress sidebar 配置
  • 修复下载器并发限制不起作用的问题
  • 修复 weibo 遗漏 uid 变量名修改
  • 修复 douyin 封面下载错误 #213
  • 修复 douyin 关注用户排序类型翻页的问题 #210
  • 修复防止变量未完成初始化
  • 修复 weibo 过滤器字段 #149
  • 修复文档线上不显示 icon 的问题
  • 修复 douyin 错误的弹幕消息类型日志
  • 修复 tiktok 错误的本地化代码
  • 修复事件循环风险 #159
  • 修复 tiktok 接口过滤器处理空值的错误
  • 修复 tiktok 直播流文件名解析错误
  • 修复 x 默认配置名 #145
  • 修复 Incomplete URL substring sanitization #139
  • 修复 douyinwebmssdk 库创建缓冲区的安全性问题
  • 修复 tiktok 读取 BaseRequestModel 配置的错误 #79
  • 修复 F2 版本检测逻辑
  • 修复文档编译 dead link 的情况

Security

  • 更新 pytest-asyncio 版本到 0.25.0
  • 更新 browser_cookie3 版本到 0.20.1
  • 更新 vitepress 版本到 1.5.0
  • 更新 pydantic 的新方法 ConfigDict 代替 Config
  • 更新 protobuf 版本到 5.28.3
  • 更新 aiofiles 版本到 24.1.0
  • 更新 importlib-resources 版本到 6.4.5
  • 更新 pytest 版本到 8.3.4
  • 更新 jsonpath-ng 版本到 1.6.1

Resolve

#42
#53
#64
#79
#94
#95
#104
#105
#110
#139
#145
#148
#154
#155
#159
#176
#187
#197
#199
#200
#209
#210
#213

Johnserf-Seed/TikTokDownload#660

What's Changed

New Contributors

Full Changelog: v0.0.1.6...v0.0.1.7

v0.0.1.6

28 Jun 10:40
f707e07
Compare
Choose a tag to compare

[0.0.1.6] - 2024-05-04

Added

  • 添加weibo应用
  • 添加abogus(limit ua)加密
  • 添加douyin加密算法切换配置
  • 添加基础接口模型转url类
  • 添加WebSocket爬虫客户端
  • 添加douyin直播wss签名管理器
  • 添加douyin直播wss签名生成类
  • 添加douyin工具JS库webmssdk.es5-1.0.0.53
  • 添加douyin直播间弹幕wss接口
  • 添加F2版本检测
  • 添加tiktok直播间开播状态
  • 添加PyExecJS==1.5.1依赖
  • 添加protobuf==4.23.0依赖
  • 添加websockets>=11.0依赖
  • 添加tiktokdevice_id注册cookie管理类
  • 添加douyin生成webid配置
  • 添加douyin关注用户直播
  • 添加douyintiktok模型配置
  • 添加conf.yaml配置版本号
  • 添加tiktok集成测试
  • 添加traceback输出
  • 添加douyin短剧作品
  • 添加同步客户端的同步transport
  • 添加同步客户端
  • 添加douyin直播弹幕初始化
  • 添加douyin合集mix_id获取方法
  • 添加douyin查询用户
  • 添加时间戳转换的默认时区设置(UTC/GMT+08:00
  • 添加ClientConfManager为每个应用提供方便的配置读取
  • 添加uniqueId查询tiktokuser_db
  • 添加获取segmentsduration列表方法
  • 添加应用运行模式的输出
  • 新增tiktok作品搜索
  • 新增tiktok用户直播
  • 添加反转义JSON方法
  • 新增douyin相关推荐
  • 新增douyin好友作品

Changed

  • 更新__aexit__方法
  • 更新douyin加密算法代码片段
  • 更新weibo测试用例
  • 优化命令不存在的输出
  • 取消接口数据过滤器对bool的预处理
  • 调整停止异步任务信号
  • 更新douyinxbogus调用
  • 为装饰器文件重命名
  • 更新获取Content-Length的方法
  • 防止douyin直播结束时下载崩溃
  • 更新BaseCrawler类处理httpx即将弃用proxies参数
  • 更新tiktokmsToken配置
  • 修复ClientConfManager参数
  • 更新了所有应用配置
  • 重构了所有工具类方法
  • 更新base_downloader的区块下载参数
  • 修改douyin生成的ttwid将绑定ua
  • 修改tiktok用户直播下载流地址
  • 修改douyintiktok获取用户信息方法名
  • 完善时间戳转换类型,支持30位
  • 修改应用的代理配置名(http: https: -> http://: https://:
  • 更新xb算法示例部分
  • 更新base_crawler异常捕获与输出
  • 更新应用初始化配置文件后退出 (#70)
  • 更新应用使用--auto-cookie命令后退出
  • 更新douyin过滤器,将video_play_addr返回完整视频列表便于下载失败轮替
  • 更改douyin图集文件名(jpg -> webp
  • 更改应用直播下载文件名(mp4 -> flv
  • 更新应用工具类网络错误捕获

Deprecated

  • 弃用douyinSSO扫码登录
  • BaseModel中的dict方法已弃用(pydantic>=2.6.4)
  • datetime中的utcnow方法已弃用
  • 弃用douyintiktok获取用户名方法

Removed

  • 删除tiktok基础请求模型的无用参数
  • 删除f2\utils\utils.py无效导入

Fixed

  • 修复douyin接口更新导致的错误 #104
  • 修复_dl日志输出
  • 修复douyin下载合集时合集链接无法识别的情况
  • 修复tiktok下载播放列表(合集)的错误
  • 修复m3u8流下载时会重复下载ts片段的问题
  • 修复m3u8流获取content_length时没有提供代理参数造成的访问失败
  • 修复douyintiktok因提前引发异常导致无法生成虚假的msToken

Security

  • 更新pytest版本到8.2.1
  • 更新pydantic版本到2.6.4
  • 更新httpx版本到0.27.0
  • 更新aiosqlite版本到0.20.0

Resolve

#104
#103
#102
#99
#98
#95
#88
#79
#78
Johnserf-Seed/TikTokDownload#703
Johnserf-Seed/TikTokDownload#718
Johnserf-Seed/TikTokDownload#711
Johnserf-Seed/TikTokDownload#702

What's Changed

Full Changelog: v0.0.1.5...v0.0.1.6

v0.0.1.5

04 Apr 16:55
f85dcc2
Compare
Choose a tag to compare
v0.0.1.5 Pre-release
Pre-release

[0.0.1.5] - 2024-04-04

Added

  • 添加安全政策汇报
  • 添加run_app时输出版本号
  • 添加douyin用户收藏夹下载
  • 添加douyinfilter对非法收藏夹名字符的处理
  • 添加douyin用户音乐收藏下载
  • 添加douyin音乐歌词json转lrc方法
  • 添加douyin用户收藏音乐下载任务
  • 添加douyin配置--lyric
  • 添加f2 utilsget_cookie_from_browser方法
  • 添加f2 utilscheck_invalid_naming方法
  • 添加f2 utilsmerge_config方法
  • 添加douyin粉丝用户接口方法(#59)
  • 添加douyin关注用户接口方法(#59)
  • 添加douyintiktok数据过滤器的原始字段
  • 添加对30位时间戳进行格式化
  • 添加测试抖音原声歌词转换
  • 添加获取抖音用户粉丝代码片段(#59)
  • 添加获取抖音用户关注代码片段(#59)
  • 添加fetch方法的timeout参数,避免请求过于频繁
  • 添加douyin用户收藏夹代码片段
  • 添加对丢失链接的重试逻辑
  • 添加自定义UA生成XBogus参数
  • 添加douyintiktokUserProfile请求内容为空的报错

Changed

  • 修改douyin主页收藏模式为collection
  • 更正douyin文档user-mix方法
  • 修改F2版本号输出
  • 修改douyintiktok帮助信息
  • 优化douyintiktokutilsmsTokenttwidsec_user_idaweme_idwebcast_id,具体请求错误的输出
  • 明确douyintiktok所有fetch函数返回为过滤器类型
  • 更新了F2版本号的导入
  • 优化tiktokhandler处理播放列表的逻辑
  • 优化douyintiktok中对具体请求错误的输出
  • 更正douyintiktokcollects_id类型导致的多次转换
  • 更正tiktokhandler多种获取用户信息方法的参数
  • 添加base_downloader对重命名文件时的异常处理
  • 更新_dlhead请求Content-Length失效时调用get方法
  • 更新douyintiktok接口文档代码片段
  • 更新douyintiktokcli中的handler_auto_cookie方法
  • 更新douyintiktokcli中的handler_naming方法
  • 更新douyintiktok--mode统一choice管理
  • 更新F2帮助说明格式
  • 统一了douyin关注粉丝用户的total字段
  • 修改下载逻辑以提高性能
  • 更新douyintiktok数据库字段(需要删除旧数据库或迁移)
  • 优化douyintiktokhandler模块注释表达与方法参数格式
  • 重构了所有handle方法的调用
  • 重构了所有fetch方法的返回类型
  • 调整douyin mix作品在没有更多数据时提前break
  • 调整tiktok获取用户数据去除地区参数
  • 优化在适当的位置yield作品数据
  • 修改日志输出级别
  • 重构数据库异常类
  • 重构文件异常类
  • 重构接口异常类
  • 完善i18n消息

Deprecated

  • 弃用douyin UserLiveFilter的无用方法
  • 弃用douyin PostDetailFilter的无用方法

Removed

  • 删除文档旧版本-d指令
  • 移除tiktokpost\detail接口示例
  • 删除无用的__init__.py文件
  • 删除douyintiktokcli下的get_cookie_from_browser方法
  • 删除example示例
  • 删除无用导入
  • 删除apps中db模块的aiosqlite导入与错误处理

Fixed

  • 修复本地化服务(#58)
  • 修复douyin关注用户数据过滤器_to_list方法的排除字段
  • 修复douyin数据过滤器时间戳类型

Security

  • 更新rich版本到13.7.1
  • 更新douyin接口版本到19.5.0

What's Changed

Full Changelog: v0.0.1.4...v0.0.1.5

v0.0.1.4

15 Feb 17:32
c74d0f7
Compare
Choose a tag to compare
v0.0.1.4 Pre-release
Pre-release

What's Changed

修复 [Fixed]

  • 修复了非Windows系统下创建长中文名文件出错的问题 #34
    Johnserf-Seed/TikTokDownload#653
    Johnserf-Seed/TikTokDownload#636
    Johnserf-Seed/TikTokDownload#483
  • 修复了接口缺失时间戳值导致的问题 #23
  • 修复了douyin utils模块对aweme_id的处理
  • 修复了CLI参数合并时的一些问题,确保自定义配置的正确性
  • 修复了douyin直播嵌套ts文件无法获取字节大小的问题 Johnserf-Seed/TikTokDownload#649
  • 修复了douyin收藏作品下载错误的问题 Johnserf-Seed/TikTokDownload#650
  • 修复了示例代码片段与开发者文档代码片段
  • 修复了cli退出时base_downloader出现 UnboundLocalError 错误的问题
  • 修复了base_downloader下载文件区块时未能正确捕获超时错误
  • 修复了在更新配置时缺少自定义配置文件路径的问题
  • 修复了get_or_add_user_data中的AttributeError问题
  • 修复了数据库文件名
  • 修复了部分自定义配置失效的问题

修改 [Change]

  • 修改了日志输出,以便更好地了解配置加载情况
  • 修改了TokenManager里固定配置的读取方式,增强了配置的易用性和可维护性
  • 修改了默认低频主配置文件、F2低频配置文件
  • 修改了配置文件与CLI命令,解决了部分自定义配置失效的问题
  • 修改了部分方法的签名,提升了代码清晰度和可读性

更新 [Update]

  • 更新了翻译文件和模板
  • 更新了app帮助说明
  • 更新了文档内容和静态文件
  • 更新了base_crawlerPOST获取json方法
  • 重新设计了处理配置参数的逻辑,提升了性能和灵活性
  • 更新了模块捕获错误时显示具体类名
  • 更新了默认低频主配置文件和F2低频配置文件
  • 更新了依赖库版本,确保兼容性 Johnserf-Seed/TikTokDownload#641
  • 更新了TikTok和Douyin的开发者接口文档和代码片段

添加 [Add]

  • 添加了默认低频配置文件路径,用于生成app配置文件
  • 添加了QA文档,提供了常见问题与解决办法
  • 添加了app cli模块的merge_config方法
  • 添加了写入配置文件时处理文件权限问题的功能
  • 添加了所有单元测试的path注释
  • 添加了对于不同操作系统下文件名长度的处理方法
  • 添加了不同apputils模块的连接失败与错误处理
  • 添加了提取有效URL的错误类型
  • 添加了douyin msToken值验证

改进 [Improve]

  • 改进了部分单元测试代码,提升了代码质量
  • 改进了douyin的handler_sso_login方法,保证配置文件路径正确
  • 优化了异常处理机制,使得错误信息更加详细和可读
  • 改进了base_downloader无代理配置默认值
  • 改进了app crawler无代理配置默认值
  • 改进了app handler类的结构和清晰度
  • 改进了日志输出,增加了配置加载情况的显示
  • 重写了配置参数的处理逻辑,提升了性能和可维护性

删除 [Delete]

  • 删除了pot翻译模板文件
  • 删除了无用的测试文件和部分注释代码
  • 删除了弃用文档
  • 移除了一些不必要的依赖和配置项
  • 删除了不再使用的接口和方法
  • 删除了F2主配置文件中的代理值与无效值
  • 删除了一些注释
  • 删除了base_crawler模块选择随机代理的注释代码

其他 [Other]

  • 进行了代码格式化和优化,增强了代码的可读性和可维护性
  • 解决了一些Bug和错误,提升了程序的稳定性和可靠性

[Issues]

#23
#34
Johnserf-Seed/TikTokDownload#483
Johnserf-Seed/TikTokDownload#636
Johnserf-Seed/TikTokDownload#641
Johnserf-Seed/TikTokDownload#649
Johnserf-Seed/TikTokDownload#650
Johnserf-Seed/TikTokDownload#653

Full Changelog: v0.0.1.3...v0.0.1.4

f2-0.0.1.3

07 Jan 11:45
8ee361b
Compare
Choose a tag to compare

f2-0.0.1.2

04 Jan 19:08
cdcbd07
Compare
Choose a tag to compare
f2-0.0.1.2 Pre-release
Pre-release

What's Changed

[Fixed]

Full Changelog: v0.0.1.1...v0.0.1.2

f2-0.0.1.1-pw1

01 Jan 06:56
026f783
Compare
Choose a tag to compare
f2-0.0.1.1-pw1 Pre-release
Pre-release

[Fixed]

修复pyproject.toml依赖部分遗漏造成的Error: No such command Johnserf-Seed/TikTokDownload#623

f2-0.0.1.0-pw1

31 Dec 18:24
b8ce425
Compare
Choose a tag to compare
f2-0.0.1.0-pw1 Pre-release
Pre-release
v0.0.1-pw1