@tobyg74/tiktok-api-dl
Version:
Scraper for downloading media in the form of videos, images and audio from Tiktok. Also for stalking Tiktok Users
52 lines (51 loc) • 1.69 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CookieManager = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
class CookieManager {
constructor() {
const homeDir = process.env.HOME || process.env.USERPROFILE;
const cookieDir = path_1.default.join(homeDir, ".tiktok-api");
if (!fs_1.default.existsSync(cookieDir)) {
fs_1.default.mkdirSync(cookieDir, { recursive: true });
}
this.cookieFile = path_1.default.join(cookieDir, "cookies.json");
this.cookieData = this.loadCookies();
}
loadCookies() {
try {
if (fs_1.default.existsSync(this.cookieFile)) {
const data = fs_1.default.readFileSync(this.cookieFile, "utf8");
return JSON.parse(data);
}
}
catch (error) {
console.error("Error loading cookies:", error);
}
return {};
}
saveCookies() {
try {
fs_1.default.writeFileSync(this.cookieFile, JSON.stringify(this.cookieData, null, 2));
}
catch (error) {
console.error("Error saving cookies:", error);
}
}
setCookie(value) {
this.cookieData["tiktok"] = value;
this.saveCookies();
}
getCookie() {
return this.cookieData["tiktok"] || null;
}
deleteCookie() {
delete this.cookieData["tiktok"];
this.saveCookies();
}
}
exports.CookieManager = CookieManager;