Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUESTION]403错误更新device_id和cookie后,修改f2/apps/tiktok/utils.py:60以验证,返回device_id为空,并且获取仍然失败 #199

Closed
2 tasks
xiaolinli123 opened this issue Nov 14, 2024 · 10 comments
Labels
等待反馈(feedback) 需要补充信息或配合测试(Feedbackers are required to add information or cooperate with the test)

Comments

@xiaolinli123
Copy link

  • 在提问时请注意不要包含个人敏感信息
  • 我明白我的提问可能不会得到明确回复或解决。

问题描述
403错误更新device_id和cookie后,修改f2/apps/tiktok/utils.py:60以验证,返回device_id为空,并且获取仍然失败

其他细节

@classmethod
    def brm_device(cls) -> dict:
        print('HEYYYY', cls.base_request_model().get("device", {}))
        return cls.base_request_model().get("device", {})

截图/代码示例

C:\Users\Administrator>f2 tk -c tk.yaml
WARNING  您当前使用的版本 0.0.1.6 可能已过时,请考虑及时升级到最新版本 0.0.1.6,请使用 pip install -U f2 更新
INFO     应用:tiktok
INFO     模式:post
INFO     主配置路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\f2\conf\app.yaml
INFO     自定义配置路径:C:\Users\Administrator\tk.yaml
HEYYYY {}
HEYYYY {}
ERROR    Traceback (most recent call last):
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\f2\utils\_dl.py", line 42, in
         get_content_length
             response.raise_for_status()
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\httpx\_models.py", line 761, in
         raise_for_status
             raise HTTPStatusError(message, request=request, response=self)
         httpx.HTTPStatusError: Client error '403 Forbidden' for url
         'https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQNEglFrjQDei4iAqC7gf7EkmZIXR9FBQivLdB/?a=19
         88&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=7050&bt=3525&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWr
         Ksd.&mime_type=video_mp4&qs=0&rc=ODxmZjtmPDo8OGU4OjRmZ0BpamtlOnY5cjtldDMzODczNEA1X15gYDAyNl4xLzMwLWMtYSNkLWA2MmRraWpgLS1
         kMS1zcw%3D%3D&btag=e00098000&expire=1731592792&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=7b82c7
         06d16705a28d6ab0557f47b91d&tk=tt_chain_token'
         For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

         During handling of the above exception, another exception occurred:

         Traceback (most recent call last):
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\f2\utils\_dl.py", line 73, in
         get_content_length
             response.raise_for_status()
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\httpx\_models.py", line 761, in
         raise_for_status
             raise HTTPStatusError(message, request=request, response=self)
         httpx.HTTPStatusError: Client error '403 Forbidden' for url
         'https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQNEglFrjQDei4iAqC7gf7EkmZIXR9FBQivLdB/?a=19
         88&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=7050&bt=3525&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWr
         Ksd.&mime_type=video_mp4&qs=0&rc=ODxmZjtmPDo8OGU4OjRmZ0BpamtlOnY5cjtldDMzODczNEA1X15gYDAyNl4xLzMwLWMtYSNkLWA2MmRraWpgLS1
         kMS1zcw%3D%3D&btag=e00098000&expire=1731592792&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=7b82c7
         06d16705a28d6ab0557f47b91d&tk=tt_chain_token'
         For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

ERROR    HTTP状态错误, 尝试GET请求失败:
         https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQNEglFrjQDei4iAqC7gf7EkmZIXR9FBQivLdB/?a=198
         8&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=7050&bt=3525&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWrK
         sd.&mime_type=video_mp4&qs=0&rc=ODxmZjtmPDo8OGU4OjRmZ0BpamtlOnY5cjtldDMzODczNEA1X15gYDAyNl4xLzMwLWMtYSNkLWA2MmRraWpgLS1k
         MS1zcw%3D%3D&btag=e00098000&expire=1731592792&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=7b82c70
         6d16705a28d6ab0557f47b91d&tk=tt_chain_token, 错误详情: Client error '403 Forbidden' for url
         'https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQNEglFrjQDei4iAqC7gf7EkmZIXR9FBQivLdB/?a=19
         88&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=7050&bt=3525&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWr
         Ksd.&mime_type=video_mp4&qs=0&rc=ODxmZjtmPDo8OGU4OjRmZ0BpamtlOnY5cjtldDMzODczNEA1X15gYDAyNl4xLzMwLWMtYSNkLWA2MmRraWpgLS1
         kMS1zcw%3D%3D&btag=e00098000&expire=1731592792&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=7b82c7
         06d16705a28d6ab0557f47b91d&tk=tt_chain_token'
         For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
WARNING  链接
         https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQNEglFrjQDei4iAqC7gf7EkmZIXR9FBQivLdB/?a=198
         8&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=7050&bt=3525&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWrK
         sd.&mime_type=video_mp4&qs=0&rc=ODxmZjtmPDo8OGU4OjRmZ0BpamtlOnY5cjtldDMzODczNEA1X15gYDAyNl4xLzMwLWMtYSNkLWA2MmRraWpgLS1k
         MS1zcw%3D%3D&btag=e00098000&expire=1731592792&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=7b82c70
         6d16705a28d6ab0557f47b91d&tk=tt_chain_token 内容长度为0,尝试下一个链接是否可用
WARNING  所有链接都无法下载
ERROR    Traceback (most recent call last):
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\f2\utils\_dl.py", line 42, in
         get_content_length
             response.raise_for_status()
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\httpx\_models.py", line 761, in
         raise_for_status
             raise HTTPStatusError(message, request=request, response=self)
         httpx.HTTPStatusError: Client error '403 Forbidden' for url
         'https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQFhmBE3WRDogMACI52EBT2yfQFlRsbENRLBfE/?a=19
         88&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=6490&bt=3245&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWr
         Ksd.&mime_type=video_mp4&qs=0&rc=N2dkaTw0Njw5NzU8NjNkPEBpamdzaHU5cjM0dDMzODczNEBiM2AxYC9eNS4xNC41MjMwYSNzNWxkMmRrX21gLS1
         kMS1zcw%3D%3D&btag=e00098000&expire=1731592807&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=607822
         ceaf899765a8907ee01b929cc9&tk=tt_chain_token'
         For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

         During handling of the above exception, another exception occurred:

         Traceback (most recent call last):
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\f2\utils\_dl.py", line 73, in
         get_content_length
             response.raise_for_status()
           File "C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\httpx\_models.py", line 761, in
         raise_for_status
             raise HTTPStatusError(message, request=request, response=self)
         httpx.HTTPStatusError: Client error '403 Forbidden' for url
         'https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQFhmBE3WRDogMACI52EBT2yfQFlRsbENRLBfE/?a=19
         88&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=6490&bt=3245&cs=0&ds=3&ft=4fUEKMwF8Zmo0t3chb4jVUHkrpWr
         Ksd.&mime_type=video_mp4&qs=0&rc=N2dkaTw0Njw5NzU8NjNkPEBpamdzaHU5cjM0dDMzODczNEBiM2AxYC9eNS4xNC41MjMwYSNzNWxkMmRrX21gLS1
         kMS1zcw%3D%3D&btag=e00098000&expire=1731592807&l=20241114075642E0497BD3DB575609CF43&ply_type=2&policy=2&signature=607822
         ceaf899765a8907ee01b929cc9&tk=tt_chain_token'
         For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

image

期望的支持
获取device_id为空是否为导致获取失败的原因?为什么device_id获取为空?

配置文件详情

1. conf.yaml

f2:
  version: "0.0.1.6"

  tiktok:

    BaseRequestModel:
      browser:
        language: zh-CN
        name: Mozilla
        platform: Win32
        version: 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

      device:
        id: "7435947509317944864"
        platform: web_pc

      os: windows
      region: SG
      priority_region: ""
      webcast_language: zh-Hans
      tz_name: Asia/Hong_Kong

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

    proxies:
      http://:
      https://:
    
    msToken:
      url: https://mssdk-sg.tiktok.com/web/common?msToken=QnC7zMMh1cpaDTxHDHnabNOrqaWv49JwA1IAq3AIFvrdaqQi8Rs_YlXSya1vN-4b6C1MgpWpS2cL1oakaUEDe3pUDMLpCbdSc3b3V98Fux0AuwXn_9Ns3FyMTnFRmSOOOVeGg6bVXMSGoMG6dq3k
      url2: https://mssdk-sg.tiktok.com/web/report?msToken=QnC7zMMh1cpaDTxHDHnabNOrqaWv49JwA1IAq3AIFvrdaqQi8Rs_YlXSya1vN-4b6C1MgpWpS2cL1oakaUEDe3pUDMLpCbdSc3b3V98Fux0AuwXn_9Ns3FyMTnFRmSOOOVeGg6bVXMSGoMG6dq3k
      magic: 538969122
      version: 1
      dataType: 8
      strData: 3g+ZrAO5JQgfqCRzb689RAbiueodAexjAjn2plyPVBdOArbRM66UOTnZPoVTDDw8GZ8TL/CO13bWedlvWSA8kCODHA6mjO1Af5hgak+1NHbb8EvfuahWFDL8x8hruWn4t6qb79DhOy64REx1nsO6ub4SX4cKdgs+ZXTjUItB2WKddXo7CKikuywT8SJ0TcwZ+z/9hSsawqJXawopS5H8bOF0o3qPn+CwkoWkXBUu4iwkI5UzL9/k18Gwq1BxAiCbyl2kCHJaox7md1H+KfQ0lU9fBhfVBuXa3jNkT5GfyASaBNeJXdhHwuPfEGI6a+4FOaO0MEGzOWDzhu6joo89ooEPo1XV+UJE2KLC5tStxSBibUvn+wZSfGmcpPfYl0jB0H2vLqyaveYraOx8WRE/G/Y9DkbBLJvz7E8sDZ/v1fCUVs1JDDewE/yn2aqOHr3NxUjOnylKl5WWSCPeSR4ZTXRR1ZJhvpGKP7XYc3tkOjBSQ70cXnl53dAQ6aouUVMcztSlkXh4goI46tgJDjTiJJILHBr03dM/1KwVzqoEEO8f7JBhfQo4OR6Y48PXomshJmZhDiEmtkqLndpZY2I/B8q0EShuPlDCFRW7iob6kFahyqDfpOmK15kzCX2n7eu7zqDGgpJuHEtULF9803lR5QBt104ET49RbnDJ+ipbz1bFvS2FJQ2rfktNlwjqdBT8UzfFPHyZk6z4cSxYIfPRj1lB8fDwTwv3PUSRxUZSwkuGoZbc6j/6hxwZaY0xxIEbb9DlOmQZY4qyiqSziZ8HGWsQ9uD95dO4lX6GlZaeh7mKsjLSKSdUt13YeGAciqjTvSPyO/pZ5xc3+i+5hY4A290/JiTmIyFBOrRrlmIhPEQe9OEJn0DPXYgliYUO1nljEi6q/4HMFdXFmlw6nC8/kL9EeinisX7g6PbdHuRcKONXZpXxBevL8xD5Z8SvFKH/uQmYHrJlybiKHjDIMq7vc59NBw2VDQBmRqa8NTh2XLwIryjoBIHuNSBngSZwJE==

    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%7C3uOVjidbOFBmdS6Aci5oeBb8Ta-HWpeyp2dvhl2Ib2E%7C1716637053%7C462867ee452aecd60a854225b854ff4498e9b99c13d4826a3e2a4e58a4c55134;

    odin_tt:
      url: https://www.tiktok.com/passport/web/account/info/?WebIdLastTime=1716637053&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%2F124.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&device_id=7372899909097571857&device_platform=web_pc&focus_state=true&from_page=fyp&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=7372898697492972561&os=windows&priority_region=&referer=&region=SG&screen_height=1080&screen_width=1920&tz_name=Asia%2FHong_Kong&webcast_language=zh-Hans

2. app.yaml

app.yaml是系统原有的,只在f2 tk --auto-cookie firefox时自动修改了其中的cookie

3. tk.yaml

tiktok:
  url: https://www.tiktok.com/@sjjw_siz
  music: null
  cover: null
  desc: null
  path: download
  folderize: null
  mode: post
  naming: null
  cookie: null
  keyword: null
  interval: all
  timeout: null
  max_connections: null
  max_counts: null
  max_retries: null
  max_tasks: null
  page_counts: null
  languages: null




@xiaolinli123 xiaolinli123 added the 提问(question) 想得到更多的详细支持(Further information is requested) label Nov 14, 2024
@Johnserf-Seed
Copy link
Owner

如果不是comf.yaml修改device_id后没保存是不会获取不到的

@Johnserf-Seed Johnserf-Seed added 等待反馈(feedback) 需要补充信息或配合测试(Feedbackers are required to add information or cooperate with the test) and removed 提问(question) 想得到更多的详细支持(Further information is requested) labels Nov 21, 2024
@xiaolinli123
Copy link
Author

保存了

@skyhhuc
Copy link

skyhhuc commented Nov 24, 2024

还有就是我获取到了deviceId,他有两个deviceId的值,以哪个为主啊?另外那个QA讲的好不详细,这个device id是conf.yaml里面的device下面的id的值是吧?我替换了,那后面的cookie所谓的增量替换是哪里替换?是app.yaml里面我从浏览器获取的cookie值里面去替换对应字段的值吗?还是怎么弄?我替换之后直接是响应为空,如果只改了device id,还是提示403 forbidden。
888888

@Johnserf-Seed
Copy link
Owner

还有就是我获取到了deviceId,他有两个deviceId的值,以哪个为主啊?另外那个QA讲的好不详细,这个device id是conf.yaml里面的device下面的id的值是吧?我替换了,那后面的cookie所谓的增量替换是哪里替换?是app.yaml里面我从浏览器获取的cookie值里面去替换对应字段的值吗?还是怎么弄?我替换之后直接是响应为空,如果只改了device id,还是提示403 forbidden。 888888

  1. 有多个设备id是因为代码片段里提供了完整ck的选项,两者选任一即可
  2. 增量替换的意思是避免有人直接把代码片段的ck粘入,只需将对应值替换即可
  3. 响应空而非403说明设备id与cookie的绑定是对的,是你需要更换一个高质量的代理,httpx这个库最近会频繁空响应的原因与dns有关

测试一切正常
image

@skyhhuc
Copy link

skyhhuc commented Dec 21, 2024

还有就是我获取到了deviceId,他有两个deviceId的值,以哪个为主啊?另外那个QA讲的好不详细,这个device id是conf.yaml里面的device下面的id的值是吧?我替换了,那后面的cookie所谓的增量替换是哪里替换?是app.yaml里面我从浏览器获取的cookie值里面去替换对应字段的值吗?还是怎么弄?我替换之后直接是响应为空,如果只改了device id,还是提示403 forbidden。 888888

  1. 有多个设备id是因为代码片段里提供了完整ck的选项,两者选任一即可
  2. 增量替换的意思是避免有人直接把代码片段的ck粘入,只需将对应值替换即可
  3. 响应空而非403说明设备id与cookie的绑定是对的,是你需要更换一个高质量的代理,httpx这个库最近会频繁空响应的原因与dns有关

测试一切正常 image

我测试了很多次,仍然不行,运行代码,替换deviceId和那个tt_chain_token, 仍然是403,代理我换了好几个,都是用的静态住宅ip,能不能给个清楚一点的解释啊?

@Johnserf-Seed
Copy link
Owner

还有就是我获取到了deviceId,他有两个deviceId的值,以哪个为主啊?另外那个QA讲的好不详细,这个device id是conf.yaml里面的device下面的id的值是吧?我替换了,那后面的cookie所谓的增量替换是哪里替换?是app.yaml里面我从浏览器获取的cookie值里面去替换对应字段的值吗?还是怎么弄?我替换之后直接是响应为空,如果只改了device id,还是提示403 forbidden。 888888

  1. 有多个设备id是因为代码片段里提供了完整ck的选项,两者选任一即可
  1. 增量替换的意思是避免有人直接把代码片段的ck粘入,只需将对应值替换即可
  1. 响应空而非403说明设备id与cookie的绑定是对的,是你需要更换一个高质量的代理,httpx这个库最近会频繁空响应的原因与dns有关

测试一切正常 image

我测试了很多次,仍然不行,运行代码,替换deviceId和那个tt_chain_token, 仍然是403,代理我换了好几个,都是用的静态住宅ip,能不能给个清楚一点的解释啊?

测试通过,解释的也很清楚,只能你自行排查环境的问题

@skyhhuc
Copy link

skyhhuc commented Dec 21, 2024

关键是我用那段代码重新生成了device_id, 然后把cookie里面的tt_chain_token的值换成生成的device_id对应的值了啊,测试了好几次;浏览器登陆了之后也会有那个device_id,我也测试了直接用浏览器的cookie和浏览器里面生成的device_id,结果都是403,然后你说的代理,我也换了好几个,全部都是住宅ip,就是一直403,有鬼了已经。要不你把你的device_id, 和cookie值分享我一下,我这边直接测试,看行不行,我总感觉不只是这个原因

@skyhhuc
Copy link

skyhhuc commented Dec 21, 2024

3001
3002
麻烦你最后再看一次,不行就算了,douyin是一点问题都没有的,是不是就是图上位置的device_id和tt_chain_token改掉,图片是一一对应的,结果也还是403,我重新生成很多次了

@skyhhuc
Copy link

skyhhuc commented Dec 21, 2024

第二张图红色的标错了,是下面的那个方框。我生成了两次,用的第二个的那个

@Johnserf-Seed
Copy link
Owner

#79 #154

Johnserf-Seed added a commit that referenced this issue Dec 31, 2024
## [0.0.1.7] - 2024-12-31

### Added

- 添加 `douyin` 动图作品接口维护输出 #218
- 添加无法查看网页端 `weibo` 的异常处理 #223
- 添加 `douyin` 批量采集直播的代码片段
- 添加 `Babel` 依赖
- 添加支援电子邮件地址 -> `[email protected]`
- 添加文档域名 -> `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` 作品解析
- 添加支持 `proxy` 的 `websockets` 依赖
- 添加 `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` 工作流
- 更新 `tiktok` 的 `webmssdk` 版本号
- 更新 `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
- 修复 `douyin` 的 `webmssdk` 库创建缓冲区的安全性问题
- 修复 `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
Johnserf-Seed added a commit that referenced this issue Jan 20, 2025
## [0.0.1.7] - 2024-12-31

### Added

- 添加 `douyin` 动图作品接口维护输出 #218
- 添加无法查看网页端 `weibo` 的异常处理 #223
- 添加 `douyin` 批量采集直播的代码片段
- 添加 `Babel` 依赖
- 添加支援电子邮件地址 -> `[email protected]`
- 添加文档域名 -> `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` 作品解析
- 添加支持 `proxy` 的 `websockets` 依赖
- 添加 `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` 工作流
- 更新 `tiktok` 的 `webmssdk` 版本号
- 更新 `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
- 修复 `douyin` 的 `webmssdk` 库创建缓冲区的安全性问题
- 修复 `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
Johnserf-Seed added a commit that referenced this issue Jan 20, 2025
## [0.0.1.7] - 2024-12-31

### Added

- 添加 `douyin` 动图作品接口维护输出 #218
- 添加无法查看网页端 `weibo` 的异常处理 #223
- 添加 `douyin` 批量采集直播的代码片段
- 添加 `Babel` 依赖
- 添加支援电子邮件地址 -> `[email protected]`
- 添加文档域名 -> `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` 作品解析
- 添加支持 `proxy` 的 `websockets` 依赖
- 添加 `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` 工作流
- 更新 `tiktok` 的 `webmssdk` 版本号
- 更新 `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
- 修复 `douyin` 的 `webmssdk` 库创建缓冲区的安全性问题
- 修复 `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
Johnserf-Seed added a commit that referenced this issue Jan 20, 2025
## [0.0.1.7] - 2024-12-31

### Added

- 添加 `douyin` 动图作品接口维护输出 #218
- 添加无法查看网页端 `weibo` 的异常处理 #223
- 添加 `douyin` 批量采集直播的代码片段
- 添加 `Babel` 依赖
- 添加支援电子邮件地址 -> `[email protected]`
- 添加文档域名 -> `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` 作品解析
- 添加支持 `proxy` 的 `websockets` 依赖
- 添加 `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` 工作流
- 更新 `tiktok` 的 `webmssdk` 版本号
- 更新 `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
- 修复 `douyin` 的 `webmssdk` 库创建缓冲区的安全性问题
- 修复 `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
Johnserf-Seed added a commit that referenced this issue Jan 20, 2025
## [0.0.1.7] - 2024-12-31

### Added

- 添加 `douyin` 动图作品接口维护输出 #218
- 添加无法查看网页端 `weibo` 的异常处理 #223
- 添加 `douyin` 批量采集直播的代码片段
- 添加 `Babel` 依赖
- 添加支援电子邮件地址 -> `[email protected]`
- 添加文档域名 -> `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` 作品解析
- 添加支持 `proxy` 的 `websockets` 依赖
- 添加 `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` 工作流
- 更新 `tiktok` 的 `webmssdk` 版本号
- 更新 `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
- 修复 `douyin` 的 `webmssdk` 库创建缓冲区的安全性问题
- 修复 `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
neo5779777 pushed a commit to neo5779777/f2 that referenced this issue Feb 6, 2025
## [0.0.1.7] - 2024-12-31

### Added

- 添加 `douyin` 动图作品接口维护输出 Johnserf-Seed#218
- 添加无法查看网页端 `weibo` 的异常处理 Johnserf-Seed#223
- 添加 `douyin` 批量采集直播的代码片段
- 添加 `Babel` 依赖
- 添加支援电子邮件地址 -> `[email protected]`
- 添加文档域名 -> `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` 作品翻页时间码显示
- 新增实况图集下载 Johnserf-Seed#75
- 新增 `douyin` 本地弹幕 `wss` 转发服务
- 新增大量 `douyin` 直播间弹幕回调接口
- 添加抖音 `live` 作品解析
- 添加支持 `proxy` 的 `websockets` 依赖
- 添加 `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` 工具类方法注释与方法名
- 添加贡献者 Johnserf-Seed#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` 作品  Johnserf-Seed#209
- 更新 `douyin` 代码片段 Johnserf-Seed#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` 参数的作品解析
- 完善静态类型检查
- 调整进度条显示 Johnserf-Seed#105
- 更新 `douyin` 处理下载任务
- 更新 `douyin` 筛选日期区间作品方法
- 更新日志文件名
- 调整 `i18n` 方法防止重复导入错误
- 更新 `douyin` `abogus` 代码片段
- 更新 `vitepress` 工作流
- 更新 `tiktok` 的 `webmssdk` 版本号
- 更新 `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` 封面下载错误 Johnserf-Seed#213
- 修复 `douyin` 关注用户排序类型翻页的问题 Johnserf-Seed#210
- 修复防止变量未完成初始化
- 修复 `weibo` 过滤器字段 Johnserf-Seed#149
- 修复文档线上不显示 `icon` 的问题
- 修复 `douyin` 错误的弹幕消息类型日志
- 修复 `tiktok` 错误的本地化代码
- 修复事件循环风险 Johnserf-Seed#159
- 修复 `tiktok` 接口过滤器处理空值的错误
- 修复 `tiktok` 直播流文件名解析错误
- 修复 `x` 默认配置名 Johnserf-Seed#145
- 修复 Incomplete URL substring sanitization Johnserf-Seed#139
- 修复 `douyin` 的 `webmssdk` 库创建缓冲区的安全性问题
- 修复 `tiktok` 读取 `BaseRequestModel` 配置的错误 Johnserf-Seed#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
Johnserf-Seed#42
Johnserf-Seed#53
Johnserf-Seed#64
Johnserf-Seed#79
Johnserf-Seed#94
Johnserf-Seed#95
Johnserf-Seed#104
Johnserf-Seed#105
# 110
Johnserf-Seed#139
Johnserf-Seed#145
Johnserf-Seed#148
Johnserf-Seed#154
Johnserf-Seed#155
Johnserf-Seed#159
Johnserf-Seed#176
Johnserf-Seed#187
Johnserf-Seed#197
Johnserf-Seed#199
Johnserf-Seed#200
Johnserf-Seed#209
Johnserf-Seed#210
Johnserf-Seed#213

Johnserf-Seed/TikTokDownload#660
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
等待反馈(feedback) 需要补充信息或配合测试(Feedbackers are required to add information or cooperate with the test)
Projects
None yet
Development

No branches or pull requests

3 participants