#!/home/silicoflare/.bun/bin/bun import { spawn } from "bun"; import { workDomains, directWorkURLs } from "./data"; const url = process.argv[2] ?? ""; const WORK_BROWSER = "firefox"; const PERSONAL_BROWSER = "/home/silicoflare/Programs/waterfox/waterfox"; if (!workDomains || !directWorkURLs) { console.error("Data is not loaded"); process.exit(1); } function getBrowser(url: string) { const parsed = new URL(url); // query param based const queryParams = parsed.searchParams; if (queryParams.has("work")) { return WORK_BROWSER; } // domain based const domain = parsed.hostname; if (workDomains.some(workDomain => domain.includes(workDomain))) { return WORK_BROWSER; } // direct URL based if (directWorkURLs.some(directWorkURL => url.includes(directWorkURL))) { return WORK_BROWSER; } return PERSONAL_BROWSER; } if (!url) { // open personal browser if no URL is provided spawn([PERSONAL_BROWSER]); } const browser = getBrowser(url); spawn([browser, url]);