A simple tiktok video downloader written in go
Go to file
2020-04-09 18:10:33 +03:00
.github/workflows Added sonar-scaner 2020-04-04 21:09:41 +03:00
.sonar Added sonar-scaner 2020-04-04 21:09:41 +03:00
client Added support for vm.tiktok.com urls 2020-03-22 12:38:08 +02:00
models TTDL-17 Added option to output failed items to file 2020-04-09 18:10:33 +03:00
resources TTDL-17 Added option to output failed items to file 2020-04-09 18:10:33 +03:00
unitTestUtil Added more unit tests 2020-01-22 01:06:35 +02:00
utils TTDL-7 Added flag; Code clean up 2020-03-22 02:10:24 +02:00
workflows TTDL-17 Added option to output failed items to file 2020-04-09 18:10:33 +03:00
.gitignore Added sonar-scaner 2020-04-04 21:09:41 +03:00
LICENSE Added sonar-scaner 2020-04-04 21:09:41 +03:00
main.go Improved status output 2020-02-08 02:52:26 +02:00
package-lock.json Update build script to minimize js 2020-01-20 21:22:14 +02:00
package.json Added sonar-scaner 2020-04-04 21:09:41 +03:00
README.md TTDL-17 Added option to output failed items to file 2020-04-09 18:10:33 +03:00
scraper.js TTDL-20 Wait for error/items beefore quiting 2020-04-08 23:26:50 +03:00

TikTok-DL

Go Report Card GitHub Workflow Status

A simple tiktok video downloader written in go

Basic usage examples

Download the executable from https://github.com/pikami/tiktok-dl/releases
You can download all videos from user by running ./tiktok-dl TIKTOK_USERNAME
You can download single video by running ./tiktok-dl VIDEO_URL
You can download items listed in a text file by running ./tiktok-dl -batch-file path/to/items.txt

Usage Manual

Usage: tiktok-dl [OPTION]... TARGET
  or:  tiktok-dl [OPTION]... -batch-file BATCH_FILE

In the 1st form, download given `TARGET`.
In the 2nd form, download all targets listed in given `BATCH_FILE`.

Available options

  • -archive - Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it.
  • -batch-file some_file - File containing URLs/Usernames to download, one value per line. Lines starting with '#', are considered as comments and ignored.
  • -deadline - Sets the timout for scraper logic in seconds (used as a workaround for context deadline exceeded error) (default 1500)
  • -debug - enables debug mode
  • -fail-log some_file - Write failed items to log file
  • -json - Returns whole data, that was scraped from TikTok, in json
  • -limit - Sets the max count of video that will be downloaded (default infinity)
  • -metadata - Write video metadata to a .json file
  • -output some_directory - Output path (default "./downloads")
  • -quiet - Supress output

Build instructions

  1. Clone this repository
  2. Run go build to build the executable.

Acknowledgments

This software uses the chromedp for web scraping, it can be found here: https://github.com/chromedp/chromedp
For releases the JS code is minified by using terser toolkit, it can be found here: https://github.com/terser/terser