WGDashboard/src/static/app/dist/assets/peerCreate-qJGxC8cN.js

2 lines
19 KiB
JavaScript
Raw Normal View History

2024-12-05 01:51:02 +08:00
import{_,a as n,c as d,b as e,d as l,m as c,z as p,n as b,j as r,D as g,W as w,v as x,G as C,w as D,F as S,h as K,f as A,t as $,k as F,e as h,g as O,y as G,i as k,Z as L}from"./index-CRrH8rsP.js";import{L as m}from"./localeText-BwuzYH16.js";const R={name:"nameInput",components:{LocaleText:m},props:{bulk:Boolean,data:Object,saving:Boolean}},j={for:"peer_name_textbox",class:"form-label"},q={class:"text-muted"},W=["disabled"];function z(s,t,u,v,i,f){const o=r("LocaleText");return n(),d("div",{class:b({inactiveField:this.bulk})},[e("label",j,[e("small",q,[l(o,{t:"Name"})])]),c(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,W),[[p,this.data.name]])],2)}const J=_(R,[["render",z]]),Z={name:"privatePublicKeyInput",components:{LocaleText:m},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const s=g(),t=w();return{dashboardStore:s,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(s){return/^[A-Za-z0-9+/]{43}=?=?$/.test(s)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},H={for:"peer_private_key_textbox",class:"form-label"},Q={class:"text-muted"},Y={class:"input-group"},X=["disabled"],ee=["disabled"],te={class:"d-flex"},se={for:"public_key",class:"form-label"},ae={class:"text-muted"},le={class:"form-check form-switch ms-auto"},oe=["disabled"],ie={class:"form-check-label",for:"enablePublicKeyEdit"},ne=["disabled"];function de(s,t,u,v,i,f){const o=r("LocaleText");return n(),d("div",{class:b(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",H,[e("small",Q,[l(o,{t:"Private Key"}),e("code",null,[l(o,{t:"(Required for QR Code and Download)"})])])]),e("div",Y,[c(e("input",{type:"text",class:b(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,X),[[p,this.keypair.privateKey]]),e("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},t[6]||(t[6]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)]),8,ee)])]),e("div",null,[e("div",te,[e("label",se,[e("small",ae,[l(o,{t:"Public Key"}),e("code",null,[l(o,{t:"(Required)"})])])]),e("div",le,[c(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=a=>this.editKey=a)},null,8,oe),[[x,this.editKey]]),e("label",ie,[e("small",null,[l(o,{t:"Use your own Private and Public Key"})])])])]),c(e("input",{class:b(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=a=>this.keypair.publicKey=a),onBlur:t[5]||(t[5]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,ne),[[p,this.keypair.publicKey]])])],2)}const re=_(Z,[["render",de]]),ce={name:"allowedIPsInput",components:{LocaleText:m},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvai