sessions-ext/src/background.ts

41 lines
1.1 KiB
TypeScript

import { LoginMessage, Message, MessageType } from './message';
import { optionsStorage } from './options-storage';
import { decrypt, encrypt } from './crypto';
const COOKIE_NAME = 'sid';
chrome.runtime.onMessage.addListener(
(message: Message, sender, sendResponse) => {
switch (message.type) {
case MessageType.LOGIN:
handleLogin(message);
}
}
);
const handleLogin = async (message: LoginMessage) => {
const cookie = await chrome.cookies.get({
name: COOKIE_NAME,
url: message.url,
});
console.log(cookie);
if (cookie) {
const opts = await optionsStorage.getAll();
const test1 = await encrypt(cookie.value, opts.encryptionPassword);
const test2 = await decrypt(test1, opts.encryptionPassword);
console.log(opts.encryptionPassword, test1, test2);
}
const url = new URL(message.url);
url.pathname = '/game.php';
url.searchParams.set('screen', 'overview_villages');
const resp = await fetch(url.toString(), {
method: 'GET',
credentials: 'include',
redirect: 'manual',
});
console.log(resp.status, resp.redirected);
};