MCPcopy Index your code
hub / github.com/Johnserf-Seed/f2

github.com/Johnserf-Seed/f2 @v0.0.1.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.1.7 ↗ · + Follow
2,515 symbols 8,488 edges 210 files 519 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Logo

Downloads PyPI version Dev Branch Discord codecov TikHub APACHE-2.0

简体中文 readmeEnglish readme

F2 是一个 Python 库,提供多平台的作品下载与接口数据处理。支持 DouYinTikTokTwitterWeiBo 等平台,且方便适配更多平台。

🚀 快速入门

⚙️ 安装

⚡ 快速使用

📋 配置文件

💻 命令行

📚 进阶用法

🧐 FAQ

👏 团队

📘 开发指南

📝 API示例

🧩 开发者接口

🖥️ 命令行指引

✨ 新变化

当下载或升级到 F2 的不同版本时,请注意以下关键的版本更新。

🛠️ v0.0.1.7-pw2

  • 🚀 新增 Bark 应用支持 请前往 App Store 下载 Bark,并在 F2 配置文件 中完成相关配置。
  • 🛡️ 开放 ab 算法 已开源满血版 ab 算法,支持自定义 UA。请确保自定义 UA 符合规范。
  • 📡 新增直播弹幕转发功能 支持 douyintiktok 直播弹幕转发,请根据 WSS 配置指南 完成相应参数配置。
  • 🔔 启用通知推送 如需启用应用通知推送,请在 F2 配置文件 中设置 enable_bark 参数为 true
  • 📄 更多变更详情 请查看完整的 ChangeLog

📌 v0.0.1.6-pw2

  • 🛠️ 配置文件格式已更新 如果你使用旧版配置文件,请注意进行迁移。
  • 🌍 时区标准化 所有时间戳的默认时区已设置为 UTC/GMT+08:00
  • 📁 文件格式调整
    • douyin 直播流文件名调整为 flv
    • 图集格式调整回 webp
  • 🔄 错误修复 修复了 tiktok 视频地址 403 错误。 👉 了解更多解决方案
  • 🛡️ 算法优化 douyin 现在默认使用 ab 算法进行请求。(满血版 ab 算法即将开源)
  • 📄 更多变更详情 👉 查看 ChangeLog

📡 v0.0.1.5-pw2

  • 🛡️ 自定义 UA 支持 XBogus 参数现在支持自定义 UA,请确保 UA 符合规范。
  • 📊 数据库重建 重建后的数据库包含接口的原始数据。 👉 如需保留旧记录,请注意迁移或备份。
  • 🔄 返回类型统一 所有 fetch 方法的返回类型已统一为过滤器类型,请注意相关变化。
  • 🛠️ 新功能 添加了 _to_raw 方法,可将过滤器转换为原始接口数据。
  • 📝 文件名模板更新 如果文件名不符合新规范,将抛出异常,请检查并调整。
  • 🔗 链接解析修复 修复了 douyin 合集页链接无法解析的问题。 👉 了解更多
  • 📄 更多变更详情 👉 查看 ChangeLog

📑 文档

F2 的目标是提供一个简单易用的接口,让用户可以快速获取作品数据。 在 preview 版本中很多功能没有完善,如果你发现了问题,请在 F2 项目中提交 issue项目文档 还在完善中,存在滞后的情况,请保持关注。

🗓️ Todo

  • 将在 0.0.1.8 版本中添加 BiliBili & NetEaseMusic 支持。
  • 将在 0.0.1.8 版本中维护更多的 APICLI 功能。
  • 优化 F2CLI 体验。
  • 添加 Socket 代理支持。
  • 添加 Cookie 池,Proxy 池,User-Agent 池等支持。
  • 添加 F2WebAPI 版本。
  • 更多计划

🐛 更新

ChangeLog

💡 应用&功能

功能状态:🟢代表已经实现,🟡代表正在实现,🟤代表暂时不实现,🔵代表未来实现,🔴代表将会弃用。 账号状态:⚪代表未知,🟣代表需要登录(无视自己账号隐私设置),⚫代表不需要登录(游客状态能看到的)。

完整的功能列表请查看 API文档

📠 Bark

功能 账号状态 接口 功能状态
发送通知(GET) fetch_bark_notification 🟢
发送通知(POST) post_bark_notification 🟢
发送加密通知 cipher_bark_notification 🟢
工具类 类名 接口 功能状态
管理客户端配置 ClientConfManager - 🟢
生成随机数字字节 - generate_numeric_bytes 🟢

📸 DouYin

  • 🟣 表示需要登录才可以下载仅自己可见的作品、收藏作品、收藏夹作品或点赞作品等。(登录后无视自己的私密设置、可获取个性化内容)
  • ⚫ 表示不需要登录下载公开的作品、收藏夹作品、点赞作品等。(仅下载他人公开可见作品与页面)
功能 账号状态 接口 功能状态
用户信息 🟣⚫ fetch_user_profile 🟢
单个作品(视频、图集、日常) 🟣⚫ fetch_one_video 🟢
live图集 🟣⚫ fetch_one_video 🟢
主页作品 🟣⚫ fetch_user_post_videos 🟢
点赞作品 🟣⚫ fetch_user_like_videos 🟢
收藏夹作品 🟣⚫ fetch_user_collects_videos 🟢
收藏作品 🟣 fetch_user_collection_videos 🟢
收藏原声 🟣 fetch_user_music_collection 🟢
收藏合集 🟣 fetch_user_mix_collection 🔵
收藏短剧 🟣 fetch_user_series_collection 🟤
合集作品 fetch_user_mix_videos 🟢
首页推荐作品 🟣⚫ fetch_user_feed_videos 🟢
相似推荐作品 fetch_related_videos 🟢
直播间信息(流下载) fetch_user_live_videosfetch_user_live_videos_by_room_id 🟢
直播间弹幕负载 fetch_live_im 🟢
直播间弹幕 fetch_live_danmaku 🟢
查询用户基本信息 🟣⚫ fetch_query_user 🟢
关注用户开播 🟣⚫ fetch_user_following_lives 🟢
关注用户信息 🟣⚫ fetch_user_following 🟢
粉丝用户信息 🟣⚫ fetch_user_follower 🟢
关注用户作品 🟣⚫ fetch_user_following_videos 🟤
粉丝用户作品 🟣⚫ fetch_user_follower_videos 🟤
朋友作品 🟣 fetch_friend_feed_videos 🟢
增加播放量 🟣⚫ fetch_post_stats 🟢
搜索视频 fetch_search_videos 🔵
搜索用户 fetch_search_users 🔵
搜索直播 fetch_search_lives 🔵
猜你想搜(相关搜索) fetch_search_suggest 🟤
抖音热点 fetch_hot_search 🟤
作品评论 🟣⚫ fetch_video_comments 🔵
观看历史 🟣 fetch_user_history_read 🟤
稍后再看 🟣 fetch_user_watch_later 🟤
... ... ... ...
工具类 类名 接口 功能状态
管理客户端配置 ClientConfManager 🟢
生成真实msToken TokenManager gen_real_msToken 🟢
生成虚假msToken TokenManager gen_false_msToken 🟢
生成ttwid TokenManager gen_ttwid 🟢
生成webid TokenManager gen_webid 🟢
生成verify_fp VerifyFpManager gen_verify_fp 🟢
生成s_v_web_id VerifyFpManager gen_s_v_web_id 🟢
生成直播signature DouyinWebcastSignature get_signature 🟢
~~使用接口模型生成wss签名参数~~ ~~WebcastSignatureManager~~ ~~model_2_endpoint~~ 🔴
使用接口地址生成Xb参数 XBogusManager str_2_endpoint 🟢
使用接口模型生成Xb参数 XBogusManager model_2_endpoint 🟢
使用接口地址生成Ab参数 ABogusManager str_2_endpoint 🟢
使用接口模型生成Ab参数 ABogusManager model_2_endpoint 🟢
提取单个用户id SecUserIdFetcher get_sec_user_id 🟢
提取列表用户id SecUserIdFetcher get_all_sec_user_id 🟢
提取单个作品id AwemeIdFetcher get_aweme_id 🟢
提取列表作品id AwemeIdFetcher get_all_aweme_id 🟢
提取单个合集id MixIdFetcher get_mix_id 🟢
提取列表合集id MixIdFetcher get_all_mix_id 🟢
提取单个直播间号 WebCastIdFetcher get_webcast_id 🟢
提取列表直播间号 WebCastIdFetcher get_all_webcast_id 🟢
全局格式化文件名 - format_file_name 🟢
创建用户目录 - create_user_folder 🟢
重命名用户目录 - rename_user_folder 🟢
创建或重命名用户目录 - create_or_rename_user_folder 🟢
~~显示二维码~~ - ~~show_qrcode~~ 🔴
json歌词转lrc歌词 - json_2_lrc 🟢

🎶 TikTok

  • 🟣 表示需要登录才可以下载仅自己可见的作品、收藏作品、收藏夹作品或点赞作品等。(登录后无视自己的私密设置、可获取个性化内容)
  • ⚫ 表示不需要登录下载公开的作品、收藏夹作品、点赞作品等。(仅下载他人公开可见作品与页面)
功能 账号状态 接口 功能状态
用户信息 🟣⚫ fetch_user_profile 🟢
单个作品 🟣⚫ fetch_one_video 🟢
主页作品 🟣⚫ fetch_user_post_videos 🟢
点赞作品 🟣⚫ fetch_user_like_videos 🟢
收藏作品 🟣⚫ fetch_user_collect_videos 🟢
播放列表 🟣⚫ fetch_play_list 🟢
播放列表作品 🟣⚫ fetch_user_mix_videos 🟢
作品搜索 🟣⚫ fetch_search_videos 🟢
直播间信息(流下载) fetch_user_live_videos 🟢
直播间弹幕负载 fetch_live_im 🟢
直播间弹幕 fetch_live_danmaku 🟢
检查开播 🟣⚫ fetch_check_live_alive 🟢
... ... ... ...
工具类 类名 接口 功能状态
管理客户端配置 ClientConfManager 🟢
生成真实msToken TokenManager gen_real_msToken 🟢
生成虚假msToken TokenManager gen_false_msToken 🟢
生成ttwid TokenManager gen_ttwid 🟢
生成odin_tt TokenManager gen_odin_tt 🟢
使用接口地址生成Xb参数 XBogusManager str_2_endpoint 🟢
使用接口模型生成Xb参数 XBogusManager model_2_endpoint 🟢
提取单个用户id SecUserIdFetcher get_secuid 🟢
提取列表用户id SecUserIdFetcher get_all_secuid 🟢
提取单个用户唯一id SecUserIdFetcher get_uniqueid 🟢
提取列表用户唯一id SecUserIdFetcher get_all_uniqueid 🟢
提取列表用户id SecUserIdFetcher get_all_secUid 🟢
提取单个作品id AwemeIdFetcher get_aweme_id 🟢
提取列表作品id AwemeIdFetcher get_all_aweme_id 🟢
生成deviceId DeviceIdManager gen_device_id 🟢
生成devideId列表 DeviceIdManager gen_device_ids 🟢
全局格式化文件名 - format_file_name 🟢
创建用户目录 - create_user_folder 🟢
重命名用户目录 - rename_user_folder 🟢
创建或重命名用户目录 - create_or_rename_user_folder 🟢

🐦 Twitter

功能 账号状态 接口 功能状态
推文详情 🟣⚫ fetch_tweet_detail 🟢
用户信息 🟣⚫ fetch_user_profile 🟢
主页推文 🟣⚫ fetch_post_tweet 🟢
喜欢推文 🟣 fetch_like_tweet 🟢
收藏推文 🟣 fetch_bookmark_tweet 🟢
工具类 类名 接口 功能状态
管理客户端配置 ClientConfManager 🟢
提取用户唯一ID UniqueIdFetcher get_unique_id 🟢
提取列表用户唯一ID UniqueIdFetcher get_all_unique_ids 🟢
提取推文ID TweetIdFetcher get_tweet_id 🟢
提取列表推文ID TweetIdFetcher get_all_tweet_ids 🟢
全局格式化文件名 - format_file_name 🟢
创建用户目录 - create_user_folder 🟢
重命名用户目录 - rename_user_folder 🟢
创建或重命名用户目录 - create_or_rename_user_folder 🟢
提取推文文案 - extract_desc 🟢

📱 WeiBo

功能 账号状态 接口 功能状态
用户信息 🟣⚫ fetch_user_info 🟢
用户详情 🟣⚫ fetch_user_detail 🟢
主页微博 🟣⚫ fetch_user_weibo 🟢
微博详情 🟣⚫ fetch_weibo_detail 🟢
工具类 类名 接口 功能状态
管理客户端配置 ClientConfManager 🟢
生成访客 Cookie VisitorManager gen_visitor 🟢
提取微博 ID WeiboIdFetcher get_weibo_id 🟢
提取列表微博 ID WeiboIdFetcher `get_all_weibo_

Core symbols most depended-on inside this repo

_
called by 1273
f2/apps/douyin/algorithm/webcast_signature.js
t
called by 540
f2/apps/douyin/algorithm/webcast_signature.js
e
called by 501
f2/apps/douyin/algorithm/webcast_signature.js
_get_attr_value
called by 475
f2/utils/json_filter.py
r
called by 439
f2/apps/douyin/algorithm/webcast_signature.js
_get_list_attr_value
called by 386
f2/utils/json_filter.py
a
called by 253
f2/apps/douyin/algorithm/webcast_signature.js
n
called by 112
f2/apps/douyin/algorithm/webcast_signature.js

Shape

Method 1,567
Function 719
Class 215
Route 14

Languages

Python84%
TypeScript16%

Modules by API surface

f2/apps/douyin/filter.py483 symbols
f2/apps/douyin/algorithm/webcast_signature.js404 symbols
f2/apps/tiktok/filter.py235 symbols
f2/apps/twitter/filter.py135 symbols
f2/apps/weibo/filter.py107 symbols
f2/apps/douyin/crawler.py79 symbols
f2/apps/douyin/utils.py61 symbols
f2/apps/tiktok/crawler.py48 symbols
f2/utils/utils.py41 symbols
f2/apps/tiktok/utils.py41 symbols
f2/apps/douyin/handler.py41 symbols
f2/apps/douyin/model.py33 symbols

For agents

$ claude mcp add f2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page