diff --git a/payload/user/remote_access/pager-webui/www/index.html b/payload/user/remote_access/pager-webui/www/index.html index 80b90e4..f9c8500 100644 --- a/payload/user/remote_access/pager-webui/www/index.html +++ b/payload/user/remote_access/pager-webui/www/index.html @@ -268,7 +268,7 @@ - + diff --git a/payload/user/remote_access/pager-webui/www/js/views.js b/payload/user/remote_access/pager-webui/www/js/views.js index 0088ef7..a801062 100644 --- a/payload/user/remote_access/pager-webui/www/js/views.js +++ b/payload/user/remote_access/pager-webui/www/js/views.js @@ -153,6 +153,11 @@ views.dashboard = (root) => { liveCards.attacks.style.color = wpa === 'LIVE' || open === 'LIVE' || ent === 'LIVE' ? 'var(--primary)' : ''; }).catch(() => {}); + PagerAPI.get('/api/pineap/handshakes').then((r) => { + const hs = (r.data.files || []).length; + const cur = liveCards.attacks.textContent.replace(/HS \d+/, 'HS ' + hs); + liveCards.attacks.textContent = cur; + }).catch(() => {}); PagerAPI.get('/api/health').then((r) => { const h2 = r.data || {}; liveCards.health.textContent = (h2.pineap_up ? 'pineapd up' : 'pineapd DOWN') + @@ -330,6 +335,11 @@ views.pineap = (root) => { modeRow.appendChild(modeCard); modeRow.appendChild(quickCard); box.appendChild(modeRow); + box.appendChild(h('div', { class: 'pineap-infobox info' }, + h('span', { text: 'For one-click Evil WPA / Open AP / Enterprise attacks, use the Attacks section — it deploys, enables karma, verifies on-device and captures loot automatically.' }), + h('div', { class: 'pineap-infobox-actions' }, + h('a', { class: 'btn ghost', href: '#/attacks', style: 'text-decoration:none', + onclick: (e) => { e.preventDefault(); App.go('#/attacks'); } }, 'Go to Attacks')))); const cards = { karma: {}, open: {}, wpa: {} }; const cardWrap = h('div', { class: 'pineap-title-card-container' });