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