# f2
**Repository Path**: zklock/f2
## Basic Information
- **Project Name**: f2
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: dependabot/github_actions/actions/checkout-4
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-09-12
- **Last Updated**: 2024-09-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://pepy.tech/project/f2)
[](https://badge.fury.io/py/f2)
[](https://github.com/Johnserf-Seed/f2/tree/v0.0.1.6-pw2)
[](https://discord.gg/3PhtPmgHf8)
[](https://codecov.io/gh/Johnserf-Seed/f2)
[](https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94)
[](https://github.com/Johnserf-Seed/f2/blob/main/LICENSE)
[đ¨đŗ įŽäŊ䏿 readme](https://github.com/Johnserf-Seed/f2/blob/main/README.md)
âĸ [đŦđ§ English readme](https://github.com/Johnserf-Seed/f2/blob/main/README.en.md)
`F2` is a [`Python` library](https://pypi.org/project/f2/) that provides multi-platform content downloading and API data processing. It supports platforms like `DouYin`, `TikTok`, `Twitter`, `Instagram`, and is easily adaptable to more platforms.
## đ Quick Start
### âī¸ Installation
- [Prerequisites](https://johnserf-seed.github.io/f2/install.html#%E5%BF%85%E5%A4%87%E6%9D%A1%E4%BB%B6)
- [Package Manager Installation](https://johnserf-seed.github.io/f2/install.html#%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E5%AE%89%E8%A3%85)
- [Compiled Installation](https://johnserf-seed.github.io/f2/install.html#%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85)
### ⥠Quick Use
- [Startup and Execution](https://johnserf-seed.github.io/f2/quick-start.html#%E5%90%AF%E5%8A%A8%E5%92%8C%E8%BF%90%E8%A1%8C)
### đ Configuration File
- [Main Configuration File (Frequent)](https://johnserf-seed.github.io/f2/site-config.html#%E4%B8%BB%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6)
- [Initialize Configuration File](https://johnserf-seed.github.io/f2/site-config.html#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6)
- [Custom Configuration File](https://johnserf-seed.github.io/f2/site-config.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6)
- [Cookie Configuration](https://johnserf-seed.github.io/f2/site-config.html#%E9%85%8D%E7%BD%AEcookie)
- [Configuration File Location](https://johnserf-seed.github.io/f2/site-config.html#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%9A%84%E4%BD%8D%E7%BD%AE)
### đģ Command Line
- [CLI Temporary Configuration](https://johnserf-seed.github.io/f2/cli.html#cli%E4%B8%B4%E6%97%B6%E9%85%8D%E7%BD%AE)
### đ Developer Guide
- [A Must-Read for Developers](https://johnserf-seed.github.io/f2/guide/what-is-f2.html)
### đ§Š Calling Examples
- [DouYin](https://johnserf-seed.github.io/f2/guide/apps/douyin/)
- [TikTok](https://johnserf-seed.github.io/f2/guide/apps/tiktok/)
## ⨠New Changes
When downloading or upgrading to a different version of `F2`, please note the following critical version updates.
đĄ v0.0.1.6-pw2
- The configuration file format has been updated. If you are using an old configuration file, please migrate accordingly.
- The default timezone for all timestamps is now (`UTC/GMT+08:00`).
- The `douyin` live stream filenames have been adjusted to `flv`, and albums have been reverted to `webp`.
- The 403 error for `tiktok` video URLs has been fixed. [Solution for TikTok video URL 403](https://johnserf-seed.github.io/f2/question-answer/qa.html#tiktok-403-forbidden)
- `douyin` now defaults to using the `ab` algorithm for requests. (The full-powered ab algorithm will be open-sourced later).
- For more changes, see [ChangeLog](https://github.com/Johnserf-Seed/f2/blob/main/CHANGELOG.md#0015---2024-04-04).
đĄ v0.0.1.5-pw2
- `XBogus` parameter in `0.0.1.5` version now supports custom User-Agent (UA), please pay attention to UA specification.
- The rebuilt database contains original data of interfaces, so you need to delete the old database file. If you want to retain records, please pay attention to migration.
- The return types of all `fetch` methods have been unified to filter types, so you need to pay attention to this change.
- Filter has added the `_to_raw` method, which can convert the filter to original interface data.
- The file name template has been updated, and if your file name does not meet the specifications, an exception will be thrown.
- `douyin` collection page links cannot be resolved, see [Douyin Collection Works](#æéŗåéäŊå).
- For more changes, see [ChangeLog](https://github.com/Johnserf-Seed/f2/blob/main/CHANGELOG.md#0015---2024-04-04).
## đ Documentation
The goal of `F2` is to provide a simple and easy-to-use interface for users to quickly obtain content data.
Many features are not fully developed in the `preview` version. If you find any issues, please submit an `issue` in the `F2` project. The [project documentation](https://johnserf-seed.github.io/f2/) is still being improved, and there may be delays, so please stay tuned.
## đ ī¸ Q&A
[Common Questions and Solutions](https://johnserf-seed.github.io/f2/question-answer/qa.html)
## đī¸ Todo
- Local forwarding functionality will be added in version `0.0.1.7`.
- More interfaces for `douyin`, `tiktok`, `weibo`, and `x` will be added in version `0.0.1.7`.
- Known issues with `x` will be fixed in version `0.0.1.7`.
## đ Updates
[ChangeLog](https://github.com/Johnserf-Seed/f2/blob/main/CHANGELOG.md)
## đĄ Applications & Features
Feature status: đĸ Represents implemented, đĄ Represents being implemented, đ¤ Represents temporarily not implemented, đĩ Represents future implementation, đ´ Represents deprecation.
Account status: âĒ Represents unknown, đŖ Represents login required (ignores own account privacy settings), âĢ Represents not login required (visible to guests only).
đļ DouYin
- đŖ Indicates that login is required to download works that are only visible to oneself, favorited works, works in collection folders, or liked works. (After login, ignores own privacy settings and obtains personalized content)
- âĢ Indicates that login is not required to download public works, works in collection folders, liked works, etc. (Only downloads works visible to others and pages)
| Feature | Account Status | API | Status |
| --- | --- | --- | --- |
| User Information | đŖâĢ | `fetch_user_profile` | đĸ |
| Single Video (Video, Album, Daily) | đŖâĢ | `fetch_one_video` | đĸ |
| Homepage Videos | đŖâĢ | `fetch_user_post_videos` | đĸ |
| Liked Videos | đŖâĢ | `fetch_user_like_videos` | đĸ |
| Collection Folder Videos | đŖâĢ | `fetch_user_collects_videos` | đĸ |
| Collected Videos | đŖ | `fetch_user_collection_videos` | đĸ |
| Collected Music | đŖ | `fetch_user_music_collection` | đĸ |
| Collected Playlist | đŖ | `fetch_user_mix_collection` | đĩ |
| Collected Series | đŖ | `fetch_user_series_collection` | đ¤ |
| Playlist Videos | âĢ | `fetch_user_mix_videos` | đĸ |
| Recommended Videos | đŖâĢ | `fetch_user_feed_videos` | đĸ |
| Related Videos | âĢ | `fetch_related_videos` | đĸ |
| Live Room Information (Stream Download) | âĢ | `fetch_user_live_videos`, `fetch_user_live_videos_by_room_id` | đĸ |
| Live Room Load | âĢ | `fetch_live_im` | đĸ |
| Live Room Danmaku | âĢ | `fetch_user_live_danmu` | đĸ |
| Followed Users Live | đŖâĢ | `fetch_user_following_lives` | đĸ |
| Followed Users Information | đŖâĢ | `fetch_user_following` | đĸ |
| Followers Information | đŖâĢ | `fetch_user_follower` | đĸ |
| Followed Users Videos | đŖâĢ | `fetch_user_following_videos` | đ¤ |
| Followers Videos | đŖâĢ | `fetch_user_follower_videos` | đ¤ |
| Friends' Videos | đŖ | `fetch_friend_feed_videos` | đĸ |
| Search Videos | âĢ | `fetch_search_videos` | đĩ |
| Search Users | âĢ | `fetch_search_users` | đĩ |
| Search Live | âĢ | `fetch_search_lives` | đĩ |
| Search Suggestions | âĢ | `fetch_search_suggest` | đ¤ |
| Douyin Hot Search | âĢ | `fetch_hot_search` | đ¤ |
| Video Comments | đŖâĢ | `fetch_video_comments` | đĩ |
| Watch History | đŖ | `fetch_user_history_read` | đ¤ |
| Watch Later | đŖ | `fetch_user_watch_later` | đ¤ |
| ... | ... | ... | ... |
| Tool | Class | API | Status |
| --- | --- | --- | --- |
| Manage Client Configuration | `ClientConfManager` | | đĸ |
| Generate Real msToken | `TokenManager` | `gen_real_msToken` | đĸ |
| Generate Fake msToken | `TokenManager` | `gen_false_msToken` | đĸ |
| Generate ttwid | `TokenManager` | `gen_ttwid` | đĸ |
| Generate webid | `TokenManager` | `gen_webid` | đĸ |
| Generate verify_fp | `VerifyFpManager` | `gen_verify_fp` | đĸ |
| Generate s_v_web_id | `VerifyFpManager` | `gen_s_v_web_id` | đĸ |
| Generate Live Signature | `DouyinWebcastSignature` | `get_signature` | đĸ |
| Generate wss Signature Parameters from API Model | `WebcastSignatureManager` | `model_2_endpoint` | đĸ |
| Generate Xb Parameters from API URL | `XBogusManager` | `str_2_endpoint` | đĸ |
| Generate Xb Parameters from API Model | `XBogusManager` | `model_2_endpoint` | đĸ |
| Generate Ab Parameters from API URL | `ABogusManager` | `str_2_endpoint` | đĸ |
| Generate Ab Parameters from API Model | `ABogusManager` | `model_2_endpoint` | đĸ |
| Extract Single User ID | `SecUserIdFetcher` | `get_sec_user_id` | đĸ |
| Extract User IDs from List | `SecUserIdFetcher` | `get_all_sec_user_id` | đĸ |
| Extract Single Video ID | `AwemeIdFetcher` | `get_aweme_id` | đĸ |
| Extract Video IDs from List | `AwemeIdFetcher` | `get_all_aweme_id` | đĸ |
| Extract Single Playlist ID | `MixIdFetcher` | `get_mix_id` | đĸ |
| Extract Playlist IDs from List | `MixIdFetcher` | `get_all_mix_id` | đĸ |
| Extract Single Live Room ID | `WebCastIdFetcher` | `get_webcast_id` | đĸ |
| Extract Live Room IDs from List | `WebCastIdFetcher` | `get_all_webcast_id` | đĸ |
đļ TikTok
- đŖ Indicates that login is required to download works that are only visible to oneself, favorited works, works in collection folders, or liked works. (After login, ignores own privacy settings and obtains personalized content)
- âĢ Indicates that login is not required to download public works, works in collection folders, liked works, etc. (Only downloads works visible to others and pages)
| Feature | Account Status | Interface | Feature Status |
| --- | --- | --- | --- |
| User Information | đŖâĢ | `fetch_user_profile` | đĸ |
| Single Work | đŖâĢ | `fetch_one_video` | đĸ |
| Home Page Works | đŖâĢ | `fetch_user_post_videos` | đĸ |
| Liked Works | đŖâĢ | `fetch_user_like_videos` | đĸ |
| Favorite Works | đŖâĢ | `fetch_user_collect_videos` | đĸ |
| Playlist | đŖâĢ | `fetch_play_list` | đĸ |
| Playlist Works | đŖâĢ | `fetch_user_mix_videos` | đĸ |
| Post Search|đŖâĢ|`fetch_search_videos`|đĸ|
| Live Room Information (Stream Download) |âĢ|`fetch_user_live_videos`|đĸ|
| Check If The webcast Is Alive|đŖâĢ|`fetch_check_live_alive`|đĸ|
| ... | ... | ... | ... |
## đ¸ Screenshots
đŦ DouYin
### DouYin Single Work
### DouYin Home Page Works
### DouYin Liked Works
### DouYin Favorite Works
### DouYin Collection Works
### DouYin Collected Original Sound
### DouYin Collection Works
Support for parsing any work link in the collection
Collection link parsing
### DouYin Hotspot
### DouYin Live Room Information
### DouYin Live Room Danmaku
### DouYin Related Videos
### DouYin Friend Videos
### DouYin Webcast Danmaku
https://github.com/Johnserf-Seed/f2/assets/40727745/500d1eaf-59ba-44ba-849b-666c0ddf8469
đŦ TikTok
### TikTok Single Work
### TikTok Home Page Works
### TikTok Liked Works
### TikTok Favorite Works
### TikTok Collection Works
### TikTok Collected Original Sound
### TikTok Post Search
## đĻ Structures
đ Project Catalogs
```bash
.
âââ 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
```
## đ° Sponsor
[TikHub](https://tikhub.io/) is a provider of premium data interface services. You can get free credits by signing up daily. You can use my signup invite link: [https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94](https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94) or Invitation code: `6hLcGD94` to get `$2` credit by signing up and recharging.
[TikHub](https://tikhub.io/) offers the following services:
- Rich data interface
- Sign up daily to get free credits
- High quality API service
- Official website: https://tikhub.io/
- Project address: https://github.com/TikHubIO/
## đ¨âđģ Contributions
If you are interested in extending new applications for `F2`, please refer to the [contribution guidelines](https://github.com/Johnserf-Seed/f2/blob/main/.github/CONTRIBUTING.md).
## đ Acknowledgements
- [Windows Terminal](https://aka.ms/terminal)
- [Python](https://www.python.org/)
- [click](https://github.com/pallets/click)
- [rich](https://github.com/Textualize/rich)
- [httpx](https://github.com/encode/httpx)
- [aiofiles](https://github.com/Tinche/aiofiles)
- [aiosqlite](https://github.com/omnilib/aiosqlite)
- [jsonpath-ng](https://github.com/h2non/jsonpath-ng)
- [m3u8](https://github.com/globocom/m3u8)
- [pyyaml](https://github.com/yaml/pyyaml)
- [pytest](https://github.com/pytest-dev/pytest)
- [browser_cookie3](https://github.com/borisbabic/browser_cookie3)
- [pydantic](https://github.com/samuelcolvin/pydantic)
- [qrcode](https://github.com/lincolnloop/python-qrcode)
- [vitepress](https://github.com/vuejs/vitepress)
- [websockets](https://github.com/python-websockets/websockets)
- [protobuf](https://github.com/protocolbuffers/protobuf)
- [PyExecJS](https://github.com/doloopwhile/PyExecJS)
Without these libraries and programs, `F2` would not be able to achieve these functionalities. Sincere thanks for their contributions and efforts.
## âī¸ License & Disclaimer
- **Please strictly comply with the web scraping standards and do not engage in any illegal activities using this project.**
- **Do not sell, share, encrypt, upload, research, or disseminate any personal information.**
- **The project and its related code are for learning and research purposes only and do not constitute any express or implied warranties.**
- **Users should bear all risks arising from the use of this project and its code.**
- **Please comply with the Apache-2.0 open-source license and do not delete or modify any copyright information in the code.**
- **Users are not allowed to use this project and its code for any form of commercial purposes and commercial activities.**
- **By using this project and its code, users agree to abide by the above rules.**
## đ License
[Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0.html)
Copyright (c) 2023 JohnserfSeed
## đ§ Contact
I only answer questions about `F2`. You can contact me through the following methods. Please be patient, and I will reply to you as soon as possible.
- Mail: [johnserf-seed@foxmail.com](mailto:johnserf-seed@foxmail.com)
- Discord: [F2](https://discord.gg/3PhtPmgHf8)