fix(acs): dukung virtual parameters GenieACS Pro
Some checks failed
CI / test (push) Has been cancelled
Some checks failed
CI / test (push) Has been cancelled
- pppoeIP/pppIP/WanIP/IPTR069, pppoeUsername2/PPPoEUser, WlanSSID - lookup PPPoE & tampilan IP/username lebih akurat - versi 0.6.12
This commit is contained in:
@@ -2,6 +2,12 @@
|
||||
|
||||
Format mengikuti [Keep a Changelog](https://keepachangelog.com/) dan [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [0.6.12] — 2026-11-06 — "acs-virtual"
|
||||
|
||||
### Diperbaiki
|
||||
- Ekstraksi **GenieACS Pro** memakai virtual parameters: `pppoeIP`, `pppIP`, `WanIP`, `IPTR069`, `pppoeUsername2`, `PPPoEUser`, `WlanSSID`.
|
||||
- Lookup perangkat via PPPoE mencakup variabel virtual tersebut, sehingga IP/username lebih cepat dan akurat tampil di tabel ACS.
|
||||
|
||||
## [0.6.11] — 2026-11-06 — "acs-wifi-modal"
|
||||
|
||||
### Ditambahkan
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/lisensi-ISC-ADFF2F" alt="Lisensi: ISC">
|
||||
<img src="https://img.shields.io/badge/versi-0.6.11_acs--modal-ADFF2F" alt="Versi 0.6.11 (acs-wifi-modal)">
|
||||
<img src="https://img.shields.io/badge/versi-0.6.12_acs--virtual-ADFF2F" alt="Versi 0.6.12 (acs-virtual)">
|
||||
<img src="https://img.shields.io/badge/Node.js-%E2%89%A520-339933" alt="Node.js >= 20">
|
||||
<img src="https://img.shields.io/badge/docker-ready-2496ED?logo=docker&logoColor=white" alt="Docker">
|
||||
<a href="https://demo-openisp.oxpoe.xyz"><img src="https://img.shields.io/badge/demo-live-ADFF2F?logo=googlechrome&logoColor=black" alt="Demo"></a>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "open-isp",
|
||||
"version": "0.6.11",
|
||||
"version": "0.6.12",
|
||||
"description": "OPEN-ISP \u2014 sistem billing & manajemen ISP open-source (PWA pelanggan, multi-OLT, RADIUS, WhatsApp, QRIS)",
|
||||
"main": "app-customer.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -492,6 +492,11 @@ function getDeviceParameterValue(device, keys, filterFn) {
|
||||
}
|
||||
|
||||
function extractPppoeIp(d) {
|
||||
// Virtual parameters GenieACS (lebih cepat & akurat bila tersedia)
|
||||
for (const k of ['VirtualParameters.pppoeIP', 'VirtualParameters.pppIP', 'VirtualParameters.WanIP', 'VirtualParameters.IPTR069', 'VirtualParameters.pppoe_ip']) {
|
||||
const val = getNestedValue(d, k);
|
||||
if (val && typeof val === 'string' && val.trim() && val !== '-' && val !== '0.0.0.0' && val !== 'N/A') return val.trim();
|
||||
}
|
||||
const ip = getDeviceParameterValue(d, PPPOE_IP_KEYS, (matchedPath, value, device) => {
|
||||
if (!value || value === '0.0.0.0' || value === '-') return false;
|
||||
|
||||
@@ -511,6 +516,10 @@ function extractPppoeIp(d) {
|
||||
}
|
||||
|
||||
function extractPppoeUser(d) {
|
||||
for (const k of ['VirtualParameters.pppoeUsername2', 'VirtualParameters.pppoeUsername', 'VirtualParameters.pppUsername', 'VirtualParameters.PPPoEUser', 'VirtualParameters.pppoe_username', 'VirtualParameters.username']) {
|
||||
const val = getNestedValue(d, k);
|
||||
if (val && typeof val === 'string' && val.trim() && val !== '-' && val !== 'N/A') return val.trim();
|
||||
}
|
||||
const user = getDeviceParameterValue(d, PPPOE_USER_KEYS, (matchedPath, value, device) => {
|
||||
if (!value || value === '-') return false;
|
||||
// Abaikan nilai generik yang bukan user PPPoE pelanggan
|
||||
|
||||
@@ -160,6 +160,7 @@ const parameterPaths = {
|
||||
'Device.DeviceInfo.SoftwareVersion'
|
||||
],
|
||||
ssid: [
|
||||
'VirtualParameters.WlanSSID',
|
||||
'InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID',
|
||||
'Device.WiFi.SSID.1.SSID',
|
||||
'Device.WiFi.SSID.2.SSID'
|
||||
@@ -194,6 +195,8 @@ const parameterPaths = {
|
||||
pppoeIP: [
|
||||
'VirtualParameters.pppoeIP',
|
||||
'VirtualParameters.pppIP',
|
||||
'VirtualParameters.WanIP',
|
||||
'VirtualParameters.IPTR069',
|
||||
'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.ExternalIPAddress',
|
||||
'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress',
|
||||
'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1.ExternalIPAddress',
|
||||
@@ -204,8 +207,10 @@ const parameterPaths = {
|
||||
'Device.IP.Interface.1.IPv4Address.1.IPAddress'
|
||||
],
|
||||
pppUsername: [
|
||||
'VirtualParameters.pppoeUsername2',
|
||||
'VirtualParameters.pppoeUsername',
|
||||
'VirtualParameters.pppUsername',
|
||||
'VirtualParameters.PPPoEUser',
|
||||
'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.Username',
|
||||
'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.2.Username',
|
||||
'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.3.Username',
|
||||
|
||||
@@ -1 +1 @@
|
||||
0.6.11
|
||||
0.6.12
|
||||
Reference in New Issue
Block a user