@isereb/tiktok-api-dl
Version:
Scraper for downloading media in the form of videos, images and audio from Tiktok. Also for stalking Tiktok Users, getting user posts, likes, comments, followers and following.
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;