修改 Yandex 搜索引擎的 cookie
// ==UserScript==
// @name 修改 Yandex 搜索引擎的 cookie
// @namespace https://scriptcat.org/zh-CN/users/157252
// @author deepseek
// @version 1.3.5
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAO8SURBVGiBzZo9aBxHFMd/tiMsIRO2VGHQKoEoTcI2dgxutnY+7kjlctUJ2STbRO2dS3dqQiDGsJVLs+Ai6nSqEpFCCw5BBiVaoUbG2DdnSLjCZl3MrrS3H9Luztyd/vC4u7l57/3f7Myb2Zm5hB58CnwF3AJuxt+L8Ecsf8af/2ry3whXgRXgORA1lOeAA8xMkvg88CNwpEA8K0fAD7HtseEasA680kg8K6+An2JfWvElEI6ReFYOgGVd5L8G/p8g+UQGwHeq5O8B76ZAPpF3yPHWCO4UiWfFrUv+W+D9BSCeyHugXZX8MvDfBSCdFUHBwL6U+f0xsAN8Xhad4zgsLi6OlG1vb9Pr9c5slSwsy6LVao2UHR4e4nneWWp7yFn+bVmFLue0hOu6URZbW1u1W9TzvJwd13Wr6HbLyH8GDM8zYBhGJITIObdtuzJ50zRz+kKIyDCMKvpD4HpC+nIqgDXk+uZMCCHY2NjIlbtu9UThOE6uzPM8hBBV1K8C97OFBjUmK8Mwci0YRVFkmmYl3X6/30g3Ja+BuXQAqzWUS/uw53nn6jmOk9Pzfb9JVlpNBxDUNVDUj6u0ZBiGSuMnJUFCfqGBculT6Ha7pfXb7XaufhAEjXzHsgByhmtkwLbtHKF+v1+aTXq9Xq6+4zgqAbQBHioYKCRVlM+LulwYhirko5g7mypGirrFwcGBcnerKJsA+4pGCgdmumuUpd2KE9dZsg9wrBpAUWrc3d09+b/b7eb+r5JyK8gxVFg+NH0KSXosWnrUnLjKZPgRmuB5Hp1OZ6Ss0+kQBAHtdn4pH4ahLtcINDyBskWeZVk6Wrq0C11BTsmGaisMh0NmZ2exbXukfG5uDt/3Vc2X4SUoptG0NF1eKMjmFeAL4LaO5hBCsLS0hGVZI+WDwaD2G1tFPAW4i8ZWKXoKRRObJmkDmLoN+74/qcG8cBm5ZfhX9ad2PoIgyJWZpqnTBUjOx8kr5WPd1rPIjgsN+BlO34k94I1uD2NEH3gCpwEI4NHU6NTHr8R7Q+ldiV+mw6URTrimAzgEHkyeS208QHIFRgMAuev1YqJ06uFvMjtz2QAAWsg9oouGAfB9tjC7uZvgG+BZU0+maebyfhiGqkvoO8BvdRQu0gHHWpOIQR7vTPuI6V5T8gnuIHPupMm/jX1rwTLy6HNS5PeQ2/1acQ15CD3ug+51xnDQncZ87ER5OyYlR8jxNtarBlnMIC9qqF72WEHhskfZPFAXnyCv2tyIP2+V1NsBfkdet9kB/lF1/AHARK9LUX9T5wAAAABJRU5ErkJggg==
// @description 自用脚本,为 Yandex 搜索选择性地注入 Cookie。
// @match http*://ya.ru/search/*
// @match http*://yandex.by/search/*
// @match http*://yandex.com/search/*
// @match http*://yandex.com.by/search/*
// @match http*://yandex.com.eu/search/*
// @match http*://yandex.com.fr/search/*
// @match http*://yandex.com.kz/search/*
// @match http*://yandex.com.net/search/*
// @match http*://yandex.com.ru/search/*
// @match http*://yandex.com.tr/search/*
// @match http*://yandex.com.ua/search/*
// @match http*://yandex.com.uz/search/*
// @match http*://yandex.eu/search/*
// @match http*://yandex.fr/search/*
// @match http*://yandex.kz/search/*
// @match http*://yandex.net/search/*
// @match http*://yandex.ru/search/*
// @match http*://yandex.tr/search/*
// @match http*://yandex.ua/search/*
// @match http*://yandex.uz/search/*
// @match http*://ya.ru/*/touch/*
// @match http*://yandex.by/*/touch/*
// @match http*://yandex.com/*/touch/*
// @match http*://yandex.com.by/*/touch/*
// @match http*://yandex.com.eu/*/touch/*
// @match http*://yandex.com.fr/*/touch/*
// @match http*://yandex.com.kz/*/touch/*
// @match http*://yandex.com.net/*/touch/*
// @match http*://yandex.com.ru/*/touch/*
// @match http*://yandex.com.tr/*/touch/*
// @match http*://yandex.com.ua/*/touch/*
// @match http*://yandex.com.uz/*/touch/*
// @match http*://yandex.eu/*/touch/*
// @match http*://yandex.fr/*/touch/*
// @match http*://yandex.kz/*/touch/*
// @match http*://yandex.net/*/touch/*
// @match http*://yandex.ru/*/touch/*
// @match http*://yandex.tr/*/touch/*
// @match http*://yandex.ua/*/touch/*
// @match http*://yandex.uz/*/touch/*
// @run-at document-start
// @license MIT
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 要注入的特定 Cookie 项目
const cookieEntries = {
'receive-cookie-deprecation': '1',
'gpb': 'yandex_gid.90#ygo.84%3A90#ygu.0',
'yandex_gid': '90',
'KIykI': '1',
'my': 'YycCAAMA',
'is_gdpr': '0',
'is_gdpr_b': 'CI2uORC1sQIoAg==',
'yp': '1742326362.sz.904x407x3#1756341914.szm.3:904x407:407x904#1758515894.ygu.0#1758515894.ygo.84:90#2055783435.pcs.1#1745523716.atds.1#1743252325.csc.1#1758515915.sp.family:0'
};
// 智能提取主域名
const hostname = window.location.hostname;
const parts = hostname.split('.');
const yandexIndex = parts.indexOf('yandex');
let dynamicDomain = '';
if (yandexIndex !== -1) {
// 提取从 "yandex" 开始的部分(如 yandex.com.lv → .yandex.com.lv)
dynamicDomain = '.' + parts.slice(yandexIndex).join('.');
} else {
// 如果意外情况(根据 @match 规则应该不会触发)
dynamicDomain = '.' + hostname;
}
// 获取当前 Cookie 并保留非冲突项
const currentCookies = Object.fromEntries(
document.cookie.split(';')
.map(cookie => cookie.trim().split(/=(.*)/, 2))
.filter(([name]) => name)
);
// 安全更新 Cookie
Object.entries(cookieEntries).forEach(([name, value]) => {
if (currentCookies[name] !== value) {
const isSecure = window.location.protocol === 'https:';
document.cookie = `${name}=${value}; domain=${dynamicDomain}; path=/; secure=${isSecure}; SameSite=Lax`;
}
});
// 调试输出
console.log('[Cookie 脚本] 最终 Cookie:', document.cookie);
})();