Skip to content

配置文件

重要

请详细的阅读本章节,它将会帮助你快速上手 F2 配置文件与操作。

主配置文件

F2配置文件由三部分组成,应用低频配置文件(app.yaml)F2配置文件(conf.yaml)应用默认配置文件(defaults.yaml)

什么是yaml?

用类似大纲的缩进方式呈现数据序列化的格式文件,what is yaml?

应用低频配置文件(app.yaml):用来保存所有应用不常变动的配置,例如的cookie文件名模板下载路径连接超时时间超时重试次数等。

F2配置文件(conf.yaml):用来保存F2的配置,例如不同应用的计算参数代理

应用默认配置文件(defaults.yaml):用来保存各个app的初始化默认配置模板,

yaml
douyin:

  cookie:
  naming: '{create}_{desc}'
  path: Download
  timeout: 10
  max_retries: 5
  lyric: yes
  max_connections: 5
  max_counts: 0
  max_tasks: 10
  page_counts: 20

tiktok:

  cookie:
  max_connections: 5
  max_counts: 0
  max_retries: 5
  max_tasks: 5
  naming: '{create}_{desc}'
  page_counts: 5
  path: Download
  timeout: 10
yaml
f2:

  douyin:
    headers:
      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
      Referer: https://www.douyin.com/

    proxies:
      http:
      https:

    msToken:
      url: https://mssdk.bytedance.com/web/report
      magic: 538969122
      version: 1
      dataType: 8
      strData: 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
      User-Agent: 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47

    ttwid:
      url: https://ttwid.bytedance.com/ttwid/union/register/
      data: '{"region":"cn","aid":1768,"needFid":false,"service":"www.ixigua.com","migrate_info":{"ticket":"","source":"node"},"cbUrlProtocol":"https","union":true}'


  tiktok:
    headers:
      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
      Referer: https://www.tiktok.com/

    proxies:
      http:
      https:

    msToken:
      url: https://mssdk-sg.tiktok.com/web/common?msToken=1Ab-7YxR9lUHSem0PraI_XzdKmpHb6j50L8AaXLAd2aWTdoJCYLfX_67rVQFE4UwwHVHmyG_NfIipqrlLT3kCXps-5PYlNAqtdwEg7TrDyTAfCKyBrOLmhMUjB55oW8SPZ4_EkNxNFUdV7MquA==
      magic: 538969122
      version: 1
      dataType: 8
      strData: 3BvqYbNXLLOcZehvxZVbjpAu7vq82RoWmFSJHLFwzDwJIZevE0AeilQfP55LridxmdGGjknoksqIsLqlMHMif0IFK/Br7JWqxOHnYuMwVCnttFc0Y4MFvdVWM5FECiEulJC0Dc+eeVsNSrFnAc9K7fazqdglyJgGLSfXIJmgyCvvQ4pg0u5HBVVugLSWs242X42fjoWymaUCLZJQo6vi6WLyuV7l5IC3Mg+lelr5xBQD6Q7hBIFEw8zzxJ1n2DyA4xLbOHTQdKvEtsK7XzyWwjpRnojPTbBl69Zosnuru+lOBIl+tFu/+hCQ1m0jYZwTP4rVE75L3Du6+KZ5v/9TyFYjq7y3y9bGLP4d7yQueJbF90G1yrZ6htElrZ2vqZKDrIqBVbmOZr/nph12k2JKrITtN0R/pMsp0sJ4gesQnXxcD/pLOFAINHk7umgbe6LzJ7+TLUdGuO4M7xiEg/jCqhjgJX1izZ4NPoBDp35zRxj6Y6OrcstlTN/cv5sz663+Nco/mEwhGq2VwrL4gAIAPycndIsb48dPdtngmLqNDNN0ZyVRjgqVIDXXrxigXCkR9CH89Dlrrb7QQqWVgRXz9/k5ihEM43BR3sd3mMU/XgFLN1Aoxf6GzzdxP2QPBI75/ZoHoAmu54v8gTmA3ntCGlEF0zgaFGTdpkGdb+oZgyQM4pw1aAyxmFINXkpD3IKKoGev9kD9gTFnhiQMGCMemhZS7ZYdbuGu0Cb+lQKaL/QTt80FMyGmW8kzVy9xW/ja9BcdEJYRoaufuFRkBFG5ay8x4WHLR6hEapXqQial/cREbLL4sQytpjtmnndFqvT7xN5DhgsLY2Z7451MJhD6NJXKNrMafGZSbItzQWY=
      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36

    ttwid:
      url: https://www.tiktok.com/ttwid/check/
      data: '{"aid":1988,"service":"www.tiktok.com","union":false,"unionHost":"","needFid":false,"fid":"","migrate_priority":0}'
      cookie: ttwid=1%7CovVQu2St-HXSHAdEfZ7tljPe151SZ88AbrlTirlaC6w%7C1701072604%7C49b17849da69bafc3638e794f3f26b30fe9677c5253e65a2a5f615489846ce02

    odin_tt:
      url: https://www.tiktok.com/passport/web/account/info/?aid=1459&app_language=zh-Hans&app_name=tiktok_web&browser_language=zh-CN&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F119.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&device_id=7306060721837852167&root_referer=https%3A%2F%2Fwww.tiktok.com%2Flogin%2F
yaml
douyin:
  url:
  music:
  lyric:
  cover:
  desc:
  path:
  folderize:
  mode:
  naming:
  cookie:
  interval:
  timeout:
  max_retries:
  max_connections:
  max_counts:
  max_tasks:
  page_counts:
  languages:

tiktok:
  url:
  music:
  cover:
  desc:
  path:
  folderize:
  mode:
  naming:
  cookie:
  interval:
  timeout:
  max_connections:
  max_counts:
  max_retries:
  max_tasks:
  page_counts:
  languages:

高低频参数分离意味着当创建的自定义配置文件比较多的情况下无需修改每一个自定义配置文件中的cookie,只需要修改应用低频配置文件(app.yaml) 中的cookie即可。

将高频修改的参数主页链接下载模式等,设置在你的自定义配置中,即可灵活调用下载不同用户的不同类型作品。

初始化配置文件

查看目前支持的应用列表

bash
$ f2 -h

F2 安装完成后,第一步就是运行应用的初始化配置文件命令:

sh
$ f2 apps --init-config my_apps.yaml
sh
$ f2 apps --init-config my_apps.yaml
sh
$ f2 apps --init-config my_apps.yaml

my_apps.yaml就是该应用的自定义配置文件。

迎接你的将是几个简单的问题:

完整的应用名和简写名都支持吗?

是的,完整的应用名和简名都支持。例如:douyindytiktoktk

sh
$ f2 dy --init-config dy.yaml

sh
$ f2 douyin --init-config dy.yaml

配置文件支持相对路径吗?

配置文件路径支持绝对相对路径。初始化配置文件是强制覆盖,不会自动备份

找不到主配置文件?

请查阅配置文件的位置

自定义配置文件

由于 F2 的配置文件采用高低频参数分离式设计,这意味着你可以为相同的应用设置不同的配置文件。你可以只设置一个参数在自定义配置文件中,也可以设置你需要高频修改的参数。

多用户灵活配置

举个例子,我关注了3个用户。其中有A的主页作品、B的喜欢页作品、C的直播。那么我可以为每个用户配置一个专属的配置文件。

F2 中,先把应用低频配置文件(app.yaml)cookie与其他你需要设置的参数配置好。再在其他目录下建立A、B、C用户的专属配置文件,只需配置上低频中没有设置的参数。如下面2个高频参数所示,为不同用户所需的下载模式。

yaml
douyin:
  # 浩子
  url: https://www.douyin.com/user/MS4wLjABAAAAu8qwDm1-muGuMhZZ-tVzyPVWlUxIbQRNJN_9k83OhWU?vid=7263127189829307659
  # 主页作品
  mode: post
yaml
douyin:
  # 小布丁
  url: https://www.douyin.com/user/MS4wLjABAAAA35iXl5qqCbLKY99pUvxkXzvpSXi8jgUbJ0zR4EuTpcHcS8PHaEb6G9yB6iKR0dNl?vid=7240082457372937511
  # 喜欢作品
  mode: like
yaml
douyin:
  # 醒子8ke
  url: https://live.douyin.com/775841227732
  # 直播模式
  mode: live

说明

只是举例,实际上用户B的喜欢页没有开放,用户C也不一定直播,一切根据你的喜好来设置,do ever what you want。

随后你便可以开启终端,并直接输入自定义配置文件路径即可一键下载,剩下的低频参数会自动合并,无需担心。

bash
$ f2 dy -c X:\A.yaml
bash
$ f2 dy -c X:\B.yaml
bash
$ f2 dy -c X:\C.yaml

是不是非常方便且容易管理🤭,你可以随时添加喜欢的用户配置文件并设置你所需的下载模式。

配置优先级

  • CLI参数优先级最高,自定义配置文件优先级次之,应用低频配置文件(app.yaml)优先级最低。
  • CLI > 自定义配置文件 > 应用低频配置文件(app.yaml)
  • 高频参数会覆盖低频参数,未设置的参数不会被覆盖。
  • 要想了解更多的CLI参数,请查阅CLI 参考

配置cookie

通过简单的配置,用户与开发者就可以立马上手 F2。只需通过 --update-config 命令就可以保存cookie到主配置文件或者使用--auto-cookie命令自动从浏览器获取。

sh
$ f2 dy -k "从浏览器中复制的cookie" -c app.yaml --update-config
sh
$ f2 dy -c app.yaml --auto-cookie edge

当然不想出错就手动复制浏览器中的cookie,然后使用--update-config 命令保存到主配置文件中。手动复制的操作百度一下就可以了。

重要

  • 更新配置文件的同时将会在同目录里备份原配置文件,备份文件名为*.yaml.bak,方便回滚。
  • 如果--auto-cookie不指定-c参数,将直接保存至低频配置文件(app.yaml) 中。
  • cookie也可以保存到自定义的配置文件中。随你的使用习惯,小白请严格按照文档的说明来操作。
  • --update-config 命令与--auto-cookie命令会覆盖主配置文件中的cookie,请谨慎使用。
  • --update-config 命令需要指定-c参数,否则会报错。

配置文件的位置

你可以在x:\xxxxxxx\Python\Lib\site-packages\f2\conf\文件夹中找到它们。

提示

如果找不到配置文件夹路径可以在终端输入

sh
$ pip show f2
sh
$ pip3 show f2
sh
$ pip3 show f2

然后查看Location,并在该目录下找到配置文件。

下一步是什么?

  • 更多 CLI 命令的详细信息,请查阅 CLI 参考

Released under the Apache-2.0 license.