31 lines
985 B
Markdown
31 lines
985 B
Markdown
🧠 System Overview
|
|
Frontend (HTML/JS/CSS)
|
|
|
|
|
--> /api/getListApp (reads listApp.txt + fetches init from OPNsense)
|
|
--> /update (applies app_controls to Zenarmor via fetch)
|
|
|
|
Backend (Node.js + Express)
|
|
|
|
|
--> 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. The script handles this via dynamic import.
|
|
|
|
2. Start the server
|
|
node server.js
|
|
Login will be performed immediately, then auto-refresh every 5 minutes.
|
|
|
|
🔐 Config
|
|
- Change "SERVER_DOMAIN" in public/index.html
|
|
- Change "OPENSENCE_DOMAIN" in server.js |