This commit is contained in:
cheney 2026-07-17 21:36:57 +08:00
parent 375f0e50fa
commit 2a13e67a2d
5 changed files with 47 additions and 38 deletions

View File

@ -1,4 +1,4 @@
{
{
"apiBase": "http://dsv6.honor3.com:10101",
"username": "douyin",
"password": "douyin2025"

View File

@ -5,11 +5,12 @@
"main": "src/index.js",
"type": "module",
"scripts": {
"loopfav": "node src/cli.js loopfav",
"cookies": "node src/cli.js cookies",
"unfav": "node src/cli.js unfav",
"sync": "node src/cli.js sync",
"unfavorite": "node src/cli.js unfavorite",
"uncollect": "node src/cli.js uncollect",
"loop": "node src/cli.js loop"
"loopcol": "node src/cli.js loopcol",
"uncol": "node src/cli.js uncol"
},
"author": "",
"license": "ISC",

View File

@ -1,23 +1,25 @@
// 抖音小云 CLI 工具
// 用法:
// node cli.js cookies 获取抖音 cookies 并同步到 douxiaoyun
// node cli.js cookies 获取抖音 cookies仅保存本地
// node cli.js sync 将本地 cookies 同步到 douxiaoyun
// node cli.js unfavorite 取消点赞(单次执行)
// node cli.js uncollect 取消收藏(单次执行)
// node cli.js loop 循环模式每10秒取消点赞
// node cli.js unfav 取消点赞(单次执行)
// node cli.js uncol 取消收藏(单次执行)
// node cli.js loopfav 循环取消点赞每10秒
// node cli.js loopcol 循环取消收藏每10秒
const cmd = process.argv[2];
const validCommands = ["cookies", "sync", "unfavorite", "uncollect", "loop"];
const validCommands = ["cookies", "sync", "unfav", "uncol", "loopfav", "loopcol"];
if (!cmd || !validCommands.includes(cmd)) {
console.log("抖音小云 CLI 工具\n");
console.log("用法: node src/cli.js <命令>\n");
console.log("可用命令:");
console.log(" cookies 获取抖音 cookies 并同步到 douxiaoyun");
console.log(" cookies 获取抖音 cookies仅保存本地");
console.log(" sync 将本地 cookies 同步到 douxiaoyun");
console.log(" unfavorite 取消点赞(单次执行)");
console.log(" uncollect 取消收藏(单次执行)");
console.log(" loop 循环模式每10秒取消点赞");
console.log(" unfav 取消点赞(单次执行)");
console.log(" uncol 取消收藏(单次执行)");
console.log(" loopfav 循环取消点赞每10秒");
console.log(" loopcol 循环取消收藏每10秒");
process.exit(1);
}
@ -40,24 +42,31 @@ async function main() {
await syncToDouxiaoyun(config.cookie, config.sec_user_id);
break;
case "unfavorite":
case "unfav":
console.log("💔 取消点赞...");
const { getAndUnFavorite } = await import("./index.js");
await getAndUnFavorite();
break;
case "uncollect":
case "uncol":
console.log("📦 取消收藏...");
const { getAndUnCollection } = await import("./index.js");
await getAndUnCollection();
break;
case "loop":
console.log("🔄 启动循环模式每10秒取消点赞...");
case "loopfav":
console.log("🔄 启动循环每10秒取消点赞...");
const mod = await import("./index.js");
await mod.getAndUnFavorite();
setInterval(() => { mod.getAndUnFavorite(); }, 10 * 1000);
break;
case "loopcol":
console.log("🔄 启动循环每10秒取消收藏...");
const mod2 = await import("./index.js");
await mod2.getAndUnCollection();
setInterval(() => { mod2.getAndUnCollection(); }, 10 * 1000);
break;
}
}

View File

@ -7,7 +7,7 @@ import { chromium } from "playwright";
import { writeFileSync, readFileSync } from "fs";
import { resolve, dirname } from "path";
import { fileURLToPath } from "url";
import { syncToDouxiaoyun } from "./sync-douxiaoyun.js";
const __dirname = dirname(fileURLToPath(import.meta.url));
const CONFIG_PATH = resolve(__dirname, "..", "config", "config.json");
@ -115,10 +115,9 @@ async function main() {
saveConfig(cookieString, capturedSecUserId);
if (capturedSecUserId) {
await syncToDouxiaoyun(cookieString, capturedSecUserId);
} else {
console.log("\n⚠ 未获取到 sec_user_id跳过服务器上传");
if (!capturedSecUserId) {
console.log("\n⚠ 未获取到 sec_user_id");
console.log(" 请参考 README 手动获取");
}
}

File diff suppressed because one or more lines are too long