fix handle downloader function

This commit is contained in:
Tobi Saputra 2025-06-03 17:11:46 +07:00
parent ae537757d8
commit a56bc8c9d9
4 changed files with 17 additions and 7 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@ pnpm-lock.yaml
package-lock.json package-lock.json
yarn.lock yarn.lock
lib lib
!src/lib
test.js test.js
bun.lockb bun.lockb
tsconfig.tsbuildinfo tsconfig.tsbuildinfo

View File

@ -61,7 +61,7 @@ async function handleMediaDownload(
case "video": { case "video": {
const videoUrl = const videoUrl =
version === "v1" version === "v1"
? result.video.downloadAddr[0] ? result.video.playAddr[0]
: version === "v2" : version === "v2"
? result.video.playAddr[0] ? result.video.playAddr[0]
: result.videoHD : result.videoHD

View File

@ -5,6 +5,7 @@ import { userAgent, webUserAgent } from "../constants/headers"
import qs from "qs" import qs from "qs"
import fs from "fs" import fs from "fs"
import { createCipheriv } from "crypto" import { createCipheriv } from "crypto"
import path from "path"
export class TiktokService { export class TiktokService {
/** /**
@ -82,6 +83,7 @@ export class TiktokService {
const baseUrl = `${TiktokService.BASE_URL}api/search/user/full/?` const baseUrl = `${TiktokService.BASE_URL}api/search/user/full/?`
const queryParams = _userSearchParams(username, page) const queryParams = _userSearchParams(username, page)
const xbogusParams = xbogus(`${baseUrl}${queryParams}`, userAgent) const xbogusParams = xbogus(`${baseUrl}${queryParams}`, userAgent)
console.log(`${baseUrl}${_userSearchParams(username, page, xbogusParams)}`)
return `${baseUrl}${_userSearchParams(username, page, xbogusParams)}` return `${baseUrl}${_userSearchParams(username, page, xbogusParams)}`
} }
@ -102,11 +104,18 @@ export class TiktokService {
} }
} }
private static readonly FILE_PATH = path.join(__dirname, "../../helper")
private static readonly BASE_URL = "https://www.tiktok.com/" private static readonly BASE_URL = "https://www.tiktok.com/"
private static readonly AES_KEY = "webapp1.0+202106" private static readonly AES_KEY = "webapp1.0+202106"
private static readonly AES_IV = "webapp1.0+202106" private static readonly AES_IV = "webapp1.0+202106"
private signaturejs = fs.readFileSync("./helper/signature.js", "utf-8") private signaturejs = fs.readFileSync(
private webmssdk = fs.readFileSync("./helper/webmssdk.js", "utf-8") path.join(TiktokService.FILE_PATH, "signature.js"),
"utf-8"
)
private webmssdk = fs.readFileSync(
path.join(TiktokService.FILE_PATH, "webmssdk.js"),
"utf-8"
)
private resourceLoader = new ResourceLoader({ private resourceLoader = new ResourceLoader({
userAgent: userAgent:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.35" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.35"