A simple tiktok video downloader written in go
Go to file
Pijus Kamandulis 70c3faf17e Use go modules
2020-04-12 03:22:00 +03:00
.github/workflows Add execute permission to binary file durring build 2020-04-09 18:32:11 +03:00
.sonar Added sonar-scaner 2020-04-04 21:09:41 +03:00
client Use go modules 2020-04-12 03:22:00 +03:00
models Use go modules 2020-04-12 03:22:00 +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 Use go modules 2020-04-12 03:22:00 +03:00
workflows Use go modules 2020-04-12 03:22:00 +03:00
.gitignore Added sonar-scaner 2020-04-04 21:09:41 +03:00
go.mod Use go modules 2020-04-12 03:22:00 +03:00
go.sum Use go modules 2020-04-12 03:22:00 +03:00
LICENSE Added sonar-scaner 2020-04-04 21:09:41 +03:00
main.go Use go modules 2020-04-12 03:22:00 +03:00
package-lock.json Update build script to minimize js 2020-01-20 21:22:14 +02:00
package.json Use go modules 2020-04-12 03:22:00 +03:00
README.md Fix lint issues 2020-04-09 18:53:45 +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 tiktok-dl_CI

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 - Suppress 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