first commit
This commit is contained in:
commit
37e2b7ef82
11
package.json
Normal file
11
package.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "p20260129-douxiaoyun",
|
||||
"version": "1.0.0",
|
||||
"description": "已知 Cookie 及 sec_user_id, 实现清空收藏和点赞功能.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
||||
4
src/config.json
Normal file
4
src/config.json
Normal file
File diff suppressed because one or more lines are too long
134
src/index.js
Normal file
134
src/index.js
Normal file
@ -0,0 +1,134 @@
|
||||
// 读取配置文件
|
||||
import { readFileSync } from 'fs';
|
||||
const config = JSON.parse(readFileSync('./src/config.json', 'utf8'));
|
||||
const { cookie, sec_user_id } = config;
|
||||
|
||||
async function getFavorite() {
|
||||
try {
|
||||
const response = await fetch(`https://www.douyin.com/aweme/v1/web/aweme/favorite/?device_platform=webapp&aid=6383&channel=channel_pc_web&sec_user_id=${sec_user_id}&max_cursor=0&min_cursor=0&whale_cut_token=&cut_version=1&count=18&publish_video_strategy_type=2&update_version_code=170400&pc_client_type=1&pc_libra_divert=Windows&support_h265=1&support_dash=1&cpu_core_num=8&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1536&screen_height=864&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.6261.95&browser_online=true&engine_name=Blink&engine_version=122.0.6261.95&os_name=Windows&os_version=10&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=100&webid=7588123201441105427&uifid=e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98&verifyFp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&fp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&msToken=XVrfBx2H--46EDtKA8gvp94fyaO9Q6EWz4m7eVDiWHfNgRjdqIp07r2di--6kDYgSqY_Aavj6a4uPFIFXvp0vaU-qDIxoi4ACF48HVDaIBG1tEPorMOlTqGBADKGKSngV31AfgHTX5YpCYhMd-ujv3ia8nmQ8fUyqqvPRUvxFhM%3D&a_bogus=Qj4RkeSLExWfcd%2Fb8KNZ76OUUHgANPuyMaTdRyKPSOOOaZFY-bNPKOSXcxoqWhLBSSBzw9-H7fGlbjVbYUXTZHHkFmpvS8hbCT25I0mLZqq6Tl4%2FDNm8CgTzqwse0YvNaA9SiImR1sMN2VnRVH5YAddGH5FqQ5DgSqB9pZt9rDCW3PgTnn2GCrfAVqy%3D×tamp=1769668348&x-secsdk-web-signature=48a49129857d5973920a84fbca09b630`, {
|
||||
"headers": {
|
||||
"accept": "application/json, text/plain, */*",
|
||||
"accept-language": "zh-CN,zh;q=0.9",
|
||||
"bd-ticket-guard-client-data": "eyJ0c19zaWduIjoidHMuMi45YzVhZDExY2IzMmExOWQ3MTdjZWZmOGExYjAxYjkxNDA1YWUyZTk1ZDExMjU0ZDg4MjhmZWVlOGJiZTI0MTBiYzRmYmU4N2QyMzE5Y2YwNTMxODYyNGNlZGExNDkxMWNhNDA2ZGVkYmViZWRkYjJlMzBmY2U4ZDRmYTAyNTc1ZCIsInJlcV9jb250ZW50IjoidGlja2V0LHBhdGgsdGltZXN0YW1wIiwicmVxX3NpZ24iOiJGSkxxQ3RxT2h2bnZUU0lVMVgvUmk3N0c1dmdOdVFWVFdGdGZ6VjhiaVFVPSIsInRpbWVzdGFtcCI6MTc2OTY2ODMwOX0=",
|
||||
"bd-ticket-guard-ree-public-key": "BH2nziZtwzaB108FZYGcV1umH3+gTo0SoInGzkVGyTrTwuu7TG6mvDetCUN4HqQD6S7HH1EuQQnU6tAdWeXOkQk=",
|
||||
"bd-ticket-guard-version": "2",
|
||||
"bd-ticket-guard-web-sign-type": "1",
|
||||
"bd-ticket-guard-web-version": "2",
|
||||
"cache-control": "no-cache",
|
||||
"pragma": "no-cache",
|
||||
"sec-ch-ua": "\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Google Chrome\";v=\"122\"",
|
||||
"sec-ch-ua-mobile": "?0",
|
||||
"sec-ch-ua-platform": "\"Windows\"",
|
||||
"sec-fetch-dest": "empty",
|
||||
"sec-fetch-mode": "cors",
|
||||
"sec-fetch-site": "same-origin",
|
||||
"uifid": "e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98",
|
||||
"cookie": cookie,
|
||||
"Referer": "https://www.douyin.com/user/self?from_tab_name=main&showTab=like",
|
||||
"Referrer-Policy": "no-referrer-when-downgrade"
|
||||
},
|
||||
"body": null,
|
||||
"method": "GET"
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.error('Error fetching favorite list:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function getAndUnFavorite() {
|
||||
try {
|
||||
let ret = await getFavorite();
|
||||
if (!ret || !ret.aweme_list) {
|
||||
console.error('No favorite list found');
|
||||
return;
|
||||
}
|
||||
|
||||
let aweme_list = ret.aweme_list;
|
||||
let aweme_ids = [];
|
||||
|
||||
for (let index = 0; index < aweme_list.length; index++) {
|
||||
const element = aweme_list[index];
|
||||
if (element && element.aweme_id) {
|
||||
aweme_ids.push(element.aweme_id);
|
||||
}
|
||||
}
|
||||
|
||||
if (aweme_ids.length > 0) {
|
||||
console.log(`Found ${aweme_ids.length} favorite items`);
|
||||
await unFavorites(aweme_ids);
|
||||
} else {
|
||||
console.log('No favorite items to unfavorite');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error in getAndUnFavorite:', error);
|
||||
}
|
||||
}
|
||||
|
||||
async function unFavorites(ids) {
|
||||
try {
|
||||
// 构建 item_type_map
|
||||
const item_type_map = {};
|
||||
ids.forEach(id => {
|
||||
item_type_map[id] = 0;
|
||||
});
|
||||
|
||||
// 构建请求体
|
||||
const body = `aweme_ids=${ids.join('%2C')}&item_type_map=${encodeURIComponent(JSON.stringify(item_type_map))}`;
|
||||
|
||||
const response = await fetch("https://www.douyin.com/aweme/v1/web/cancel/item/digg/multi/?device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&pc_libra_divert=Windows&update_version_code=170400&support_h265=1&support_dash=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1536&screen_height=864&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.6261.95&browser_online=true&engine_name=Blink&engine_version=122.0.6261.95&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=100&webid=7588123201441105427&uifid=e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98&msToken=F0kPDGU38Gd8N6XXWgz-L8OtZkRJ7A_CXcll-C3uMUXHrW3Yz1BM2227vKwOEKgiCeyc4qASII7SoiNRVDUGx5oUd_lhMCnFlQlnzoO4D8Rm4p5VsSn4pZgkl0Wmhz27vn8FHeONpv9g0VFvM_XFIAJzDh9thrKpo0FiNzv0KT4%3D&a_bogus=OjsRhH77YNWnOVMG8cDitWclrH6ANBuyVaT2bjIT9NYYahFb5uPpKz-Ocqwdm5NwRSBzwHQHJDAuGddG8UXt2C9kLmZDShXyCG29I8vL0qNpbMU8gN8YC8kFKwsTWbhi-%2FQriC6R1ssr2VVRnr5DAQdGH5zHQcDgWqB5p2tyrDC83TyTIo%2FveahQ&verifyFp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&fp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj", {
|
||||
"headers": {
|
||||
"accept": "application/json, text/plain, */*",
|
||||
"accept-language": "zh-CN,zh;q=0.9",
|
||||
"cache-control": "no-cache",
|
||||
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
||||
"pragma": "no-cache",
|
||||
"sec-ch-ua": "\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Google Chrome\";v=\"122\"",
|
||||
"sec-ch-ua-mobile": "?0",
|
||||
"sec-ch-ua-platform": "\"Windows\"",
|
||||
"sec-fetch-dest": "empty",
|
||||
"sec-fetch-mode": "cors",
|
||||
"sec-fetch-site": "same-origin",
|
||||
"uifid": "e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98",
|
||||
"x-secsdk-csrf-token": "DOWNGRADE",
|
||||
"cookie": cookie,
|
||||
"Referer": "https://www.douyin.com/user/self?from_tab_name=main&showTab=like",
|
||||
"Referrer-Policy": "no-referrer-when-downgrade"
|
||||
},
|
||||
"body": body,
|
||||
"method": "POST"
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
console.log('Unfavorite result:', data);
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.error('Error unfavoriting items:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// 测试函数
|
||||
async function test() {
|
||||
// 测试获取喜欢列表
|
||||
const favoriteResult = await getFavorite();
|
||||
console.log('Favorite list result:', favoriteResult);
|
||||
|
||||
// 测试获取并取消喜欢
|
||||
await getAndUnFavorite();
|
||||
}
|
||||
|
||||
setInterval(() => {
|
||||
test();
|
||||
}, 10 * 1000);
|
||||
Loading…
Reference in New Issue
Block a user