OpnsenseAppControl/README.md

1.1 KiB
Raw Permalink Blame History

🧠 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_DOMAIN in public/index.html
  • Change OPENSENSE_DOMAIN in server.js