feat: 谷歌浏览器插件
parent
094d6e56ef
commit
eb3fdec481
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"manifest_version": 3,
|
||||||
|
"name": "Auto Cookie Injector (All Pages)",
|
||||||
|
"version": "1.4",
|
||||||
|
"description": "在任何网页上点击插件,自动注入粘贴的 Cookie 字符串",
|
||||||
|
"permissions": ["activeTab", "cookies", "scripting"],
|
||||||
|
"host_permissions": ["<all_urls>"],
|
||||||
|
"background": {
|
||||||
|
"service_worker": "background.js"
|
||||||
|
},
|
||||||
|
"action": {
|
||||||
|
"default_popup": "popup.html",
|
||||||
|
"default_title": "注入 Cookie"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
// popup.js
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const pasteBtn = document.getElementById('paste');
|
||||||
|
const injectBtn = document.getElementById('inject');
|
||||||
|
const cookieInput = document.getElementById('cookie');
|
||||||
|
|
||||||
|
pasteBtn.addEventListener('click', async () => {
|
||||||
|
try {
|
||||||
|
const clipboardText = await navigator.clipboard.readText();
|
||||||
|
cookieInput.value = clipboardText;
|
||||||
|
} catch (err) {
|
||||||
|
alert('❌ 无法读取剪贴板:' + err.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
injectBtn.addEventListener('click', async () => {
|
||||||
|
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
||||||
|
const cookies = cookieInput.value.trim();
|
||||||
|
|
||||||
|
if (!cookies) {
|
||||||
|
alert('请输入 Cookie 内容');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// ✅ 通过 message 发送给 background.js
|
||||||
|
// 使用 Promise 方式处理响应
|
||||||
|
const response = await new Promise((resolve) => {
|
||||||
|
chrome.runtime.sendMessage(
|
||||||
|
{
|
||||||
|
action: 'injectCookies',
|
||||||
|
cookies: cookies,
|
||||||
|
tabId: tab.id,
|
||||||
|
},
|
||||||
|
resolve
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 检查响应是否存在
|
||||||
|
if (response && response.success) {
|
||||||
|
alert('✅ Cookie 注入成功!');
|
||||||
|
} else if (response && response.message) {
|
||||||
|
alert('❌ 注入失败:' + response.message);
|
||||||
|
} else {
|
||||||
|
alert('❌ 注入失败:未知错误');
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('发送消息失败:', error);
|
||||||
|
alert('❌ 消息发送失败:' + error.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue