Skip to content

Johnserf-Seed/f2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Logo

Downloads PyPI version Dev Branch Discord codecov TikHub APACHE-2.0

็ฎ€ไฝ“ไธญๆ–‡ readme โ€ข English readme

F2 ๆ˜ฏไธ€ไธช Python ๅบ“๏ผŒๆไพ›ๅคšๅนณๅฐ็š„ไฝœๅ“ไธ‹่ฝฝไธŽๆŽฅๅฃๆ•ฐๆฎๅค„็†ใ€‚ๆ”ฏๆŒๆŠ–้Ÿณใ€TikTokใ€Twitterใ€Instagram็ญ‰ๅนณๅฐ๏ผŒไธ”ๆ–นไพฟ้€‚้…ๆ›ดๅคšๅนณๅฐใ€‚

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

โš™๏ธ ๅฎ‰่ฃ…

โšก ๅฟซ้€Ÿไฝฟ็”จ

๐Ÿ“‹ ้…็ฝฎๆ–‡ไปถ

๐Ÿ’ป ๅ‘ฝไปค่กŒ

๐Ÿ“˜ ๅผ€ๅ‘ๆŒ‡ๅ—

๐Ÿงฉ ่ฐƒ็”จ็คบไพ‹

โœจ ๆ–ฐๅ˜ๅŒ–

ๅฝ“ไธ‹่ฝฝๆˆ–ๅ‡็บงๅˆฐF2็š„ไธๅŒ็‰ˆๆœฌๆ—ถ๏ผŒ่ฏทๆณจๆ„ไปฅไธ‹ๅ…ณ้”ฎ็š„็‰ˆๆœฌๆ›ดๆ–ฐใ€‚

๐Ÿ“ก v0.0.1.6-pw2
  • ้…็ฝฎๆ–‡ไปถๆ ผๅผๅทฒ็ปๆ›ดๆ–ฐ๏ผŒๅฆ‚ๆžœไฝ ไฝฟ็”จไบ†ๆ—ง็š„้…็ฝฎๆ–‡ไปถ๏ผŒ่ฏทๆณจๆ„่ฟ็งปใ€‚
  • ๆ‰€ๆœ‰ๆ—ถ้—ดๆˆณ็š„้ป˜่ฎคๆ—ถๅŒบไธบ๏ผˆUTC/GMT+08:00๏ผ‰ใ€‚
  • douyin็›ดๆ’ญๆตๆ–‡ไปถๅ่ฐƒๆ•ดไธบflv๏ผŒๅ›พ้›†่ฐƒๆ•ดๅ›žwebpใ€‚
  • tiktok่ง†้ข‘ๅœฐๅ€403็š„้”™่ฏฏๅทฒ็ปไฟฎๅคใ€‚TikTok่ง†้ข‘ๅœฐๅ€403่งฃๅ†ณๅŠžๆณ•
  • ็Žฐๅœจdouyin้ป˜่ฎคไผšไฝฟ็”จab็ฎ—ๆณ•ๆฅ่ฏทๆฑ‚ใ€‚๏ผˆๆปก่ก€็‰ˆab็ฎ—ๆณ•ๅพ…ๆ—ถๅผ€ๆบ๏ผ‰ใ€‚
  • ๆ›ดๅคšๅ˜ๅŒ–ๆŸฅ็œ‹ChangeLogใ€‚
๐Ÿ“ก v0.0.1.5-pw2
  • 0.0.1.5็š„XBogusๅ‚ๆ•ฐๆ”ฏๆŒไบ†่‡ชๅฎšไน‰UA๏ผŒ่ฏทๆณจๆ„UA่ง„่Œƒใ€‚
  • ้‡ๅปบ็š„ๆ•ฐๆฎๅบ“ๅŒ…ๅซๆŽฅๅฃ็š„ๅŽŸๅง‹ๆ•ฐๆฎ๏ผŒๆ‰€ไปฅไฝ ้œ€่ฆๅˆ ้™คๆ—ง็š„ๆ•ฐๆฎๅบ“ๆ–‡ไปถใ€‚ๅฆ‚ๆžœไฝ ๆƒณไฟ็•™่ฎฐๅฝ•่ฏทๆณจๆ„่ฟ็งปใ€‚
  • ๆ‰€ๆœ‰็š„fetchๆ–นๆณ•่ฟ”ๅ›ž็š„็ฑปๅž‹ๅทฒ็ปŸไธ€ไธบ่ฟ‡ๆปคๅ™จ็ฑปๅž‹๏ผŒๆ‰€ไปฅไฝ ้œ€่ฆๆณจๆ„่ฟ™ไธชๅ˜ๅŒ–ใ€‚
  • ่ฟ‡ๆปคๅ™จๆทปๅŠ ไบ†_to_rawๆ–นๆณ•๏ผŒๅฏไปฅๅฐ†่ฟ‡ๆปคๅ™จ่ฝฌๆขไธบๅŽŸๅง‹ๆŽฅๅฃๆ•ฐๆฎใ€‚
  • ๆ–‡ไปถๅๆจกๆฟๅทฒ็ปๆ›ดๆ–ฐ๏ผŒๅฆ‚ๆžœไฝ ็š„ๆ–‡ไปถๅไธ็ฌฆๅˆ่ง„่Œƒ๏ผŒๅฐ†ไผšๆŠ›ๅ‡บๅผ‚ๅธธใ€‚
  • douyinๅˆ้›†้กต้“พๆŽฅๆ— ๆณ•่งฃๆž็š„ๆŸฅ็œ‹ๆŠ–้Ÿณๅˆ้›†ไฝœๅ“ใ€‚
  • ๆ›ดๅคšๅ˜ๅŒ–ๆŸฅ็œ‹ChangeLogใ€‚

๐Ÿ“‘ ๆ–‡ๆกฃ

F2็š„็›ฎๆ ‡ๆ˜ฏๆไพ›ไธ€ไธช็ฎ€ๅ•ๆ˜“็”จ็š„ๆŽฅๅฃ๏ผŒ่ฎฉ็”จๆˆทๅฏไปฅๅฟซ้€Ÿ่Žทๅ–ไฝœๅ“ๆ•ฐๆฎใ€‚ ๅœจpreview็‰ˆๆœฌไธญๅพˆๅคšๅŠŸ่ƒฝๆฒกๆœ‰ๅฎŒๅ–„๏ผŒๅฆ‚ๆžœไฝ ๅ‘็Žฐไบ†้—ฎ้ข˜๏ผŒ่ฏทๅœจF2้กน็›ฎไธญๆไบคissueใ€‚้กน็›ฎๆ–‡ๆกฃ่ฟ˜ๅœจๅฎŒๅ–„ไธญ๏ผŒๅญ˜ๅœจๆปžๅŽ็š„ๆƒ…ๅ†ต๏ผŒ่ฏทไฟๆŒๅ…ณๆณจใ€‚

๐Ÿ› ๏ธ Q&A

ๅธธ่ง็š„้—ฎ้ข˜ไธŽ่งฃๅ†ณๅŠžๆณ•

๐Ÿ—“๏ธ Todo

  • ๅฐ†ๅœจ0.0.1.7็‰ˆๆœฌไธญๆทปๅŠ ๆœฌๅœฐ่ฝฌๅ‘ๅŠŸ่ƒฝใ€‚
  • ๅฐ†ๅœจ0.0.1.7็‰ˆๆœฌไธญๆทปๅŠ ๆ›ดๅคšdouyin๏ผŒtiktok๏ผŒweibo๏ผŒx็š„ๆŽฅๅฃใ€‚
  • ๅฐ†ๅœจ0.0.1.7็‰ˆๆœฌไธญไฟฎๅคxๅทฒ็Ÿฅ็š„้—ฎ้ข˜ใ€‚

๐Ÿ› ๆ›ดๆ–ฐ

ChangeLog

๐Ÿ’ก ๅบ”็”จ&ๅŠŸ่ƒฝ

ๅŠŸ่ƒฝ็Šถๆ€๏ผš๐ŸŸขไปฃ่กจๅทฒ็ปๅฎž็Žฐ๏ผŒ๐ŸŸกไปฃ่กจๆญฃๅœจๅฎž็Žฐ๏ผŒ๐ŸŸคไปฃ่กจๆš‚ๆ—ถไธๅฎž็Žฐ๏ผŒ๐Ÿ”ตไปฃ่กจๆœชๆฅๅฎž็Žฐ๏ผŒ๐Ÿ”ดไปฃ่กจๅฐ†ไผšๅผƒ็”จใ€‚ ่ดฆๅท็Šถๆ€๏ผšโšชไปฃ่กจๆœช็Ÿฅ๏ผŒ๐ŸŸฃไปฃ่กจ้œ€่ฆ็™ปๅฝ•๏ผˆๆ— ่ง†่‡ชๅทฑ่ดฆๅท้š็ง่ฎพ็ฝฎ๏ผ‰๏ผŒโšซไปฃ่กจไธ้œ€่ฆ็™ปๅฝ•๏ผˆๆธธๅฎข็Šถๆ€่ƒฝ็œ‹ๅˆฐ็š„๏ผ‰ใ€‚

๐ŸŽถ DouYin
  • ๐ŸŸฃ ่กจ็คบ้œ€่ฆ็™ปๅฝ•ๆ‰ๅฏไปฅไธ‹่ฝฝไป…่‡ชๅทฑๅฏ่ง็š„ไฝœๅ“ใ€ๆ”ถ่—ไฝœๅ“ใ€ๆ”ถ่—ๅคนไฝœๅ“ๆˆ–็‚น่ตžไฝœๅ“็ญ‰ใ€‚๏ผˆ็™ปๅฝ•ๅŽๆ— ่ง†่‡ชๅทฑ็š„็งๅฏ†่ฎพ็ฝฎใ€ๅฏ่Žทๅ–ไธชๆ€งๅŒ–ๅ†…ๅฎน๏ผ‰
  • โšซ ่กจ็คบไธ้œ€่ฆ็™ปๅฝ•ไธ‹่ฝฝๅ…ฌๅผ€็š„ไฝœๅ“ใ€ๆ”ถ่—ๅคนไฝœๅ“ใ€็‚น่ตžไฝœๅ“็ญ‰ใ€‚๏ผˆไป…ไธ‹่ฝฝไป–ไบบๅ…ฌๅผ€ๅฏ่งไฝœๅ“ไธŽ้กต้ข๏ผ‰
ๅŠŸ่ƒฝ ่ดฆๅท็Šถๆ€ ๆŽฅๅฃ ๅŠŸ่ƒฝ็Šถๆ€
็”จๆˆทไฟกๆฏ ๐ŸŸฃโšซ fetch_user_profile ๐ŸŸข
ๅ•ไธชไฝœๅ“๏ผˆ่ง†้ข‘ใ€ๅ›พ้›†ใ€ๆ—ฅๅธธ๏ผ‰ ๐ŸŸฃโšซ 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_videosใ€fetch_user_live_videos_by_room_id ๐ŸŸข
็›ดๆ’ญ้—ดๅผนๅน•่ดŸ่ฝฝ โšซ fetch_live_im ๐ŸŸข
็›ดๆ’ญ้—ดๅผนๅน• โšซ fetch_user_live_danmu ๐ŸŸข
ๅ…ณๆณจ็”จๆˆทๅผ€ๆ’ญ ๐ŸŸฃโšซ fetch_user_following_lives ๐ŸŸข
ๅ…ณๆณจ็”จๆˆทไฟกๆฏ ๐ŸŸฃโšซ fetch_user_following ๐ŸŸข
็ฒ‰ไธ็”จๆˆทไฟกๆฏ ๐ŸŸฃโšซ fetch_user_follower ๐ŸŸข
ๅ…ณๆณจ็”จๆˆทไฝœๅ“ ๐ŸŸฃโšซ fetch_user_following_videos ๐ŸŸค
็ฒ‰ไธ็”จๆˆทไฝœๅ“ ๐ŸŸฃโšซ fetch_user_follower_videos ๐ŸŸค
ๆœ‹ๅ‹ไฝœๅ“ ๐ŸŸฃ fetch_friend_feed_videos ๐ŸŸข
ๆœ็ดข่ง†้ข‘ โšซ 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 ๐ŸŸข
๐ŸŽถ 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_check_live_alive ๐ŸŸข
... ... ... ...

๐Ÿ“ธ ๆˆชๅ›พ

๐ŸŽฌ DouYin

ๆŠ–้Ÿณๅ•ไธชไฝœๅ“

ๆŠ–้Ÿณไธป้กตไฝœๅ“

ๆŠ–้Ÿณ็‚น่ตžไฝœๅ“

ๆŠ–้Ÿณๆ”ถ่—ไฝœๅ“

ๆŠ–้Ÿณๆ”ถ่—ๅคนไฝœๅ“

ๆŠ–้Ÿณๆ”ถ่—ๅŽŸๅฃฐ

ๆŠ–้Ÿณๅˆ้›†ไฝœๅ“

ๆ”ฏๆŒๅˆ้›†้‡Œไปปๆ„ไฝœๅ“้“พๆŽฅ่งฃๆž

ๅˆ้›†้“พๆŽฅ่งฃๆž

ๆŠ–้Ÿณ็›ดๆ’ญๅฝ•ๅˆถ

ๆŠ–้Ÿณ็›ธๅ…ณๆŽจ่

ๆŠ–้Ÿณๅฅฝๅ‹ไฝœๅ“

ๆŠ–้Ÿณ็›ดๆ’ญๅผนๅน•

-video.mp4
๐ŸŽฌ TikTok

TikTokๅ•ไธชไฝœๅ“

TikTokไธป้กตไฝœๅ“

TikTok็‚น่ตžไฝœๅ“

TikTokๆ”ถ่—ไฝœๅ“

TikTokๆ’ญๆ”พๅˆ—่กจไฝœๅ“

TikTokไฝœๅ“ๆœ็ดข

๐Ÿ“ฆ ็ป“ๆž„

๐Ÿ“ ้กน็›ฎ็›ฎๅฝ•
.
โ”œโ”€โ”€ CHANGELOG.md
โ”œโ”€โ”€ CODE_OF_CONDUCT.md
โ”œโ”€โ”€ CONTRIBUTING.md
โ”œโ”€โ”€ CONTRIBUTORS.md
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.en.md
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ SECURITY.md
โ”œโ”€โ”€ babel.cfg
โ”œโ”€โ”€ coverage.xml
โ”œโ”€โ”€ docs
โ”‚ย ย  โ”œโ”€โ”€ advance-guide.md
โ”‚ย ย  โ”œโ”€โ”€ cli.md
โ”‚ย ย  โ”œโ”€โ”€ en
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ advance-guide.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api-examples.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ guide
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ what-is-f2.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ index.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ install.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ markdown-examples.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ quick-start.md
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ site-config.md
โ”‚ย ย  โ”œโ”€โ”€ guide
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api-examples.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ apps
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ douyin
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ index.md
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ tiktok
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ index.md
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ weibo
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ index.md
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ x
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ index.md
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ what-is-f2.md
โ”‚ย ย  โ”œโ”€โ”€ index.md
โ”‚ย ย  โ”œโ”€โ”€ package-lock.json
โ”‚ย ย  โ”œโ”€โ”€ package.json
โ”‚ย ย  โ”œโ”€โ”€ public
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ douyin
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli-start-2.png
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli-start.png
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ code-start-2.png
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ code-start.png
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ log-2-console.png
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ pytest-ok.png
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ set-debug.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-help.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-no-shadow.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-mini.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-svg@0.25x.svg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-svg@0.5x.svg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-svg@0.75x.svg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-svg@1.0x.svg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-svg@1.5x.svg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow-svg@2.0x.svg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ f2-logo-with-shadow.png
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ f2-logo.ico
โ”‚ย ย  โ”œโ”€โ”€ question-answer
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ qa.md
โ”‚ย ย  โ”œโ”€โ”€ quick-start.md
โ”‚ย ย  โ”œโ”€โ”€ reference
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ runtime-api.md
โ”‚ย ย  โ”œโ”€โ”€ site-config.md
โ”‚ย ย  โ”œโ”€โ”€ snippets
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ QA.md
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ douyin
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ abogus.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ aweme-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ aweme-related.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ client-config.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ format-file-name.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ json-2-lrc.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ mix-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ mstoken-false.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ mstoken-real.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ one-video.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ query-user.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ s_v_web_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ sec-user-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ show-qrcode.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ sso-login.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ support-link.md
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ttwid.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-collection.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-collects.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-feed.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-folder.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-follow-live.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-follower.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-following.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-friend.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-get-add.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-like.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-live-im-fetch.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-live-room-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-live.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-mix.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-post.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-profile.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ verify_fp.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ video-get-add.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ webcast-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ webcast-signature.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ webid.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ xbogus.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ set-debug.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ tiktok
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ aweme-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ check-live-alive.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ client-config.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ device-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ format-file-name.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ one-video.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ sec-uid.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ support-link.md
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ token-manager.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ unique-id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-collect.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-folder.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-get-add.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-like.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-mix.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-playlist.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-post.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-profile.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ video-get-add.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ xbogus.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ twitter
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ weibo
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ user-profile.py
โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ user-weibo.py
โ”‚ย ย  โ””โ”€โ”€ vite-.zip
โ”œโ”€โ”€ f2
โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”œโ”€โ”€ __main__.py
โ”‚ย ย  โ”œโ”€โ”€ apps
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ __apps__.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ douyin
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ algorithm
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ webcast_signature.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ webcast_signature.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ crawler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ db.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ dl.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ filter.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ handler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ help.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ model.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ proto
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ douyin_webcast.proto
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ douyin_webcast_pb2.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_apps_model.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_aweme_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_crawler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_handler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_lrc.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_room_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_sec_user_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_token.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_douyin_webcast_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ test_douyin_webcast_signature.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ utils.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ tiktok
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ crawler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ db.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ dl.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ filter.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ handler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ help.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ model.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_tiktok_crawler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_tiktok_device_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ test_tiktok_token.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ utils.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ twitter
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ crawler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ db.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ dl.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ filter.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ handler.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ help.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ model.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_model.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test_tweet_id.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ ttt.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ utils.py
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ weibo
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ api.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ cli.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ crawler.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ db.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ dl.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ filter.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ handler.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ help.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ model.py
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ test
โ”‚ย ย  โ”‚ย ย      โ”‚ย ย  โ”œโ”€โ”€ test_gen_visitor.py
โ”‚ย ย  โ”‚ย ย      โ”‚ย ย  โ”œโ”€โ”€ test_handler.py
โ”‚ย ย  โ”‚ย ย      โ”‚ย ย  โ”œโ”€โ”€ test_weibo_id.py
โ”‚ย ย  โ”‚ย ย      โ”‚ย ย  โ””โ”€โ”€ test_weibo_uid.py
โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ utils.py
โ”‚ย ย  โ”œโ”€โ”€ cli
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cli_commands.py
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ cli_console.py
โ”‚ย ย  โ”œโ”€โ”€ conf
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ app.yaml
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ conf.yaml
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ defaults.yaml
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ test.yaml
โ”‚ย ย  โ”œโ”€โ”€ crawlers
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ base_crawler.py
โ”‚ย ย  โ”œโ”€โ”€ db
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ base_db.py
โ”‚ย ย  โ”œโ”€โ”€ dl
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ base_downloader.py
โ”‚ย ย  โ”œโ”€โ”€ exceptions
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api_exceptions.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ db_exceptions.py
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ file_exceptions.py
โ”‚ย ย  โ”œโ”€โ”€ helps.py
โ”‚ย ย  โ”œโ”€โ”€ i18n
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ translator.py
โ”‚ย ย  โ”œโ”€โ”€ languages
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ en_US
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ LC_MESSAGES
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ en_US.mo
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ zh_CN
โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ LC_MESSAGES
โ”‚ย ย  โ”‚ย ย          โ””โ”€โ”€ zh_CN.mo
โ”‚ย ย  โ”œโ”€โ”€ log
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ logger.py
โ”‚ย ย  โ””โ”€โ”€ utils
โ”‚ย ย      โ”œโ”€โ”€ __init__.py
โ”‚ย ย      โ”œโ”€โ”€ _dl.py
โ”‚ย ย      โ”œโ”€โ”€ _signal.py
โ”‚ย ย      โ”œโ”€โ”€ _singleton.py
โ”‚ย ย      โ”œโ”€โ”€ abogus.py
โ”‚ย ย      โ”œโ”€โ”€ abogus_async.py
โ”‚ย ย      โ”œโ”€โ”€ abogus_full.py
โ”‚ย ย      โ”œโ”€โ”€ conf_manager.py
โ”‚ย ย      โ”œโ”€โ”€ decorators.py
โ”‚ย ย      โ”œโ”€โ”€ json_filter.py
โ”‚ย ย      โ”œโ”€โ”€ utils.py
โ”‚ย ย      โ””โ”€โ”€ xbogus.py
โ”œโ”€โ”€ messages.pot
โ”œโ”€โ”€ package-lock.json
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ pytest.ini
โ”œโ”€โ”€ tests
โ”‚ย ย  โ”œโ”€โ”€ test_cli_console.py
โ”‚ย ย  โ”œโ”€โ”€ test_desc_limit.py
โ”‚ย ย  โ”œโ”€โ”€ test_dl.py
โ”‚ย ย  โ”œโ”€โ”€ test_excetions.py
โ”‚ย ย  โ”œโ”€โ”€ test_i18n.py
โ”‚ย ย  โ”œโ”€โ”€ test_logger.py
โ”‚ย ย  โ”œโ”€โ”€ test_signal.py
โ”‚ย ย  โ”œโ”€โ”€ test_singleton.py
โ”‚ย ย  โ”œโ”€โ”€ test_timestamp.py
โ”‚ย ย  โ”œโ”€โ”€ test_utils.py
โ”‚ย ย  โ””โ”€โ”€ test_xbogus.py

๐Ÿ’ฐ ่ตžๅŠฉๅ•†

TikHub ๆ˜ฏไธ€ๅฎถๆไพ›ไผ˜่ดจๆ•ฐๆฎๆŽฅๅฃๆœๅŠก็š„ไพ›ๅบ”ๅ•†ใ€‚้€š่ฟ‡ๆฏๆ—ฅ็ญพๅˆฐ๏ผŒๅฏไปฅ่Žทๅ–ๅ…่ดน้ขๅบฆใ€‚ๅฏไปฅไฝฟ็”จๆˆ‘็š„ๆณจๅ†Œ้‚€่ฏท้“พๆŽฅ๏ผšhttps://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94 ๆˆ– ้‚€่ฏท็ ๏ผš6hLcGD94๏ผŒๆณจๅ†Œๅนถๅ……ๅ€ผๅณๅฏ่Žทๅพ—$2้ขๅบฆใ€‚

TikHub ๆไพ›ไปฅไธ‹ๆœๅŠก๏ผš

  • ไธฐๅฏŒ็š„ๆ•ฐๆฎๆŽฅๅฃ
  • ๆฏๆ—ฅ็ญพๅˆฐๅ…่ดน่Žทๅ–้ขๅบฆ
  • ้ซ˜่ดจ้‡็š„APIๆœๅŠก
  • ๅฎ˜็ฝ‘๏ผšhttps://tikhub.io/
  • ้กน็›ฎๅœฐๅ€๏ผšhttps://github.com/TikHubIO/

๐Ÿ‘จโ€๐Ÿ’ป ่ดก็Œฎ

ๅฆ‚ๆžœไฝ ๆœ‰ๅ…ด่ถฃไธบF2ๅšๆ‹“ๅฑ•ๆ–ฐๅบ”็”จ๏ผŒ่ฏทๆŸฅ็œ‹่ดก็ŒฎๆŒ‡ๅ—ใ€‚

๐Ÿ™ ้ธฃ่ฐข

ๆฒกๆœ‰่ฟ™ไบ›ๅบ“ๅ’Œ็จ‹ๅบ๏ผŒF2ๅฐ†ๆ— ๆณ•ๅฎž็Žฐ่ฟ™ไบ›ๅŠŸ่ƒฝ๏ผŒๅฏนไบŽไป–ไปฌ็š„่ดก็Œฎๅ’ŒๅŠชๅŠ›๏ผŒ่กจ็คบ็”ฑ่กท็š„ๆ„Ÿ่ฐขใ€‚

โš–๏ธ ๅ่ฎฎ&ๅฃฐๆ˜Ž

  • ่ฏทไธฅๆ ผ้ตๅฎˆ็ˆฌ่™ซ่ง„่Œƒ๏ผŒไธ่ฆไฝฟ็”จๆญค้กน็›ฎ่ฟ›่กŒไปปไฝ•่ฟๆณ•่กŒไธบใ€‚
  • ไธๅ‡บๅ”ฎใ€ๅ…ฑไบซใ€ๅŠ ๅฏ†ใ€ไธŠไผ ใ€็ ”็ฉถๅ’Œไผ ๆ’ญไปปไฝ•ไธชไบบไฟกๆฏใ€‚
  • ้กน็›ฎๅŠๅ…ถ็›ธๅ…ณไปฃ็ ไป…ไพ›ๅญฆไน ไธŽ็ ”็ฉถไฝฟ็”จ๏ผŒไธๆž„ๆˆไปปไฝ•ๆ˜Ž็คบๆˆ–ๆš—็คบ็š„ไฟ่ฏใ€‚
  • ไฝฟ็”จ่€…ๅ› ไฝฟ็”จๆญค้กน็›ฎๅŠๅ…ถไปฃ็ ๅฏ่ƒฝ้€ ๆˆ็š„ไปปไฝ•ๅฝขๅผ็š„ๆŸๅคฑ๏ผŒไฝฟ็”จ่€…ๅบ”ๅฝ“่‡ช่กŒๆ‰ฟๆ‹…ไธ€ๅˆ‡้ฃŽ้™ฉใ€‚
  • ่ฏท้ตๅฎˆApache-2.0ๅผ€ๆบๅ่ฎฎ๏ผŒไธ่ฆๅˆ ้™คๆˆ–ไฟฎๆ”นไปฃ็ ไธญ็š„ไปปไฝ•็‰ˆๆƒไฟกๆฏใ€‚
  • ไฝฟ็”จ่€…ไธๅพ—ๅฐ†ๆญค้กน็›ฎๅŠๅ…ถไปฃ็ ็”จไบŽไปปไฝ•ๅฝขๅผ็š„ๅ•†ไธš็”จ้€”ๅ’Œๅ•†ไธš่กŒไธบใ€‚
  • ๅฆ‚ๆžœไฝฟ็”จ่€…ไฝฟ็”จๆญค้กน็›ฎๅŠๅ…ถไปฃ็ ๏ผŒๅณไปฃ่กจไฝฟ็”จ่€…ๅŒๆ„้ตๅฎˆไธŠ่ฟฐ่ง„ๅฎšใ€‚

๐Ÿ“œ ่ฎธๅฏ

Apache-2.0 license

Copyright (c) 2023 JohnserfSeed

๐Ÿ“ง ่”็ณป

ๅชๅ›ž็ญ”ๅ…ณไบŽF2็š„้—ฎ้ข˜๏ผŒๅฏไปฅ้€š่ฟ‡ไปฅไธ‹ๆ–นๅผ่”็ณปๆˆ‘๏ผŒ่ฏท่€ๅฟƒ็ญ‰ๅพ…๏ผŒไผšๅฐฝๅฟซๅ›žๅคไฝ ใ€‚