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", "apiBase": "http://dsv6.honor3.com:10101",
"username": "douyin", "username": "douyin",
"password": "douyin2025" "password": "douyin2025"

View File

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

View File

@ -1,23 +1,25 @@
// 抖音小云 CLI 工具 // 抖音小云 CLI 工具
// 用法: // 用法:
// node cli.js cookies 获取抖音 cookies 并同步到 douxiaoyun // node cli.js cookies 获取抖音 cookies仅保存本地
// node cli.js sync 将本地 cookies 同步到 douxiaoyun // node cli.js sync 将本地 cookies 同步到 douxiaoyun
// node cli.js unfavorite 取消点赞(单次执行) // node cli.js unfav 取消点赞(单次执行)
// node cli.js uncollect 取消收藏(单次执行) // node cli.js uncol 取消收藏(单次执行)
// node cli.js loop 循环模式每10秒取消点赞 // node cli.js loopfav 循环取消点赞每10秒
// node cli.js loopcol 循环取消收藏每10秒
const cmd = process.argv[2]; 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)) { if (!cmd || !validCommands.includes(cmd)) {
console.log("抖音小云 CLI 工具\n"); console.log("抖音小云 CLI 工具\n");
console.log("用法: node src/cli.js <命令>\n"); console.log("用法: node src/cli.js <命令>\n");
console.log("可用命令:"); console.log("可用命令:");
console.log(" cookies 获取抖音 cookies 并同步到 douxiaoyun"); console.log(" cookies 获取抖音 cookies仅保存本地");
console.log(" sync 将本地 cookies 同步到 douxiaoyun"); console.log(" sync 将本地 cookies 同步到 douxiaoyun");
console.log(" unfavorite 取消点赞(单次执行)"); console.log(" unfav 取消点赞(单次执行)");
console.log(" uncollect 取消收藏(单次执行)"); console.log(" uncol 取消收藏(单次执行)");
console.log(" loop 循环模式每10秒取消点赞"); console.log(" loopfav 循环取消点赞每10秒");
console.log(" loopcol 循环取消收藏每10秒");
process.exit(1); process.exit(1);
} }
@ -40,24 +42,31 @@ async function main() {
await syncToDouxiaoyun(config.cookie, config.sec_user_id); await syncToDouxiaoyun(config.cookie, config.sec_user_id);
break; break;
case "unfavorite": case "unfav":
console.log("💔 取消点赞..."); console.log("💔 取消点赞...");
const { getAndUnFavorite } = await import("./index.js"); const { getAndUnFavorite } = await import("./index.js");
await getAndUnFavorite(); await getAndUnFavorite();
break; break;
case "uncollect": case "uncol":
console.log("📦 取消收藏..."); console.log("📦 取消收藏...");
const { getAndUnCollection } = await import("./index.js"); const { getAndUnCollection } = await import("./index.js");
await getAndUnCollection(); await getAndUnCollection();
break; break;
case "loop": case "loopfav":
console.log("🔄 启动循环模式每10秒取消点赞..."); console.log("🔄 启动循环每10秒取消点赞...");
const mod = await import("./index.js"); const mod = await import("./index.js");
await mod.getAndUnFavorite(); await mod.getAndUnFavorite();
setInterval(() => { mod.getAndUnFavorite(); }, 10 * 1000); setInterval(() => { mod.getAndUnFavorite(); }, 10 * 1000);
break; 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 { writeFileSync, readFileSync } from "fs";
import { resolve, dirname } from "path"; import { resolve, dirname } from "path";
import { fileURLToPath } from "url"; import { fileURLToPath } from "url";
import { syncToDouxiaoyun } from "./sync-douxiaoyun.js";
const __dirname = dirname(fileURLToPath(import.meta.url)); const __dirname = dirname(fileURLToPath(import.meta.url));
const CONFIG_PATH = resolve(__dirname, "..", "config", "config.json"); const CONFIG_PATH = resolve(__dirname, "..", "config", "config.json");
@ -115,10 +115,9 @@ async function main() {
saveConfig(cookieString, capturedSecUserId); saveConfig(cookieString, capturedSecUserId);
if (capturedSecUserId) { if (!capturedSecUserId) {
await syncToDouxiaoyun(cookieString, capturedSecUserId); console.log("\n⚠ 未获取到 sec_user_id");
} else { console.log(" 请参考 README 手动获取");
console.log("\n⚠ 未获取到 sec_user_id跳过服务器上传");
} }
} }

File diff suppressed because one or more lines are too long