1.1 KiB
1.1 KiB
🧠 System Overview
Frontend (HTML/JS/CSS)
└── `/api/getListApp` – reads `listApp.txt` and fetches init data from OPNsense
└── `/update` – applies `app_controls` to Zenarmor via `fetch`
Backend (Node.js + Express)
└── Uses Puppeteer for headless login
└── Session auto-refresh every 5 minutes
└── API forwarding with CSRF token + cookie
📁 Project Structure
├── public/
│ └── index.html ← Frontend UI
├── listApp.txt ← Line-separated JSON data of apps
├── server.js ← Express backend + OPNsense bridge
└── README.md ← This file
🛠️ Setup & Run
1. Install dependencies
npm install
⚠️ If using
node-fetch@3+, it requires ESM. ✅ This script handles it via dynamic import.
2. Start the server
node server.js
- Login will be performed immediately.
- Session will auto-refresh every 5 minutes.
🔐 Config
- Change
SERVER_DOMAINinpublic/index.html - Change
OPENSENSE_DOMAINinserver.js