luci-proto-wireguard: add download link for peer config
authorPaul Donald <redacted>
Thu, 5 Mar 2026 15:09:23 +0000 (16:09 +0100)
committerPaul Donald <redacted>
Thu, 5 Mar 2026 15:09:43 +0000 (16:09 +0100)
Ease download of the generated config.

Closes #8389

Signed-off-by: Paul Donald <redacted>
protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js

index d4d6ed7c22676976a726bd45f5bb93027bb8c34b..29a9687fca359dcdfae613510b8168d1683a4313 100644 (file)
@@ -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;
                                };
git clone https://git.99rst.org/PROJECT