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; };