Skip to content

Latest commit

 

History

History
324 lines (254 loc) · 11.1 KB

README-EN.md

File metadata and controls

324 lines (254 loc) · 11.1 KB

Project Image

✨ TikTok Watermark-Free Video Downloader ✨

简体中文 | English

License: MIT Release Download GitHub Repo size GitHub Repo Languages Python v3.11.1 Terminal: wt

GitHub Stars GitHub Forks GitHub Issues GitHub Closed Issues

jsDelivr monthly hits Hits Discord Patreon

🚀 Environmental Preparation/Environment

Microsoft App Store

The old console doesn't adapt well; using Windows Terminal is recommended.

Python v3.11.1

Unexpected errors might arise with versions below Python3.11.1.

GitHub Release Version

Download the release version. It gets repackaged after every commit.

⚙ Windows Terminal Settings (Must-read)

wt configuration

🧰 Features

  • DouYin API Information:

    • ✅ Detailed user information.
    • ✅ Download published content.
    • ✅ Download favorite content.
    • ✅ Download liked content.
    • ✅ Download picture sets.
    • ✅ Download cover images of the content.
    • ✅ Download content description.
    • ✅ Download original sound.
    • ✅ Extract live stream links.
    • ⌛ Download content from following.
    • ⌛ Download content from friends.
    • ⌛ Download recommended content.
    • ❌ Download collection content.
    • ❌ Extract comments.
  • Asynchronous Downloads:

    • ✅ Download and process multiple content simultaneously to enhance efficiency.
    • ✅ Adjust asynchronous threads to reduce system pressure and reduce API errors.
    • ✅ Adjust network concurrency to reduce server verification.
  • Cookie Management:

    • ✅ Generate the cookie value needed for the web, facilitating the access of login-required APIs.
    • ✅ Handle SetCookie.
  • Configuration Operations:

    • ✅ URL shortening and parsing.
    • ✅ Custom save directory.
    • ✅ Option to download original sound.
    • ✅ Option for automatic updates.
    • ✅ Specify download time interval.
    • ❌ Set download content likes threshold.
    • ❌ Set download content play threshold.
  • Version Updates:

    • ✅ Features to automatically check and download new versions.
  • File Checking:

    • ✅ Check if a file exists before downloading to avoid redundancy.
  • Command Line Interaction:

    • ✅ Provide command line options and global headers for easy operation.
    • ⌛ Provide web UI mode.
  • Scan Code to Login:

    • ✅ Feature for scan code login, no manual cookie entry required.
  • Automatic Renaming:

    • ✅ Use a nickname mapping table to ensure content from renamed authors isn't downloaded again.
    • ⌛ Use content description mapping table to ensure content with edited descriptions isn't downloaded again.
  • Local Encrypted Parameter Call:

    • ✅ XBogus
    • ✅ verifyFp
    • ✅ s_v_web_id
    • ✅ ttwid
    • ✅ x-tt-params
    • 🔘 msToken

💡 To Do

🖥 Supported Operating Systems

List of Operating Systems supported by version 1.5.0.0
  • Windows 11
  • Windows 10 Version 1809 (OS Build 17763) or later
  • macOS Monterey (12.0) or later
  • macOS Big Sur (11.0) or later
  • macOS Catalina (10.15) or later
  • Ubuntu 20.04 LTS or later
  • Debian 10 or later
  • CentOS 7 or later
  • Fedora 34 or later
  • Deepin (UOS) 20 or later

📸 Running Process

🎬 Running without configuration file and scan code login
default.mp4
🎬 Downloading from the homepage
default.mp4

📥 Installation and Running

  1. 📦 Installation
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
  1. ▶️ Running
import Util

if __name__ == '__main__':
    # Get command line and configuration file
    cmd = Util.Command()
    config = cmd.config_dict
    dyheaders = cmd.dyheaders

    # Asynchronously download content
    Util.asyncio.run(Util.Profile(config, dyheaders).get_Profile())
    input("[  Prompt  ]: Download completed, press any key to exit.")
  1. 🔬 Test
python example.py

🗂️ Folder

📁 directory
├─ .github
│   └─ ISSUE_TEMPLATE
│       ├── --------.md
│       └── -------.md
│
├─ API
│   ├── API.js
│   ├── API参考.md
│   ├── Server.txt
│   ├── TikTokAPI.py
│   ├── TikTokDownloadVersion.txt
│   ├── TikTokGUIVersion.txt
│   ├── TikTokLive.txt
│   ├── TikTokMultiVersion.txt
│   ├── TikTokPicVersion.txt
│   ├── TikTokTool.txt
│   ├── TikTokUpdata.txt
│   ├── user_base_info.json
│   ├── user_post_delete.json
│   ├── user_post_detail.json
│   ├── user_post_info_image.json
│   ├── user_post_info_video.json
│   └── user_profile_info.json
│
├─ Collection
│   ├── CopyWritingHomePage_1.json
│   ├── GirlHomePage_1.json
│   └── MusicHomePage_1.json
│
├─ DB
│   └── create.sql
│
├─ GUI
│   ├── Main.ui
│   ├── preview.png
│   ├── README-EN.md
│   ├── README.md
│   ├── requirements.txt
│   ├── resource.py
│   └── Resource.qrc
│
└─ Util
    ├── Check.py
    ├── Command.py
    ├── Config.py
    ├── Cookies.py
    ├── Download.py
    ├── Lives.py
    ├── Log.py
    ├── Login.py
    ├── NickMapper.py
    ├── Profile.py
    ├── Resource.py
    ├── Urls.py
    ├── XB.py
    ├── __init__.py
    ├── __version__.py
    └─ algorithm
        ├── package.json
        ├── Server.py
        ├── s_v_web_id.js
        ├── s_v_web_id.py
        ├── x-bogus.js
        └── x-tt-params.js
│
├─ .gitignore
├─ Banner.png
├─ build-win.bat
├─ conf.conf
├─ conf.ini
├─ Dockerfile
├─ example.py
├─ info.db
├─ LICENSE
├─ Logo.ico
├─ README-EN.md
├─ README.md
├─ requirements.txt
├─ server.bat
├─ server.sh
├─ TikTokLive.py
├─ TikTokMultiGUI.py
├─ TikTokTool.py
├─ TikTokUpdata.py
├─ version
└─ _config.yml

💖 Sponsorship

Sponsorship Image

Thank you for supporting this project! If you find this project helpful, please consider sponsoring. You can directly visit our Patreon

📧 Contact

If you have any questions or suggestions, you can contact me via email:

🙏 Acknowledgments

We genuinely appreciate their contributions and efforts.

⚖️ Disclaimer

This project does not sell, share, encrypt, upload, or study any personal information. This project and its associated code are for learning and research purposes only and do not constitute any explicit or implicit warranty. The author assumes no responsibility for any form of loss caused by the use of this project and its code.

📜 License Statement

MIT License

Copyright (c) 2021 JohnserfSeed

The source code of this project is licensed under the MIT License. For detailed information, please refer to the LICENSE file.

📝 Contributor Code of Conduct

All contributors are welcome to this project. We hope to create a friendly environment where everyone can work together in an atmosphere of respect and understanding. Please review our Contributor Code of Conduct before participating.

👨‍💻 Contributors

We welcome all kinds of contributions, be it error reporting, improvement suggestions, or provision of code and documentation. We appreciate your help.

Contributors