Files
home-server-docker/scripts/mam-login.js
2026-01-09 18:12:44 +01:00

47 lines
1.4 KiB
JavaScript

const puppeteer = require('puppeteer');
async function loginToMAM(username, password) {
try {
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
const page = await browser.newPage();
console.log("Navigating to MAM login...");
await page.goto('https://www.myanonamouse.net/login.php', {
waitUntil: 'networkidle2',
timeout: 10000
});
const pageTitle = await page.title();
console.log("Filling in login form...");
await page.type('input[name="email"]', username);
await page.type('input[name="password"]', password);
console.log("Submitting login form...");
await page.click('input[type="submit"]');
await page.waitForNavigation({
waitUntil: 'domcontentloaded',
timeout: 10000
});
console.log("Login attempt completed.");
const cookies = await page.cookies();
await browser.close();
console.log(JSON.stringify(cookies));
} catch (err) {
console.error("Login failed: ", err);
process.exit(1);
}
}
const username = process.env.MAM_USERNAME;
const password = process.env.MAM_PASSWORD;
loginToMAM(username, password)
.then(cookies => ({ result: 'Success', cookies }))
.catch(err => ({ result: 'Error', error: err.message }));