GithubHelp home page GithubHelp logo

n0l3r / tiktok-downloader Goto Github PK

View Code? Open in Web Editor NEW
324.0 12.0 130.0 8 MB

tiktok downloader is a tool to download video from tiktok with watermark or without watermark. There are two features that is, mass download (by username/urls) and single download (by url).

License: MIT License

JavaScript 71.13% Dockerfile 3.49% Shell 7.37% HTML 18.02%
tiktok tiktok-download tiktok-download-without-watermark tiktok-downloader downloader tiktok-nowatermark tiktok-watermark tiktok-download-with-watermark

tiktok-downloader's Introduction

Visitor count

Hi there, my name is Naufal Taufiq Ridwan ๐Ÿ‘‹

I'm a Informatic Engineering Student

  • ๐ŸŒฑ Iโ€™m currently learning Javascript, GO, react-native, php, c++ and python

Connect with me Instagram Twitter

n0l3r's github stats Top Langs

tiktok-downloader's People

Contributors

jettcodey avatar karim0sec avatar keytoll avatar ltm7725 avatar mid0aria avatar n0l3r avatar neongamerbot-qk avatar schmidii99 avatar timmbobb avatar zebraslive avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiktok-downloader's Issues

Downloads 30 videos only

Thank you, works magnificently except for one thing, it only seems to download the 30 videos when there are much more per user. Can this be increased as I don't see a setting for it?

can't run

Describe the bug
A clear and concise description of what the bug is.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Invalid json request

Describe the bug
invalid json request when downloading video

Expected behavior
download all videos

Screenshots
C:\Users\Alex\tiktok-downloader\node_modules\node-fetch\lib\index.js:273 return Body.Promise.reject(new FetchError(invalid json response body at ${_this2.url} reason: ${err.message}, 'invalid-json')); ^ FetchError: invalid json response body at https://api.tiktokv.com/aweme/v1/multi/aweme/detail/?aweme_ids=%5B7123218751197154566%5b reason: Unexpected end of JSON input at C:\Users\Alex\tiktok-downloader\node_modules\node-fetch\lib\index.js:273:32 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async getVideoNoWM (C:\Users\Alex\tiktok-downloader\index.js:98:17) at async C:\Users\Alex\tiktok-downloader\index.js:196:89 { type: 'invalid-json' }

Downloads not being saved?

The download starts using txt file. It starts downloading but i cant find the downloaded files anywhere.
Where are they being saved?

30 videos

Describe the bug
A clear and concise description of what the bug is.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

18 videos?

Hi, it only finds 18 videos but I have over 600...

Only 30 videos found

Describe the bug
It says 30 video found but there are more videos. I picked Mass Download (Username) and Without Watermark.

Expected behavior
Download all videos.

This is with latest code from GitHub. I tested with different TikTok accounts - always limited to 30 videos.

Deleted videos error is confusing

Commit 39852e9 introduced a message that I don't find very useful - especially since I choose the "Single Download" option:

? Choose a option Single Download (URL)
? Choose a option Without Watermark
? Enter the URL :  ...
[!] Found 1 video
[*] Downloading video 1 of 1
[*] URL: ...
[!] 0 of 1 videos were deleted!
[+] Downloaded successfully

Would it make sense to print this line only if a video was actually deleted or something?

CC @Schmidii99

Error with Download

Error: SyntaxError: Unexpected end of JSON input
at JSON.parse ()
at getVideo (C:\Users\Asus\Desktop\Python312\tiktok-downloader-main\index.js:126:24)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\Asus\Desktop\Python312\tiktok-downloader-main\index.js:320:20
Response body:
C:\Users\Asus\Desktop\Python312\tiktok-downloader-main\index.js:133
if (res.aweme_list[0].aweme_id != idVideo) {
^

TypeError: Cannot read properties of undefined (reading 'aweme_list')
at getVideo (C:\Users\Asus\Desktop\Python312\tiktok-downloader-main\index.js:133:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\Asus\Desktop\Python312\tiktok-downloader-main\index.js:320:20

Node.js v20.11.0

function getRedirectUrl is not forking for me

it was fetching endlessly

i've changed it like this:
const getRedirectUrl = async (url) => {
if(url.includes("vm.tiktok.com") || url.includes("vt.tiktok.com")) {
url = await fetch(url, {
redirect: 'manual',
follow: 30,
})
const body = await url.text()

console.log(chalk.green('[*] Redirecting to: ' + url))
return body
}
return url;

}

the code above works. pls check if this is a global bug tiktok. hope i helped someone

0 videos found

0 videos found after no watermark > chromium opened > channel opened > 0 videos found in terminal, then program closes.

I was using the program for multiple weeks recently, have had this problem. TikTok have patched a loophole?

Not able to download videos anymore

On my machine all videos I attempt to download don't exist. The api is still up but something has changed because a few days ago we had to change the endpoint we were reaching for videos.

Error

I have a problem, in all the modes. When I would like to download, this appears :

Error: SyntaxError: Unexpected end of JSON input
at JSON.parse ()
at getVideo (C:\Users\antob\Downloads\TikTok\tiktok-downloader\index.js:126:24)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\antob\Downloads\TikTok\tiktok-downloader\index.js:320:20
Response body:
C:\Users\antob\Downloads\TikTok\tiktok-downloader\index.js:133
if (res.aweme_list[0].aweme_id != idVideo) {
^

TypeError: Cannot read properties of undefined (reading 'aweme_list')
at getVideo (C:\Users\antob\Downloads\TikTok\tiktok-downloader\index.js:133:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\antob\Downloads\TikTok\tiktok-downloader\index.js:320:20

bug in mass url function

Describe the bug
bug in mass url function when enter video url it say : [!] Error: No video found

Screenshots
image

Additional context
should send video unique identifier from the url to getVideoNoWM to able to parse it

Seems to only download 30 videos

When I use the tool it gives an output like
[] Getting list video from:
[
] 30 video found
[] 30 video found
[X] No more video found
[
] Total video found: 30

But there are far more than 30 on the channel - is there any way to get it to download more than the first 30?

Thanks

Paul

Download video from command line

Could you add an option to download a single video from the command line directly node index https://...video/...., maybe with an option whether to include watermark or not.

Error: SyntaxError: Unexpected end of JSON input

Describe the bug
I get an error when downloading a single video.

[*] URL: https://www.tiktok.com/@.....
Error: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at getVideo (/home/tbm/src/tiktok-downloader/index.js:126:24)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/tbm/src/tiktok-downloader/index.js:320:20
Response body: 
/home/tbm/src/tiktok-downloader/index.js:133
    if (res.aweme_list[0].aweme_id != idVideo) {
            ^

TypeError: Cannot read properties of undefined (reading 'aweme_list')
    at getVideo (/home/tbm/src/tiktok-downloader/index.js:133:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/tbm/src/tiktok-downloader/index.js:320:20

Node.js v18.19.0

I get this error when downloading a video: Single download, without watermark.

It happens on every single video I tried. It was working fine a few days ago.

Can you reproduce this issue?

Add the ability to download a slideshows audio.

Is your feature request related to a problem? Please describe.
When I download a slideshow the audio does not get downloaded.

Describe the solution you'd like
Add the ability to download the audio of a slideshow.

Describe alternatives you've considered
Convert the slideshow to a video with audio somehow.

Additional context
Add any other context or screenshots about the feature request here.

stoped working, it wont download anything, couldyou please take a look?

Describe the bug
A clear and concise description of what the bug is.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Download history file pls

Is your feature request related to a problem? Please describe.

I move my downloads to another external SSD so when I want to download more videos from one account I have to download all the videos again

Describe the solution you'd like

I would like a download history file so I don't download the same videos again (yt-dlp does it with the link id I think but tiktok no longer works there)

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Before, what I did in yt-dlp was go to the profile that I wanted to download and use a script to obtain the video links up to where the page was loaded, and then put them in a .txt and download them and yt-dlp filtered the ones that were already They were downloaded using --download-archive.
Thanks for your project :)

Downloads won't be saved

The program says that it successfully downloaded a couple of TikToks that I wrote in list.txt, but then when I check on the downloads folder inside tiktok-downloader-main nothing's there! Maybe I don't know where the files go... please help

[FR] Download slides as video

Just download slides as video.

Maybe download slide pictures somehow, downloading video is just mp4 with audio
so then just use ffmpeg to create a video?

List of URLs

Hi,

Could you please implement a feature where we can create a text file called 'urls' (in the directory of the script) and then the script downloads all the videos that are listed there?

Would appreciate it :)

Thanks,
Maxim

Invalid API endpoint issues.

Describe the bug
I get the following output

TypeError: Cannot read properties of undefined (reading 'aweme_list')
    at getVideo (Users/name/tiktok-downloader/index.js:142:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /Users/name/tiktok-downloader/index.js:235:20

Node.js v18.17.0

Expected behavior
It's supposed to download the video

Hello, i'm getting error while downloading a single video.

Describe the bug
A clear and concise description of what the bug is.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

return Body.Promise.reject(new FetchError(invalid json response body at ${_this2.url} reason: ${err.message}, 'invalid-json'));
^
FetchError: invalid json response body at https://api.tiktokv.com/aweme/v1/multi/aweme/detail/?aweme_ids=%5B7121740182239317253%5b reason: Unexpected end of JSON input
at /Applications/MAMP/htdocs/temp/tiktok-downloader/node_modules/node-fetch/lib/index.js:273:32
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async getVideoNoWM (/Applications/MAMP/htdocs/temp/tiktok-downloader/index.js:98:17)
at async /Applications/MAMP/htdocs/temp/tiktok-downloader/index.js:196:89 {
type: 'invalid-json'
}

User agent

Out of curiosity, how did you find the User-Agent for the iOS app?

TikTok 26.2.0 rv:262018 (iPhone; iOS 14.4.2; en_US) Cronet

I tried using an HTTP proxy to intercept the request headers, but the TikTok app apparently uses SSL pinning and it rejects the local CA / certificate. Apple's AppStore does the same.

I wanted to update it so that it uses the newer TikTok app version 32.3.0 and newer iOS 17.1. Not sure what rv stands for, app revision perhaps, not sure if changing that would alert TikTok's servers that something ain't right.

Doesn't check for errors

It seems the script doesn't check the download status or doesn't check of the filesize matches that it expects.

I downloaded ~130 videos in one go (the whole user) and ended up with some incomplete files like this:

-rw-r--r-- 1 tbm tbm    4103 May 19 08:58 72xxxxxxxx.mp4
-rw-r--r-- 1 tbm tbm       0 May 19 08:58 7228xxxxxx.mp4
-rw-r--r-- 1 tbm tbm      31 May 19 08:58 723xxxxxxx.mp4

Change download directory?

Hi! Just wondering if it's possible to change the directory that it writes the TikToks to? It's writing them using the path 'C:\Users\chris\tiktok-downloader\downloads' by default, but I'd like to change that directory. I've looked through the source code and am having a hard time finding where I can make the change to the directory.

Please let me know!! Thanks for building such a great tool :)

Cant Get Video No WM

Describe the bug
When try this package, response is error like UnhandledPromiseRejectionWarning: FetchError: invalid json response body at https:/...

Expected behavior
Expected is video url with no wm

Screenshots
image

Additional context
I hope this package can be use for video tiktok (single)

Error when download

I have error please help

? Choose a option (Use arrow keys)

Mass Download (Username)
Mass Download with (txt)
? Choose a option Mass Download (Username)
? Choose a option Without Watermark
? Enter the username with @ (e.g. @username) : sen.sokheng.h
E:\Document AI\Titktok download\tiktok-downloader\cli\index.js:62
if (username.includes("@")) {
^

TypeError: Cannot read properties of undefined (reading 'includes')
at generateUrlProfile (E:\Document AI\Titktok download\tiktok-downloader\cli\index.js:62:18)
at getListVideoByUsername (E:\Document AI\Titktok download\tiktok-downloader\cli\index.js:170:25)
at E:\Document AI\Titktok download\tiktok-downloader\cli\index.js:244:27
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v21.5.0

can get it a web with froms

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.