From ec799109e577c84b5d8ba056fe7e06bfd4551c23 Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Thu, 5 Mar 2026 16:09:23 +0100 Subject: [PATCH] luci-proto-wireguard: add download link for peer config Ease download of the generated config. Closes #8389 Signed-off-by: Paul Donald --- .../resources/protocol/wireguard.js | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js b/protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js index d4d6ed7c22..29a9687fca 100644 --- a/protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js +++ b/protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js @@ -808,7 +808,30 @@ return network.registerProtocol('wireguard', { }, [ peer_config ]) ]); + const linkdiv = E('div', { + 'style': 'width:100%;text-align:center' + }, [ + E('button', { + 'class': 'btn', + 'click'(ev) { + ev.preventDefault(); + + const blob = new Blob([peer_config], { type: 'text/plain' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + + a.href = url; + a.download = 'wireguard-peer.conf'; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); + } + }, [ _('Download peer configuration file') ]) + ]); + buildSVGQRCode(peer_config, node.firstChild); + node.appendChild(linkdiv); return node; };