Vue App
\ No newline at end of file
+Vue App
\ No newline at end of file
diff --git a/app/frontend/dist/js/app.13d7f657.js b/app/frontend/dist/js/app.13d7f657.js
deleted file mode 100644
index b863202..0000000
--- a/app/frontend/dist/js/app.13d7f657.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(function(e){function t(t){for(var o,n,s=t[0],c=t[1],l=t[2],d=0,u=[];ddurante la creazione del punto di accesso.","error_msg2":"Controlla di aver configurato le interfacce di rete giuste nel back-end."},"report":{"show_full_report":"Mostra il rapporto completo","start_new_capture":"Avvia una nuova acquisizione","save_capture":"Salva acquisizione","save":"Salvare","print":"Stampare","numbers":["zero","uno","due","tre","quattro","cinque","sei","sette","otto","nove","dieci","undici"],"stalkerware_msg":"Il dispositivo è compromesso da uno stalkerware, controllare il rapporto.","location_msg":"Un\'applicazione condivide la geolocalizzazione attuale con terze parti.","fine_msg":"Sembra tutto a posto, non sono presenti avvisi.","high_msg":"È presente {nb} avviso con priorità elevata, il dispositivo sembra compromesso.","moderate_msg":"Sono presenti {nb} avvisi con priorità moderata, è possibile che il dispositivo sia compromesso.","low_msg":"Sono presenti solo {nb} avvisi con priorità bassa da controllare.","save_report":"Salva il rapporto","report_of":"Rapporto di","detection_methods":"Metodi di rilevamento:","indicators":"Indicatori","heuristics":"Anomalie","active":"Attiva","pcap_sha1":"SHA1 della cattura:","capture_started":"Cattura è iniziata su:","capture_ended":"Cattura terminata su:","high":"elevata","moderate":"moderata","low":"bassa","uncat_coms_table":"Comunicazioni non categorizzate","protocol":"Protocollo","domain_name":"Dominio","ip_address":"Indirizzo IP","port":"Porto"},"wifi-select":{"wifi_connected":"Wi-Fi collegato","wifi_not_connected":"Wi-Fi non connesso. Riprovare.","wifi_password":"Password","connect_to_it":"Connettersi"},"save-capture":{"please_connect":"Collegare una chiave USB per salvare l\'acquisizione.","we_are_saving":"Salvataggio dell\'acquisizione in corso.","tap_msg":"È possible toccare la chiave USB per avviare una nuova acquisizione.","capture_download":"Il download dell\'acquisizione sta per iniziare...","start_capture_btn":"Avvia un\'altra acquisizione"},"modals":{"want_to_quit":"Vuoi chiudere la app?","no_go_back":"No, tornare","yes_continue":"Sì, continuare","please_give_the_password":"Inserire la password della rete:","want_to_whitelist":"Vuoi aggiungere {host} alla lista bianca per le prossime analisi?"}}')},"56d7":function(e,t,a){"use strict";a.r(t),a.d(t,"EventBus",(function(){return T}));var o=a("2b0e"),n=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("Modals"),t("router-view"),t("Controls")],1)},i=[],r=a("bc3a"),s=a.n(r),c=function(){var e=this,t=e._self._c;return e.display?t("div",{staticClass:"controls"},[t("i",{staticClass:"battery",class:[e.battery_icon]}),e.iface_out.startsWith("wl")?t("div",{staticClass:"dropup"},[t("i",{staticClass:"wifi",class:[e.wifi_icon]}),t("div",{staticClass:"dropup-content"},[t("ul",e._l(e.wifi_networks,(function(a){return t("li",{key:a,on:{click:function(t){return e.show_modal_wifi(a.name)}}},[t("i",{staticClass:"wifi_mini",class:[e.get_wifi_icon(a.signal)]}),e._v(e._s(a.name)+" ")])})),0)])]):e._e(),t("i",{staticClass:"iocs-number",class:{"border-green":e.iocs_number}},[e._v(e._s(e.iocs_number)+" IOCs")]),e.ip_address?t("i",{staticClass:"ip_addr",class:{"border-green":e.internet}},[e._v(e._s(e.ip_address)+" ")]):t("i",{staticClass:"ip_addr"},[e._v("Not connected")]),t("i",{staticClass:"home-icon",on:{click:function(t){return e.goto_home()}}}),e.backend_option?t("i",{staticClass:"config-icon",on:{click:function(t){return e.goto_backend()}}}):e._e(),e.shutdown_option?t("i",{staticClass:"shutdown-icon",on:{click:function(t){return e.show_modal_shutdown()}}}):e._e()]):e._e()},l=[],d=(a("14d9"),{name:"Controls",data:function(){return{display:!0,update_available:!1,update_possible:!1,shutdown_option:!1,backend_option:!1,remote_backend:!1,iface_out:"",battery_icon:"",wifi_icon:"",wifi_networks:[],iocs_number:0,internet:!1}},methods:{check_update:function(){s.a.get("/api/update/check",{timeout:6e4}).then(e=>{e.data.status?"A new version is available"==e.data.message&&(this.update_available=!0,this.update_possible=!0,window.current_version=e.data.current_version,window.next_version=e.data.next_version):this.update_possible=!1}).catch(e=>{console.log(e)})},goto_backend:function(){this.remote_backend?window.location.href=`https://${location.hostname}:8443`:window.location.href=`http://${location.hostname}:8443`},goto_home:function(){window.location.href="/"},load_config:function(){setInterval(()=>{s.a.get("/api/misc/config",{timeout:6e4}).then(e=>{this.shutdown_option=e.data.shutdown_option,this.backend_option=e.data.backend_option,this.remote_backend=e.data.remote_backend,this.battery_icon=this.get_battery_icon(e.data.battery_level),this.wifi_icon=this.get_wifi_icon(e.data.wifi_level),this.iocs_number=e.data.iocs_number,this.iface_out=e.data.iface_out}).catch(e=>{console.log(e)})},1e3)},get_battery_icon:function(e){return 101==e?"battery_charging":e>=90?"battery_full":e>=80?"battery_80":e>=60?"battery_60":e>=40?"battery_40":e>=25?"battery_25":e<25?"battery_15":"battery_critical"},get_wifi_icon:function(e){return e>=80?"wifi_5":e>=60?"wifi_4":e>=40?"wifi_3":e>=20?"wifi_2":e>=1?"wifi_1":"wifi_0"},show_modal_shutdown:function(){T.$emit("showModal",{action:"shutdown"})},show_modal_wifi:function(e){T.$emit("showModal",{action:"wifi",network_name:e})},get_wifi_networks:function(){setInterval(()=>{s.a.get("/api/network/wifi/list",{timeout:1e4}).then(e=>{this.wifi_networks=[],e.data.networks.forEach(e=>{e.name!=window.access_point&&this.wifi_networks.push(e)})}).catch(e=>{console.log(e)})},1e3)},check_internet:function(){setInterval(()=>{s.a.get("/api/network/status",{timeout:3e4}).then(e=>{e.data.internet?(this.internet=!0,this.ip_address=e.data.ip_out):(this.internet=!1,this.ip_address=!1)}).catch(e=>console.log(e))},1e3)}},watch:{$route(){["loader"].includes(this.$router.currentRoute.name)?this.display=!1:this.display=!0}},created:function(){this.load_config(),this.check_internet(),this.get_wifi_networks()}}),u=d,p=a("2877"),_=Object(p["a"])(u,c,l,!1,null,null,null),m=_.exports,h=function(){var e=this,t=e._self._c;return e.display?t("div",[t("div",{staticClass:"blurred-wrapper",on:{click:function(t){return e.hide_modal()}}}),e.display_shudown?t("div",{staticClass:"modal-window"},[t("div",{staticClass:"modal-content"},[t("p",[e._v(e._s(e.$t("modals.want_to_quit")))]),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.hide_modal()}}},[e._v(e._s(e.$t("modals.no_go_back")))]),e._v(" "),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.shutdown()}}},[e._v(e._s(e.$t("modals.yes_continue")))])])]):e._e(),e.display_whitelist?t("div",{staticClass:"modal-window"},[t("div",{staticClass:"modal-content"},[t("p",{domProps:{innerHTML:e._s(e.$t("modals.want_to_whitelist").replace("{host}",e.host))}}),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.hide_modal()}}},[e._v(e._s(e.$t("modals.no_go_back")))]),e._v(" "),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.add_whitelist()}}},[e._v(e._s(e.$t("modals.yes_continue")))])])]):e._e(),e.display_wifi?t("div",{staticClass:"modal-window"},[t("div",{staticClass:"modal-content"},[t("p",[e._v(e._s(e.$t("modals.please_give_the_password"))+" "),t("strong",[e._v(e._s(e.wifi_network))])]),t("div",{staticClass:"form-group"},[t("div",{class:e.password_class,on:{click:e.show_password}}),"checkbox"===e.type?t("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"form-input",attrs:{id:"password",placeholder:e.$t("wifi-select.wifi_password"),type:"checkbox"},domProps:{checked:Array.isArray(e.password)?e._i(e.password,null)>-1:e.password},on:{click:function(t){e.show_keyboard=!0},change:function(t){var a=e.password,o=t.target,n=!!o.checked;if(Array.isArray(a)){var i=null,r=e._i(a,i);o.checked?r<0&&(e.password=a.concat([i])):r>-1&&(e.password=a.slice(0,r).concat(a.slice(r+1)))}else e.password=n}}}):"radio"===e.type?t("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"form-input",attrs:{id:"password",placeholder:e.$t("wifi-select.wifi_password"),type:"radio"},domProps:{checked:e._q(e.password,null)},on:{click:function(t){e.show_keyboard=!0},change:function(t){e.password=null}}}):t("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"form-input",attrs:{id:"password",placeholder:e.$t("wifi-select.wifi_password"),type:e.type},domProps:{value:e.password},on:{click:function(t){e.show_keyboard=!0},input:function(t){t.target.composing||(e.password=t.target.value)}}})]),t("div",{staticClass:"form-group"},[t("button",{staticClass:"btn width-100",class:[e.wifi_connecting?"loading":"",e.wifi_success?"btn-success":"btn-primary"],on:{click:function(t){return e.wifi_setup()}}},[e._v(e._s(e.btn_wifi_val))])])])]):e._e(),e.show_keyboard?t("div",{staticClass:"keyboard_wrapper"},[t("SimpleKeyboard",{attrs:{input:e.input},on:{onChange:e.onChange,onKeyPress:e.onKeyPress}})],1):e._e()]):e._e()},w=[],g=a("a18c"),f=function(){var e=this,t=e._self._c;return t("div",{class:e.keyboardClass})},b=[],v=a("dd7f"),y=a.n(v),k=(a("d2db"),a("a044")),S={name:"SimpleKeyboard",props:{keyboardClass:{default:"simple-keyboard",type:String},input:{type:String}},data:()=>({keyboard:null}),mounted(){"fr"==window.config.user_lang?this.keyboard=new y.a({onChange:this.onChange,onKeyPress:this.onKeyPress,...k["a"]}):this.keyboard=new y.a({onChange:this.onChange,onKeyPress:this.onKeyPress})},methods:{onChange(e){this.$emit("onChange",e)},onKeyPress(e){this.$emit("onKeyPress",e),"{shift}"!==e&&"{lock}"!==e||this.handleShift()},handleShift(){let e=this.keyboard.options.layoutName,t="default"===e?"shift":"default";this.keyboard.setOptions({layoutName:t})}},watch:{input(e){this.keyboard.setInput(e)}}},z=S,C=Object(p["a"])(z,f,b,!1,null,"24d38e56",null),A=C.exports,P={name:"Modals",data:function(){return{btn_wifi_val:this.$t("wifi-select.connect_to_it"),wifi_connecting:!1,error:!1,wifi_success:!1,password:"",capture_token:"",display_whitelist:!1,display_shudown:!1,display_wifi:!1,display:!1,wifi_network:"",show_keyboard:!1,input:"",type:"password",password_class:"password-show"}},components:{SimpleKeyboard:A},methods:{hide_modal:function(){this.display=!1},shutdown:function(){s.a.get("/api/misc/shutdown",{timeout:3e4})},add_whitelist:function(){s.a.get("/api/misc/whitelist/"+this.host,{timeout:3e4}),this.display=!1},onChange(e){this.input=e,this.password=this.input},onKeyPress(e){"{enter}"==e&&(this.show_keyboard=!1)},onInputChange(e){this.input=e.target.value},show_password(){"password"===this.type?(this.type="text",this.password_class="password-hide"):(this.type="password",this.password_class="password-show")},wifi_setup:function(){this.password.length>=8&&(this.wifi_connecting=!0,s.a.post("/api/network/wifi/setup",{ssid:this.wifi_network,password:this.password},{timeout:6e4}).then(e=>{e.data.status?(this.wifi_success=!0,this.wifi_connecting=!1,this.btn_wifi_val=this.$t("wifi-select.wifi_connected"),setTimeout(()=>{this.display=!1,this.btn_wifi_val=this.$t("wifi-select.connect_to_it"),g["a"].push("generate-ap")},1e3)):(this.btn_wifi_val=this.$t("wifi-select.wifi_not_connected"),this.wifi_connecting=!1,setTimeout(()=>{this.btn_wifi_val=this.$t("wifi-select.connect_to_it")},1e3))}))}},created:function(){T.$on("showModal",e=>{this.input="","shutdown"==e.action?(this.show_keyboard=!1,this.display_wifi=!1,this.display_shudown=!0,this.display_whitelist=!1,this.display=!0):"wifi"==e.action?(this.wifi_connecting=!1,this.wifi_success=!1,this.password="",this.btnval=this.$t("wifi-select.connect_to_it"),this.display_shudown=!1,this.display_wifi=!0,this.display_whitelist=!1,this.wifi_network=e.network_name,this.display=!0):"whitelist"==e.action&&(this.show_keyboard=!1,this.display_wifi=!1,this.display_shudown=!1,this.display_whitelist=!0,this.host=e.host,this.display=!0)})}},N=P,I=Object(p["a"])(N,h,w,!1,null,null,null),q=I.exports;document.title="SPYGUARD";var x={name:"app",components:{Controls:m,Modals:q},data(){return{splash:!1}},methods:{set_lang:function(){if(window.config.user_lang){var e=window.config.user_lang;Object.keys(this.$i18n.messages).includes(e)&&(this.$i18n.locale=e,document.querySelector("html").setAttribute("lang",e))}},get_config:function(){s.a.get("/api/misc/config",{timeout:6e4}).then(e=>{window.config=e.data,this.set_lang()}).catch(e=>{console.log(e)})}},watch:{$route(){["loader"].includes(this.$router.currentRoute.name)?this.splash=!0:this.splash=!1}},created:function(){window.config={},this.get_config()}},W=x,B=(a("a0d8"),Object(p["a"])(W,n,i,!1,null,null,null)),O=B.exports,$=a("a925");o["a"].use($["a"]);const M=new $["a"]({locale:"en",fallbackLocale:"en",messages:{en:a("edd4"),fr:a("f693"),es:a("a306"),ru:a("7704"),pt:a("5d67"),it:a("0825"),de:a("6ce2")}});o["a"].config.productionTip=!0,o["a"].config.devtools=!0;const T=new o["a"];new o["a"]({router:g["a"],i18n:M,render:e=>e(O)}).$mount("#app")},"5d67":function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Bem vindo(a) ao SpyGuard.","help_msg":"Ajudaremos você a verificar o dispositivo.","start_btn":"Vamos começar!"},"analysis":{"question":"Deseja analisar as comunicações capturadas?","no_btn":"Não, somente salvá-las","yes_btn":"Sim, vamos lá","please_wait_msg":"Aguarde enquanto realizamos a análise...","some_time_msg":"Sim, isso pode demorar um pouco..."},"capture":{"intercept_coms_msg":"Interceptando as comunicações de ","stop_btn":"Parar a captura"},"generate-ap":{"network_name":"Nome da rede","network_password":"Senha da rede","tap_msg":"Toque no quadro branco para criar uma nova rede.","generate_ap_msg":"Geramos uma rede temporária para você.","error_msg1":"Infelizmente, tivemos alguns problemas durante a criação do AP.","error_msg2":"Verifique se você configurou as interfaces de rede corretas no back-end."},"report":{"show_full_report":"Mostrar o relatório completo","start_new_capture":"Iniciar nova captura","save_capture":"Salvar a captura","save":"Salvar","print":"Imprimir","numbers":["zero","um","dois","três","quatro","cinco","seis","sete","oito","nove","dez","onze"],"stalkerware_msg":"Seu dispositivo foi comprometido por um stalkerware. Verifique o relatório.","location_msg":"Um aplicativo está compartilhando sua geolocalização com um terceiro.","fine_msg":"Tudo parece estar bem, zero alertas.","high_msg":"Você tem {nb} alerta crítico, o dispositivo parece estar comprometido.","moderate_msg":"Você tem {nb} alertas moderados, o dispositivo pode estar comprometido.","low_msg":"Você tem apenas {nb} alertas leves, não deixe de verificá-los.","save_report":"Salvar o relatório","report_of":"Relatório de","detection_methods":"Métodos de detecção:","indicators":"Indicadores","heuristics":"Anomalias","active":"Activa","pcap_sha1":"SHA1 da captura:","capture_started":"Captura iniciada em:","capture_ended":"Captura terminou em:","high":"crítico","moderate":"moderado","low":"leve","uncat_coms_table":"Comunicações não categorizadas","protocol":"Protocolo","domain_name":"Domínio","ip_address":"Endereço IP:","port":"Porto"},"wifi-select":{"wifi_connected":"Wi-Fi conectado","wifi_not_connected":"Wi-Fi desconectado. Tente novamente.","wifi_password":"Senha do Wi-Fi","connect_to_it":"Conectar"},"save-capture":{"please_connect":"Conecte uma chave USB para salvar a captura.","we_are_saving":"Estamos salvando a captura.","tap_msg":"Toque na chave USB para iniciar uma nova captura.","capture_download":"O download da captura vai começar...","start_capture_btn":"Iniciar nova captura"},"modals":{"want_to_quit":"Deseja fechar o aplicativo?","no_go_back":"Não, voltar","yes_continue":"Sim, continuar","please_give_the_password":"Indicar a senha da rede: ","want_to_whitelist":"Você quer adicionar {host} à lista branca para as próximas análises?"}}')},"6ce2":function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Willkommen bei SpyGuard.","help_msg":"Wir helfen Ihnen bei der Überprüfung Ihres Geräts.","start_btn":"Fangen wir an!"},"analysis":{"question":"Möchten Sie die erfassten Kommunikationsverbindungen analysieren?","no_btn":"Nein, nur speichern","yes_btn":"Ja, analysieren","please_wait_msg":"Bitte warten Sie, während die Analyse läuft …","some_time_msg":"Dies kann eine Weile dauern …"},"capture":{"intercept_coms_msg":"Abfangen der Kommunikationsverbindungen von ","stop_btn":"Aufnahme beenden"},"generate-ap":{"network_name":"Netzwerkname","network_password":"Netzwerkpasswort","tap_msg":"Tippen Sie auf den weißen Rahmen, um ein neues Netzwerk zu erstellen.","generate_ap_msg":"Wir erstellen ein temporäres Netzwerk für Sie.","error_msg1":"Leider sind während der AP-Erstellung einige Fehler aufgetreten.","error_msg2":"Bitte überprüfen Sie, ob Sie die richtigen Netzwerkschnittstellen im Backend konfiguriert haben."},"report":{"show_full_report":"Vollständigen Bericht anzeigen","start_new_capture":"Neue Aufnahme starten","save_capture":"Aufnahme speichern","save":"Sichern","print":"Drucken","numbers":["null","eine","zwei","drei","vier","fünf","sechs","sieben","acht","neun","zehn","elf"],"stalkerware_msg":"Ihr Gerät ist durch Stalkerware kompromittiert; bitte sehen Sie sich den Bericht an.","location_msg":"Eine Anwendung teilt Ihren aktuellen Standort mit Dritten.","fine_msg":"Alles sieht gut aus – kein Warnungen.","high_msg":"Sie haben {nb} Warnung der Stufe \\"Hoch\\": Ihr Gerät scheint kompromittiert zu sein.","moderate_msg":"Sie haben {nb} Warnungen der Stufe \\"Mittel\\": Ihr Gerät könnte kompromittiert sein.","low_msg":"Sie haben nur {nb} Warnungen der Stufe \\"Niedrig\\": Überprüfen Sie sie gerne.","save_report":"Bericht speichern","report_of":"Bericht zu","detection_methods":"Nachweismethoden:","indicators":"Indikatoren","heuristics":"Anomalien","active":"Aktiv","pcap_sha1":"SHA1 erfassen:","capture_started":"Capture begann mit:","capture_ended":"Capture endete an:","high":"Hoch","moderate":"Mittel","low":"Niedrig","uncat_coms_table":"Kommunikation nicht kategorisiert","protocol":"Protokoll","domain_name":"Domain","ip_address":"IP-Adresse:","port":"Port"},"wifi-select":{"wifi_connected":"Wi-Fi verbunden","wifi_not_connected":"Wi-Fi nicht verbunden. Versuchen Sie es erneut.","wifi_password":"Passwort","connect_to_it":"Anmelden"},"save-capture":{"please_connect":"Bitte schließen Sie einen USB-Stick an, um Ihre Aufnahme zu speichern.","we_are_saving":"Wir speichern Ihre Aufnahme.","tap_msg":"Sie können den USB-Stick antippen, um eine neue Aufnahme zu starten.","capture_download":"Der Download der Aufnahme beginnt …","start_capture_btn":"Noch eine Aufnahme starten"},"modals":{"want_to_quit":"Möchten Sie die App schließen?","no_go_back":"Nein, zurück kommen.","yes_continue":"Ja, weiter machen","please_give_the_password":"Bitte geben Sie das Netzwerkpasswort ein: ","want_to_whitelist":"Möchten Sie {host} für die nächsten Analysen hinzufügen?"}}')},7704:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Добро пожаловать в SpyGuard.","help_msg":"Мы поможем вам проверить ваше устройство.","start_btn":"Итак, приступим!"},"analysis":{"question":"Хотите проанализировать зафиксированные подключения?","no_btn":"Нет, только сохранить","yes_btn":"Да, проанализировать","please_wait_msg":"Подождите, идет анализ...","some_time_msg":"Это может занять некоторое время..."},"capture":{"intercept_coms_msg":"Перехват подключений ","stop_btn":"Остановить сбор данных"},"generate-ap":{"network_name":"Имя сети","network_password":"Пароль сети","tap_msg":"Нажмите на белую рамку, чтобы создать новую сеть.","generate_ap_msg":"Создастся временная сеть.","error_msg1":" При создании точки доступа возникли проблемы.","error_msg2":"Убедитесь, что вы настроили нужные сетевые интерфейсы в задней части."},"report":{"show_full_report":"Показать полный отчет","start_new_capture":"Начать новый сбор данных","save_capture":"Сохранить сбор данных","save":"Сохранить","print":"Печатать","numbers":["ноль","один","два","три","четыре","пять","шесть","семь","восемь","девять","десять","одиннадцать"],"stalkerware_msg":"Ваше устройство взломано вредоносным ПО для слежки. Проверьте отчет.","location_msg":"Приложение передает вашу текущую геолокацию третьему лицу.","fine_msg":"Предупреждения отсутствуют, система выглядит защищенной.","high_msg":"У вас {nb} предупреждение высокого уровня. Вероятно,ваше устройство взломано.","moderate_msg":"У вас {nb} предупреждение среднего уровня. Возможно, ваше устройство взломано.","low_msg":"У вас {nb} предупреждение низкого уровня , проверьте их.","save_report":"Сохранить отчет","report_of":"Отчет","detection_methods":"методы обнаружения:","indicators":"Показателям","heuristics":"аномалии","active":"активное","pcap_sha1":"SHA1 захват:","capture_started":"Захват начался:","capture_ended":"захват закончился:","high":"высокий","moderate":"средний","low":"низкий","uncat_coms_table":"Несекретные сообщения","protocol":"Протокол","domain_name":"домен","ip_address":"IP-адрес:","port":"порт"},"wifi-select":{"wifi_connected":"Подключено к сети Wi-Fi","wifi_not_connected":"Не подключено к сети Wi-Fi. Повторите попытку.","tap_keyboard":"Коснитесь виртуальной клавиатуры, чтобы начать","wifi_password":"Пароль Wi-Fi"},"save-capture":{"please_connect":"Подсоедините USB-ключ, чтобы сохранить результат сбора данных.","we_are_saving":"Сохранение собранных данных.","tap_msg":"Коснитесь USB-ключа, чтобы начать новый сбор данных.","capture_download":"Начинается загрузка собранных данных...","start_capture_btn":"Начать новый сбор данных"},"modals":{"want_to_quit":"Вы бы хотели уйти?","no_go_back":"Нет","yes_continue":"да","please_give_the_password":"VПожалуйста, введите сетевой пароль: ","want_to_whitelist":"Вы хотите добавить {host} в белый список для будущих испытаний?"}}')},a0d8:function(e,t,a){"use strict";a("c266")},a18c:function(e,t,a){"use strict";var o=a("2b0e"),n=a("8c4f");o["a"].use(n["a"]);const i=[{path:"/",name:"loader",component:()=>a.e("chunk-2d0b6d35").then(a.bind(null,"1f8b")),props:!0},{path:"/home",name:"home",component:()=>a.e("chunk-2d0cfa15").then(a.bind(null,"6511")),props:!0},{path:"/generate-ap",name:"generate-ap",component:()=>a.e("chunk-2d0baeaa").then(a.bind(null,"38f5")),props:!0},{path:"/capture",name:"capture",component:()=>a.e("chunk-2e6079ad").then(a.bind(null,"e583")),props:!0},{path:"/save-capture",name:"save-capture",component:()=>a.e("chunk-0d175fb6").then(a.bind(null,"9152")),props:!0},{path:"/analysis",name:"analysis",component:()=>a.e("chunk-2d0b23b3").then(a.bind(null,"22da")),props:!0},{path:"/report",name:"report",component:()=>a.e("chunk-7cb613d5").then(a.bind(null,"e022")),props:!0}],r=new n["a"]({mode:"history",base:"/",routes:i});t["a"]=r},a306:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Bienvenido a SpyGuard.","help_msg":"Te ayudaremos a revisar tu dispositivo","start_btn":"¡Empecemos!"},"analysis":{"question":"¿Quieres analizar las comunicaciones capturadas?","no_btn":"No, solo guárdalos","yes_btn":"Sí, hagámoslo","please_wait_msg":"Espere durante el análisis ...","some_time_msg":"Sí, puede llevar algún tiempo ..."},"capture":{"intercept_coms_msg":"Interceptando las comunicaciones de","stop_btn":"Detener la captura"},"generate-ap":{"network_name":"Nombre de la red","network_password":"Contraseña de red","tap_msg":"Toca el marco blanco para generar una nueva red","generate_ap_msg":"Generamos una red efímera para ti.","error_msg1":"Desafortunadamente, tuvimos algunos problemas durante la creación del AP.","error_msg2":"Compruebe que ha configurado las interfaces de red correctas en el back-end."},"report":{"show_full_report":"Mostrar el informe completo","start_new_capture":"Nueva captura","save_capture":"Guardar la captura","save":"Guardar","print":"Imprimir","numbers":["cero","uno","dos","Tres","cuatro","cinco","seis","Siete","ocho","nueve","diez","once"],"stalkerware_msg":"Su dispositivo está comprometido por un Stalkerware, por favor revise el informe.","location_msg":"Una aplicación está compartiendo su geolocalización actual con un tercero.","fine_msg":"Todo parece correcto, cero alertas","high_msg":"Tiene {nb} alerta máxima, tu dispositivo parece estar comprometido","moderate_msg":"Tiene {nb} alertas moderadas, tu dispositivo puede estar comprometido","low_msg":"Solo tiene {nb} alertas bajas, por favor revíselas","save_report":"Guardar el informe","report_of":"Informe de","detection_methods":"Métodos de detección:","indicators":"Indicadores","heuristics":"Anomalías","active":"Activa","pcap_sha1":"SHA1 de la captura:","capture_started":"Captura comenzó a:","capture_ended":"Captura terminó a:","high":"alta","moderate":"moderada","low":"bajo","uncat_coms_table":"Sin categorizar Comunicaciones","protocol":"Protocolo","domain_name":"Dominio","ip_address":"Dirección IP ","port":"Puerto"},"wifi-select":{"wifi_connected":"Wi-Fi conectada","wifi_not_connected":"Wi-Fi no conectado. Inténtelo de nuevo.","wifi_password":"Contraseña","connect_to_it":"Conectarse"},"save-capture":{"please_connect":"Conecte una llave USB para guardar su captura.","we_are_saving":"Estamos guardando tu captura.","tap_msg":"Puede tocar la llave USB para iniciar una nueva captura","capture_download":"La descarga de la captura va a comenzar ...","start_capture_btn":"Iniciar otra captura"},"modals":{"want_to_quit":"¿Quieres cerrar la aplicación?","no_go_back":"No, volver","yes_continue":"Sí, continuar","please_give_the_password":"Introduzca la contraseña de la red: ","want_to_whitelist":"¿Desea incluir {host} en la lista blanca?"}}')},c266:function(e,t,a){},edd4:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Welcome to SpyGuard.","help_msg":"We are going to help you to check your device.","start_btn":"Let\'s start!"},"analysis":{"question":"Do you want to analyze the captured communications?","no_btn":"No, just save them","yes_btn":"Yes, let\'s do it","please_wait_msg":"Please wait during the analysis...","some_time_msg":"Yes, it can take some time..."},"capture":{"intercept_coms_msg":"Intercepting the communications of ","stop_btn":"Stop the capture"},"generate-ap":{"network_name":"Network name","network_password":"Network password","tap_msg":"Tap the white frame to generate a new network.","generate_ap_msg":"We generate an ephemeral network for you.","error_msg1":"Unfortunately, we got some issues during the AP creation.","error_msg2":"Please check that you have configured the right network interfaces in the back-end."},"report":{"show_full_report":"Show the full report","start_new_capture":"Start a new capture","save_capture":"Save the capture","save":"Save","print":"Print","numbers":["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven"],"stalkerware_msg":"Your device is compromised by a Stalkerware, please check the report.","location_msg":"An application is sharing your current geolocation with a third party.","fine_msg":"Everything looks fine, zero alerts.","high_msg":"You have {nb} high alert, your device seems to be compromised.","moderate_msg":"You have {nb} moderate alerts, your device might be compromised.","low_msg":"You have only {nb} low alerts, don\'t hesitate to check them.","save_report":"Save the report","report_of":"Report of","detection_methods":"Detection methods:","indicators":"Indicators","heuristics":"Anomalies","active":"Active","pcap_sha1":"Capture SHA1:","capture_started":"Capture started on:","capture_ended":"Capture ended on:","high":"high","moderate":"moderate","low":"low","uncat_coms_table":"Uncategorized communications","protocol":"Protocol","domain_name":"Domain","ip_address":"IP Address","port":"Port"},"wifi-select":{"wifi_connected":"Wi-Fi connected","wifi_not_connected":"Wi-Fi not connected. Please retry.","wifi_password":"Password","connect_to_it":"Connect to it"},"save-capture":{"please_connect":"Please connect a USB key to save your capture.","we_are_saving":"We are saving your capture.","tap_msg":"You can tap the USB key to start a new capture.","capture_download":"The capture download is going to start...","start_capture_btn":"Start another capture"},"modals":{"want_to_quit":"Do you want to leave the application?","no_go_back":"No, go back","yes_continue":"Yes, continue","please_give_the_password":"Please enter the password for the network: ","want_to_whitelist":"Do you want to add {host} to the whitelist for the next analysis?"}}')},f693:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Bienvenue sur SpyGuard.","help_msg":"Nous allons vous accompagner pour analyser votre appareil.","start_btn":"Allons-y !"},"analysis":{"question":"Voulez-vous analyser les communications capturées ?","no_btn":"Non, enregistrez-les.","yes_btn":"Oui, allons-y !","please_wait_msg":"Merci d\'attendre pendant l\'analyse...","some_time_msg":"Oui, cela peut prendre du temps..."},"capture":{"intercept_coms_msg":"Interception des communications de ","stop_btn":"Arrêter la capture"},"generate-ap":{"network_name":"Nom du réseau Wi-Fi","network_password":"Mot de passe","tap_msg":"Appuyez sur le cadre blanc pour générer un nouveau réseau.","generate_ap_msg":"Nous générons un réseau Wi-Fi éphémère.","error_msg1":"Malheureusement, nous rencontrons des problèmes lors de la création du point d\'accès.","error_msg2":"Veuillez vérifier avez renseigné les bonnes interfaces réseau dans le back-end."},"report":{"show_full_report":"Lire le rapport complet","start_new_capture":"Nouvelle capture","save_capture":"Sauvegarder la capture","save":"Sauvegarder","print":"Imprimer","numbers":["zéro","une","deux","trois","quatre","cinq","six","sept","huit","neuf","dix","onze"],"stalkerware_msg":"Votre smartphone est compromis par un Stalkerware, lisez le rapport.","location_msg":"Une application dévoile votre géo-localisation actelle.","fine_msg":"Aucun flux suspect détecté, vous avez aucune alerte.","high_msg":"Vous avez {nb} alerte.s élevée.s, votre appareil semble être compromis.","moderate_msg":"Vous avez {nb} alerte.s moyenne.s, votre appareil est peut-être compromis.","low_msg":"Vous avez uniquement {nb} alerte.s basse.s n\'hésitez pas à les consulter.","save_report":"Archiver le rapport","report_of":"Rapport de","detection_methods":"Méthodes de détection :","indicators":"Indicateurs","heuristics":"Anomalies","active":"Active","pcap_sha1":"SHA1 de la capture :","capture_started":"Capture débutée le :","capture_ended":"Capture finie le :","high":"elevée","moderate":"moyenne","low":"basse","uncat_coms_table":"Communications non catégorisées","protocol":"Protocole","domain_name":"Domaine","ip_address":"Adresse IP","port":"Port"},"wifi-select":{"wifi_connected":"Wi-Fi connecté","wifi_not_connected":"Wi-Fi non connecté. Réessayez.","wifi_password":"Mot de passe","connect_to_it":"Se connecter"},"save-capture":{"please_connect":"Connectez une clé USB pour enregistrer votre capture.","we_are_saving":"Nous enregistrons votre capture.","tap_msg":"Vous pouvez appuyer sur l\'animation pour lancer une nouvelle capture.","capture_download":"Le téléchargement de la capture va se lancer...","start_capture_btn":"Lancer une nouvelle capture"},"modals":{"want_to_quit":"Voulez-vous fermer l\'application ?","no_go_back":"Non, revenir","yes_continue":"Oui, continuer","please_give_the_password":"Veuillez renseigner le mot de passe du réseau : ","want_to_whitelist":"Voulez-vous ajouter {host} à la liste blanche pour les prochaines analyses ?"}}')}});
-//# sourceMappingURL=app.13d7f657.js.map
\ No newline at end of file
diff --git a/app/frontend/dist/js/app.13d7f657.js.map b/app/frontend/dist/js/app.13d7f657.js.map
deleted file mode 100644
index 3363baf..0000000
--- a/app/frontend/dist/js/app.13d7f657.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue","webpack:///./src/components/Controls.vue","webpack:///src/components/Controls.vue","webpack:///./src/components/Controls.vue?a1ee","webpack:///./src/components/Controls.vue?8e44","webpack:///./src/components/Modals.vue","webpack:///./src/components/SimpleKeyboard.vue","webpack:///src/components/SimpleKeyboard.vue","webpack:///./src/components/SimpleKeyboard.vue?fbca","webpack:///./src/components/SimpleKeyboard.vue?8b25","webpack:///src/components/Modals.vue","webpack:///./src/components/Modals.vue?d015","webpack:///./src/components/Modals.vue?486e","webpack:///src/App.vue","webpack:///./src/App.vue?60d0","webpack:///./src/App.vue?315a","webpack:///./src/plugins/i18n.js","webpack:///./src/main.js","webpack:///./src/App.vue?d371","webpack:///./src/router/index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","attrs","staticRenderFns","display","staticClass","class","battery_icon","iface_out","startsWith","wifi_icon","_l","wifi_networks","network","on","$event","show_modal_wifi","get_wifi_icon","signal","_v","_s","_e","iocs_number","ip_address","internet","goto_home","backend_option","goto_backend","shutdown_option","show_modal_shutdown","update_available","update_possible","remote_backend","methods","check_update","axios","catch","load_config","setInterval","get_battery_icon","EventBus","get_wifi_networks","response","check_internet","watch","$route","created","component","hide_modal","display_shudown","$t","shutdown","display_whitelist","domProps","replace","host","add_whitelist","display_wifi","wifi_network","password_class","show_password","directives","rawName","password","expression","Array","isArray","_i","show_keyboard","$$a","$$el","$$c","checked","$$v","$$i","concat","_q","composing","wifi_connecting","wifi_success","wifi_setup","btn_wifi_val","input","onChange","onKeyPress","keyboardClass","props","default","keyboard","mounted","handleShift","layoutName","capture_token","components","SimpleKeyboard","onInputChange","ssid","router","Controls","Modals","splash","set_lang","get_config","Vue","use","VueI18n","i18n","locale","fallbackLocale","messages","require","config","productionTip","devtools","h","App","$mount","VueRouter","routes","path","base","process"],"mappings":"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","file":"js/app.13d7f657.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0d175fb6\":\"56d23ddc\",\"chunk-2d0b23b3\":\"3d66404f\",\"chunk-2d0b6d35\":\"9c950e8a\",\"chunk-2d0baeaa\":\"9d6eca74\",\"chunk-2d0cfa15\":\"805b5619\",\"chunk-2e6079ad\":\"3b1ceaed\",\"chunk-7cb613d5\":\"35dd63f5\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0d175fb6\":1,\"chunk-7cb613d5\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0d175fb6\":\"3b87afd9\",\"chunk-2d0b23b3\":\"31d6cfe0\",\"chunk-2d0b6d35\":\"31d6cfe0\",\"chunk-2d0baeaa\":\"31d6cfe0\",\"chunk-2d0cfa15\":\"31d6cfe0\",\"chunk-2e6079ad\":\"31d6cfe0\",\"chunk-7cb613d5\":\"030f6319\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Modals'),_c('router-view'),_c('Controls')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.display)?_c('div',{staticClass:\"controls\"},[_c('i',{staticClass:\"battery\",class:[_vm.battery_icon]}),(_vm.iface_out.startsWith('wl'))?_c('div',{staticClass:\"dropup\"},[_c('i',{staticClass:\"wifi\",class:[_vm.wifi_icon]}),_c('div',{staticClass:\"dropup-content\"},[_c('ul',_vm._l((_vm.wifi_networks),function(network){return _c('li',{key:network,on:{\"click\":function($event){return _vm.show_modal_wifi(network.name)}}},[_c('i',{staticClass:\"wifi_mini\",class:[_vm.get_wifi_icon(network.signal)]}),_vm._v(_vm._s(network.name)+\" \")])}),0)])]):_vm._e(),_c('i',{staticClass:\"iocs-number\",class:{ 'border-green': _vm.iocs_number }},[_vm._v(_vm._s(_vm.iocs_number)+\" IOCs\")]),(_vm.ip_address)?_c('i',{staticClass:\"ip_addr\",class:{ 'border-green': _vm.internet }},[_vm._v(_vm._s(_vm.ip_address)+\" \")]):_c('i',{staticClass:\"ip_addr\"},[_vm._v(\"Not connected\")]),_c('i',{staticClass:\"home-icon\",on:{\"click\":function($event){return _vm.goto_home()}}}),(_vm.backend_option)?_c('i',{staticClass:\"config-icon\",on:{\"click\":function($event){return _vm.goto_backend()}}}):_vm._e(),(_vm.shutdown_option)?_c('i',{staticClass:\"shutdown-icon\",on:{\"click\":function($event){return _vm.show_modal_shutdown()}}}):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n
\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modals.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modals.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Modals.vue?vue&type=template&id=73ca2b7b&\"\nimport script from \"./Modals.vue?vue&type=script&lang=js&\"\nexport * from \"./Modals.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4e2caeba&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=4e2caeba&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\n\nVue.use(VueI18n)\n\nexport const i18n = new VueI18n({\n locale: 'en',\n fallbackLocale: 'en',\n messages: {\n 'en': require('@/locales/en.json'),\n 'fr': require('@/locales/fr.json'),\n 'es': require('@/locales/es.json'),\n 'ru': require('@/locales/ru.json'),\n 'pt': require('@/locales/pt.json'),\n 'it': require('@/locales/it.json'),\n 'de': require('@/locales/de.json')\n }\n})","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport { i18n } from '@/plugins/i18n'\r\n\r\nVue.config.productionTip = true\r\nVue.config.devtools = true\r\n\r\nexport const EventBus = new Vue();\r\n\r\nnew Vue({\r\n router,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount('#app')","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=4e2caeba&prod&lang=css&\"","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n\r\n\r\nVue.use(VueRouter)\r\n\r\nconst routes = [\r\n {\r\n path: '/',\r\n name: 'loader',\r\n component: () => import('../views/splash-screen.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/home',\r\n name: 'home',\r\n component: () => import('../views/home.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/generate-ap',\r\n name: 'generate-ap',\r\n component: () => import('../views/generate-ap.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/capture',\r\n name: 'capture',\r\n component: () => import('../views/capture.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/save-capture',\r\n name: 'save-capture',\r\n component: () => import('../views/save-capture.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/analysis',\r\n name: 'analysis',\r\n component: () => import('../views/analysis.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/report',\r\n name: 'report',\r\n component: () => import('../views/report.vue'),\r\n props: true\r\n }\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes\r\n})\r\n\r\nexport default router\r\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/app.d9c5e2e7.js b/app/frontend/dist/js/app.d9c5e2e7.js
new file mode 100644
index 0000000..42fe032
--- /dev/null
+++ b/app/frontend/dist/js/app.d9c5e2e7.js
@@ -0,0 +1,2 @@
+(function(e){function t(t){for(var o,n,r=t[0],c=t[1],l=t[2],u=0,d=[];udurante la creazione del punto di accesso.","error_msg2":"Controlla di aver configurato le interfacce di rete giuste nel back-end."},"report":{"show_full_report":"Mostra il rapporto completo","start_new_capture":"Avvia una nuova acquisizione","save_capture":"Salva acquisizione","save":"Salvare","print":"Stampare","numbers":["zero","uno","due","tre","quattro","cinque","sei","sette","otto","nove","dieci","undici"],"stalkerware_msg":"Il dispositivo è compromesso da uno stalkerware, controllare il rapporto.","location_msg":"Un\'applicazione condivide la geolocalizzazione attuale con terze parti.","fine_msg":"Sembra tutto a posto, non sono presenti avvisi.","high_msg":"È presente {nb} avviso con priorità elevata, il dispositivo sembra compromesso.","moderate_msg":"Sono presenti {nb} avvisi con priorità moderata, è possibile che il dispositivo sia compromesso.","low_msg":"Sono presenti solo {nb} avvisi con priorità bassa da controllare.","save_report":"Salva il rapporto","report_of":"Rapporto di","detection_methods":"Metodi di rilevamento:","indicators":"Indicatori","heuristics":"Anomalie","active":"Attiva","pcap_sha1":"SHA1 della cattura:","capture_started":"Cattura è iniziata su:","capture_ended":"Cattura terminata su:","high":"elevata","moderate":"moderata","low":"bassa","uncat_coms_table":"Comunicazioni non categorizzate","whitelisted_coms_table":"Comunicazioni autorizzate","no_alerts_title":"L\'analisi delle comunicazioni del tuo dispositivo non ha causato alcun avviso.","no_alerts_subtext":"Di seguito puoi vedere le comunicazioni emesse da esso durante la cattura.","protocol":"Protocollo","domain_name":"Dominio","ip_address":"Indirizzo IP","port":"Porto"},"wifi-select":{"wifi_connected":"Wi-Fi collegato","wifi_not_connected":"Wi-Fi non connesso. Riprovare.","wifi_password":"Password","connect_to_it":"Connettersi"},"save-capture":{"please_connect":"Collegare una chiave USB per salvare l\'acquisizione.","we_are_saving":"Salvataggio dell\'acquisizione in corso.","tap_msg":"È possible toccare la chiave USB per avviare una nuova acquisizione.","capture_download":"Il download dell\'acquisizione sta per iniziare...","start_capture_btn":"Avvia un\'altra acquisizione"},"modals":{"want_to_quit":"Vuoi chiudere la app?","no_go_back":"No, tornare","yes_continue":"Sì, continuare","please_give_the_password":"Inserire la password della rete:","want_to_whitelist":"Vuoi aggiungere {host} alla lista bianca per le prossime analisi?"}}')},"56d7":function(e,t,a){"use strict";a.r(t),a.d(t,"EventBus",(function(){return D}));var o=a("2b0e"),n=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("Modals"),t("router-view"),t("Controls")],1)},i=[],s=a("bc3a"),r=a.n(s),c=function(){var e=this,t=e._self._c;return e.display?t("div",{staticClass:"controls"},[t("i",{staticClass:"battery",class:[e.battery_icon]}),e.iface_out.startsWith("wl")?t("div",{staticClass:"dropup"},[t("i",{staticClass:"wifi",class:[e.wifi_icon]}),t("div",{staticClass:"dropup-content"},[t("ul",e._l(e.wifi_networks,(function(a){return t("li",{key:a,on:{click:function(t){return e.show_modal_wifi(a.name)}}},[t("i",{staticClass:"wifi_mini",class:[e.get_wifi_icon(a.signal)]}),e._v(e._s(a.name)+" ")])})),0)])]):e._e(),t("i",{staticClass:"iocs-number",class:{"border-green":e.iocs_number}},[e._v(e._s(e.iocs_number)+" IOCs")]),e.ip_address?t("i",{staticClass:"ip_addr",class:{"border-green":e.internet}},[e._v(e._s(e.ip_address)+" ")]):t("i",{staticClass:"ip_addr"},[e._v("Not connected")]),t("i",{staticClass:"home-icon",on:{click:function(t){return e.goto_home()}}}),e.backend_option?t("i",{staticClass:"config-icon",on:{click:function(t){return e.goto_backend()}}}):e._e(),e.shutdown_option?t("i",{staticClass:"shutdown-icon",on:{click:function(t){return e.show_modal_shutdown()}}}):e._e()]):e._e()},l=[],u=(a("14d9"),{name:"Controls",data:function(){return{display:!0,update_available:!1,update_possible:!1,shutdown_option:!1,backend_option:!1,remote_backend:!1,iface_out:"",battery_icon:"",wifi_icon:"",wifi_networks:[],iocs_number:0,internet:!1}},methods:{check_update:function(){r.a.get("/api/update/check",{timeout:6e4}).then(e=>{e.data.status?"A new version is available"==e.data.message&&(this.update_available=!0,this.update_possible=!0,window.current_version=e.data.current_version,window.next_version=e.data.next_version):this.update_possible=!1}).catch(e=>{console.log(e)})},goto_backend:function(){this.remote_backend?window.location.href=`https://${location.hostname}:8443`:window.location.href=`http://${location.hostname}:8443`},goto_home:function(){window.location.href="/"},load_config:function(){setInterval(()=>{r.a.get("/api/misc/config",{timeout:6e4}).then(e=>{this.shutdown_option=e.data.shutdown_option,this.backend_option=e.data.backend_option,this.remote_backend=e.data.remote_backend,this.battery_icon=this.get_battery_icon(e.data.battery_level),this.wifi_icon=this.get_wifi_icon(e.data.wifi_level),this.iocs_number=e.data.iocs_number,this.iface_out=e.data.iface_out}).catch(e=>{console.log(e)})},1e3)},get_battery_icon:function(e){return 101==e?"battery_charging":e>=90?"battery_full":e>=80?"battery_80":e>=60?"battery_60":e>=40?"battery_40":e>=25?"battery_25":e<25?"battery_15":"battery_critical"},get_wifi_icon:function(e){return e>=80?"wifi_5":e>=60?"wifi_4":e>=40?"wifi_3":e>=20?"wifi_2":e>=1?"wifi_1":"wifi_0"},show_modal_shutdown:function(){D.$emit("showModal",{action:"shutdown"})},show_modal_wifi:function(e){D.$emit("showModal",{action:"wifi",network_name:e})},get_wifi_networks:function(){setInterval(()=>{r.a.get("/api/network/wifi/list",{timeout:1e4}).then(e=>{this.wifi_networks=[],e.data.networks.forEach(e=>{e.name!=window.access_point&&this.wifi_networks.push(e)})}).catch(e=>{console.log(e)})},1e3)},check_internet:function(){setInterval(()=>{r.a.get("/api/network/status",{timeout:3e4}).then(e=>{e.data.internet?(this.internet=!0,this.ip_address=e.data.ip_out):(this.internet=!1,this.ip_address=!1)}).catch(e=>console.log(e))},1e3)}},watch:{$route(){["loader"].includes(this.$router.currentRoute.name)?this.display=!1:this.display=!0}},created:function(){this.load_config(),this.check_internet(),this.get_wifi_networks()}}),d=u,p=a("2877"),_=Object(p["a"])(d,c,l,!1,null,null,null),m=_.exports,h=function(){var e=this,t=e._self._c;return e.display?t("div",[t("div",{staticClass:"blurred-wrapper",on:{click:function(t){return e.hide_modal()}}}),e.display_shudown?t("div",{staticClass:"modal-window"},[t("div",{staticClass:"modal-content"},[t("p",[e._v(e._s(e.$t("modals.want_to_quit")))]),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.hide_modal()}}},[e._v(e._s(e.$t("modals.no_go_back")))]),e._v(" "),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.shutdown()}}},[e._v(e._s(e.$t("modals.yes_continue")))])])]):e._e(),e.display_whitelist?t("div",{staticClass:"modal-window"},[t("div",{staticClass:"modal-content"},[t("p",{domProps:{innerHTML:e._s(e.$t("modals.want_to_whitelist").replace("{host}",e.host))}}),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.hide_modal()}}},[e._v(e._s(e.$t("modals.no_go_back")))]),e._v(" "),t("button",{staticClass:"btn btn-primary",on:{click:function(t){return e.add_whitelist()}}},[e._v(e._s(e.$t("modals.yes_continue")))])])]):e._e(),e.display_wifi?t("div",{staticClass:"modal-window"},[t("div",{staticClass:"modal-content"},[t("p",[e._v(e._s(e.$t("modals.please_give_the_password"))+" "),t("strong",[e._v(e._s(e.wifi_network))])]),t("div",{staticClass:"form-group"},[t("div",{class:e.password_class,on:{click:e.show_password}}),"checkbox"===e.type?t("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"form-input",attrs:{id:"password",placeholder:e.$t("wifi-select.wifi_password"),type:"checkbox"},domProps:{checked:Array.isArray(e.password)?e._i(e.password,null)>-1:e.password},on:{click:function(t){e.show_keyboard=!0},change:function(t){var a=e.password,o=t.target,n=!!o.checked;if(Array.isArray(a)){var i=null,s=e._i(a,i);o.checked?s<0&&(e.password=a.concat([i])):s>-1&&(e.password=a.slice(0,s).concat(a.slice(s+1)))}else e.password=n}}}):"radio"===e.type?t("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"form-input",attrs:{id:"password",placeholder:e.$t("wifi-select.wifi_password"),type:"radio"},domProps:{checked:e._q(e.password,null)},on:{click:function(t){e.show_keyboard=!0},change:function(t){e.password=null}}}):t("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"form-input",attrs:{id:"password",placeholder:e.$t("wifi-select.wifi_password"),type:e.type},domProps:{value:e.password},on:{click:function(t){e.show_keyboard=!0},input:function(t){t.target.composing||(e.password=t.target.value)}}})]),t("div",{staticClass:"form-group"},[t("button",{staticClass:"btn width-100",class:[e.wifi_connecting?"loading":"",e.wifi_success?"btn-success":"btn-primary"],on:{click:function(t){return e.wifi_setup()}}},[e._v(e._s(e.btn_wifi_val))])])])]):e._e(),e.show_keyboard?t("div",{staticClass:"keyboard_wrapper"},[t("SimpleKeyboard",{attrs:{input:e.input},on:{onChange:e.onChange,onKeyPress:e.onKeyPress}})],1):e._e()]):e._e()},w=[],f=a("a18c"),g=function(){var e=this,t=e._self._c;return t("div",{class:e.keyboardClass})},b=[],v=a("dd7f"),y=a.n(v),k=(a("d2db"),a("a044")),S={name:"SimpleKeyboard",props:{keyboardClass:{default:"simple-keyboard",type:String},input:{type:String}},data:()=>({keyboard:null}),mounted(){"fr"==window.config.user_lang?this.keyboard=new y.a({onChange:this.onChange,onKeyPress:this.onKeyPress,...k["a"]}):this.keyboard=new y.a({onChange:this.onChange,onKeyPress:this.onKeyPress})},methods:{onChange(e){this.$emit("onChange",e)},onKeyPress(e){this.$emit("onKeyPress",e),"{shift}"!==e&&"{lock}"!==e||this.handleShift()},handleShift(){let e=this.keyboard.options.layoutName,t="default"===e?"shift":"default";this.keyboard.setOptions({layoutName:t})}},watch:{input(e){this.keyboard.setInput(e)}}},z=S,C=Object(p["a"])(z,g,b,!1,null,"24d38e56",null),A=C.exports,P={name:"Modals",data:function(){return{btn_wifi_val:this.$t("wifi-select.connect_to_it"),wifi_connecting:!1,error:!1,wifi_success:!1,password:"",capture_token:"",display_whitelist:!1,display_shudown:!1,display_wifi:!1,display:!1,wifi_network:"",show_keyboard:!1,input:"",type:"password",password_class:"password-show"}},components:{SimpleKeyboard:A},methods:{hide_modal:function(){this.display=!1},shutdown:function(){r.a.get("/api/misc/shutdown",{timeout:3e4})},add_whitelist:function(){r.a.get("/api/misc/whitelist/"+this.host,{timeout:3e4}),this.display=!1},onChange(e){this.input=e,this.password=this.input},onKeyPress(e){"{enter}"==e&&(this.show_keyboard=!1)},onInputChange(e){this.input=e.target.value},show_password(){"password"===this.type?(this.type="text",this.password_class="password-hide"):(this.type="password",this.password_class="password-show")},wifi_setup:function(){this.password.length>=8&&(this.wifi_connecting=!0,r.a.post("/api/network/wifi/setup",{ssid:this.wifi_network,password:this.password},{timeout:6e4}).then(e=>{e.data.status?(this.wifi_success=!0,this.wifi_connecting=!1,this.btn_wifi_val=this.$t("wifi-select.wifi_connected"),setTimeout(()=>{this.display=!1,this.btn_wifi_val=this.$t("wifi-select.connect_to_it"),f["a"].push("generate-ap")},1e3)):(this.btn_wifi_val=this.$t("wifi-select.wifi_not_connected"),this.wifi_connecting=!1,setTimeout(()=>{this.btn_wifi_val=this.$t("wifi-select.connect_to_it")},1e3))}))}},created:function(){D.$on("showModal",e=>{this.input="","shutdown"==e.action?(this.show_keyboard=!1,this.display_wifi=!1,this.display_shudown=!0,this.display_whitelist=!1,this.display=!0):"wifi"==e.action?(this.wifi_connecting=!1,this.wifi_success=!1,this.password="",this.btnval=this.$t("wifi-select.connect_to_it"),this.display_shudown=!1,this.display_wifi=!0,this.display_whitelist=!1,this.wifi_network=e.network_name,this.display=!0):"whitelist"==e.action&&(this.show_keyboard=!1,this.display_wifi=!1,this.display_shudown=!1,this.display_whitelist=!0,this.host=e.host,this.display=!0)})}},N=P,I=Object(p["a"])(N,h,w,!1,null,null,null),q=I.exports;document.title="SPYGUARD";var x={name:"app",components:{Controls:m,Modals:q},data(){return{splash:!1}},methods:{set_lang:function(){if(window.config.user_lang){var e=window.config.user_lang;Object.keys(this.$i18n.messages).includes(e)&&(this.$i18n.locale=e,document.querySelector("html").setAttribute("lang",e))}},get_config:function(){r.a.get("/api/misc/config",{timeout:6e4}).then(e=>{window.config=e.data,this.set_lang()}).catch(e=>{console.log(e)})}},watch:{$route(){["loader"].includes(this.$router.currentRoute.name)?this.splash=!0:this.splash=!1}},created:function(){window.config={},this.get_config()}},W=x,B=(a("a0d8"),Object(p["a"])(W,n,i,!1,null,null,null)),O=B.exports,$=a("a925");o["a"].use($["a"]);const M=new $["a"]({locale:"en",fallbackLocale:"en",messages:{en:a("edd4"),fr:a("f693"),es:a("a306"),ru:a("7704"),pt:a("5d67"),it:a("0825"),de:a("6ce2")}});o["a"].config.productionTip=!0,o["a"].config.devtools=!0;const D=new o["a"];new o["a"]({router:f["a"],i18n:M,render:e=>e(O)}).$mount("#app")},"5d67":function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Bem vindo(a) ao SpyGuard.","help_msg":"Ajudaremos você a verificar o dispositivo.","start_btn":"Vamos começar!"},"analysis":{"question":"Deseja analisar as comunicações capturadas?","no_btn":"Não, somente salvá-las","yes_btn":"Sim, vamos lá","please_wait_msg":"Aguarde enquanto realizamos a análise...","some_time_msg":"Sim, isso pode demorar um pouco..."},"capture":{"intercept_coms_msg":"Interceptando as comunicações de ","stop_btn":"Parar a captura"},"generate-ap":{"network_name":"Nome da rede","network_password":"Senha da rede","tap_msg":"Toque no quadro branco para criar uma nova rede.","generate_ap_msg":"Geramos uma rede temporária para você.","error_msg1":"Infelizmente, tivemos alguns problemas durante a criação do AP.","error_msg2":"Verifique se você configurou as interfaces de rede corretas no back-end."},"report":{"show_full_report":"Mostrar o relatório completo","start_new_capture":"Iniciar nova captura","save_capture":"Salvar a captura","save":"Salvar","print":"Imprimir","numbers":["zero","um","dois","três","quatro","cinco","seis","sete","oito","nove","dez","onze"],"stalkerware_msg":"Seu dispositivo foi comprometido por um stalkerware. Verifique o relatório.","location_msg":"Um aplicativo está compartilhando sua geolocalização com um terceiro.","fine_msg":"Tudo parece estar bem, zero alertas.","high_msg":"Você tem {nb} alerta crítico, o dispositivo parece estar comprometido.","moderate_msg":"Você tem {nb} alertas moderados, o dispositivo pode estar comprometido.","low_msg":"Você tem apenas {nb} alertas leves, não deixe de verificá-los.","save_report":"Salvar o relatório","report_of":"Relatório de","detection_methods":"Métodos de detecção:","indicators":"Indicadores","heuristics":"Anomalias","active":"Activa","pcap_sha1":"SHA1 da captura:","capture_started":"Captura iniciada em:","capture_ended":"Captura terminou em:","high":"crítico","moderate":"moderado","low":"leve","uncat_coms_table":"Comunicações não categorizadas","whitelisted_coms_table":"Comunicações na lista branca","no_alerts_title":"A análise das comunicações do seu dispositivo não causou nenhum alerta.","no_alerts_subtext":"Você pode ver abaixo as comunicações emitidas por ele durante a captura.","protocol":"Protocolo","domain_name":"Domínio","ip_address":"Endereço IP:","port":"Porto"},"wifi-select":{"wifi_connected":"Wi-Fi conectado","wifi_not_connected":"Wi-Fi desconectado. Tente novamente.","wifi_password":"Senha do Wi-Fi","connect_to_it":"Conectar"},"save-capture":{"please_connect":"Conecte uma chave USB para salvar a captura.","we_are_saving":"Estamos salvando a captura.","tap_msg":"Toque na chave USB para iniciar uma nova captura.","capture_download":"O download da captura vai começar...","start_capture_btn":"Iniciar nova captura"},"modals":{"want_to_quit":"Deseja fechar o aplicativo?","no_go_back":"Não, voltar","yes_continue":"Sim, continuar","please_give_the_password":"Indicar a senha da rede: ","want_to_whitelist":"Você quer adicionar {host} à lista branca para as próximas análises?"}}')},"6ce2":function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Willkommen bei SpyGuard.","help_msg":"Wir helfen Ihnen bei der Überprüfung Ihres Geräts.","start_btn":"Fangen wir an!"},"analysis":{"question":"Möchten Sie die erfassten Kommunikationsverbindungen analysieren?","no_btn":"Nein, nur speichern","yes_btn":"Ja, analysieren","please_wait_msg":"Bitte warten Sie, während die Analyse läuft …","some_time_msg":"Dies kann eine Weile dauern …"},"capture":{"intercept_coms_msg":"Abfangen der Kommunikationsverbindungen von ","stop_btn":"Aufnahme beenden"},"generate-ap":{"network_name":"Netzwerkname","network_password":"Netzwerkpasswort","tap_msg":"Tippen Sie auf den weißen Rahmen, um ein neues Netzwerk zu erstellen.","generate_ap_msg":"Wir erstellen ein temporäres Netzwerk für Sie.","error_msg1":"Leider sind während der AP-Erstellung einige Fehler aufgetreten.","error_msg2":"Bitte überprüfen Sie, ob Sie die richtigen Netzwerkschnittstellen im Backend konfiguriert haben."},"report":{"show_full_report":"Vollständigen Bericht anzeigen","start_new_capture":"Neue Aufnahme starten","save_capture":"Aufnahme speichern","save":"Sichern","print":"Drucken","numbers":["null","eine","zwei","drei","vier","fünf","sechs","sieben","acht","neun","zehn","elf"],"stalkerware_msg":"Ihr Gerät ist durch Stalkerware kompromittiert; bitte sehen Sie sich den Bericht an.","location_msg":"Eine Anwendung teilt Ihren aktuellen Standort mit Dritten.","fine_msg":"Alles sieht gut aus – kein Warnungen.","high_msg":"Sie haben {nb} Warnung der Stufe \\"Hoch\\": Ihr Gerät scheint kompromittiert zu sein.","moderate_msg":"Sie haben {nb} Warnungen der Stufe \\"Mittel\\": Ihr Gerät könnte kompromittiert sein.","low_msg":"Sie haben nur {nb} Warnungen der Stufe \\"Niedrig\\": Überprüfen Sie sie gerne.","save_report":"Bericht speichern","report_of":"Bericht zu","detection_methods":"Nachweismethoden:","indicators":"Indikatoren","heuristics":"Anomalien","active":"Aktiv","pcap_sha1":"SHA1 erfassen:","capture_started":"Capture begann mit:","capture_ended":"Capture endete an:","high":"Hoch","moderate":"Mittel","low":"Niedrig","uncat_coms_table":"Kommunikation nicht kategorisiert","whitelisted_coms_table":"Kommunikation auf der Whitelist","no_alerts_title":"Die Analyse der Kommunikation Ihres Geräts hat zu keinen Warnungen geführt.","no_alerts_subtext":"Unten können Sie die von ihm während der Erfassung ausgegebenen Mitteilungen sehen.","protocol":"Protokoll","domain_name":"Domain","ip_address":"IP-Adresse:","port":"Port"},"wifi-select":{"wifi_connected":"Wi-Fi verbunden","wifi_not_connected":"Wi-Fi nicht verbunden. Versuchen Sie es erneut.","wifi_password":"Passwort","connect_to_it":"Anmelden"},"save-capture":{"please_connect":"Bitte schließen Sie einen USB-Stick an, um Ihre Aufnahme zu speichern.","we_are_saving":"Wir speichern Ihre Aufnahme.","tap_msg":"Sie können den USB-Stick antippen, um eine neue Aufnahme zu starten.","capture_download":"Der Download der Aufnahme beginnt…","start_capture_btn":"Noch eine Aufnahme starten"},"modals":{"want_to_quit":"Möchten Sie die App schließen?","no_go_back":"Nein, zurück kommen.","yes_continue":"Ja, weiter machen","please_give_the_password":"Bitte geben Sie das Netzwerkpasswort ein: ","want_to_whitelist":"Möchten Sie {host} für die nächsten Analysen hinzufügen?"}}')},7704:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Добро пожаловать в SpyGuard.","help_msg":"Мы поможем вам проверить ваше устройство.","start_btn":"Итак, приступим!"},"analysis":{"question":"Хотите проанализировать зафиксированные подключения?","no_btn":"Нет, только сохранить","yes_btn":"Да, проанализировать","please_wait_msg":"Подождите, идет анализ...","some_time_msg":"Это может занять некоторое время..."},"capture":{"intercept_coms_msg":"Перехват подключений ","stop_btn":"Остановить сбор данных"},"generate-ap":{"network_name":"Имя сети","network_password":"Пароль сети","tap_msg":"Нажмите на белую рамку, чтобы создать новую сеть.","generate_ap_msg":"Создастся временная сеть.","error_msg1":" При создании точки доступа возникли проблемы.","error_msg2":"Убедитесь, что вы настроили нужные сетевые интерфейсы в задней части."},"report":{"show_full_report":"Показать полный отчет","start_new_capture":"Начать новый сбор данных","save_capture":"Сохранить сбор данных","save":"Сохранить","print":"Печатать","numbers":["ноль","один","два","три","четыре","пять","шесть","семь","восемь","девять","десять","одиннадцать"],"stalkerware_msg":"Ваше устройство взломано вредоносным ПО для слежки. Проверьте отчет.","location_msg":"Приложение передает вашу текущую геолокацию третьему лицу.","fine_msg":"Предупреждения отсутствуют, система выглядит защищенной.","high_msg":"У вас {nb} предупреждение высокого уровня. Вероятно,ваше устройство взломано.","moderate_msg":"У вас {nb} предупреждение среднего уровня. Возможно, ваше устройство взломано.","low_msg":"У вас {nb} предупреждение низкого уровня , проверьте их.","save_report":"Сохранить отчет","report_of":"Отчет","detection_methods":"методы обнаружения:","indicators":"Показателям","heuristics":"аномалии","active":"активное","pcap_sha1":"SHA1 захват:","capture_started":"Захват начался:","capture_ended":"захват закончился:","high":"высокий","moderate":"средний","low":"низкий","uncat_coms_table":"Несекретные сообщения","whitelisted_coms_table":"Связь в белом списке","no_alerts_title":"Анализ сообщений вашего устройства не вызвал никаких предупреждений.","no_alerts_subtext":"Ниже вы можете увидеть сообщения, отправленные им во время захвата.","protocol":"Протокол","domain_name":"домен","ip_address":"IP-адрес:","port":"порт"},"wifi-select":{"wifi_connected":"Подключено к сети Wi-Fi","wifi_not_connected":"Не подключено к сети Wi-Fi. Повторите попытку.","tap_keyboard":"Коснитесь виртуальной клавиатуры, чтобы начать","wifi_password":"Пароль Wi-Fi"},"save-capture":{"please_connect":"Подсоедините USB-ключ, чтобы сохранить результат сбора данных.","we_are_saving":"Сохранение собранных данных.","tap_msg":"Коснитесь USB-ключа, чтобы начать новый сбор данных.","capture_download":"Начинается загрузка собранных данных...","start_capture_btn":"Начать новый сбор данных"},"modals":{"want_to_quit":"Вы бы хотели уйти?","no_go_back":"Нет","yes_continue":"да","please_give_the_password":"VПожалуйста, введите сетевой пароль: ","want_to_whitelist":"Вы хотите добавить {host} в белый список для будущих испытаний?"}}')},a0d8:function(e,t,a){"use strict";a("c266")},a18c:function(e,t,a){"use strict";var o=a("2b0e"),n=a("8c4f");o["a"].use(n["a"]);const i=[{path:"/",name:"loader",component:()=>a.e("chunk-2d0b6d35").then(a.bind(null,"1f8b")),props:!0},{path:"/home",name:"home",component:()=>a.e("chunk-2d0cfa15").then(a.bind(null,"6511")),props:!0},{path:"/generate-ap",name:"generate-ap",component:()=>a.e("chunk-2d0baeaa").then(a.bind(null,"38f5")),props:!0},{path:"/capture",name:"capture",component:()=>a.e("chunk-2e6079ad").then(a.bind(null,"e583")),props:!0},{path:"/save-capture",name:"save-capture",component:()=>a.e("chunk-0d175fb6").then(a.bind(null,"9152")),props:!0},{path:"/analysis",name:"analysis",component:()=>a.e("chunk-2d0b23b3").then(a.bind(null,"22da")),props:!0},{path:"/report",name:"report",component:()=>a.e("chunk-5079f4f4").then(a.bind(null,"e022")),props:!0}],s=new n["a"]({mode:"history",base:"/",routes:i});t["a"]=s},a306:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Bienvenido a SpyGuard.","help_msg":"Te ayudaremos a revisar tu dispositivo","start_btn":"¡Empecemos!"},"analysis":{"question":"¿Quieres analizar las comunicaciones capturadas?","no_btn":"No, solo guárdalos","yes_btn":"Sí, hagámoslo","please_wait_msg":"Espere durante el análisis ...","some_time_msg":"Sí, puede llevar algún tiempo ..."},"capture":{"intercept_coms_msg":"Interceptando las comunicaciones de","stop_btn":"Detener la captura"},"generate-ap":{"network_name":"Nombre de la red","network_password":"Contraseña de red","tap_msg":"Toca el marco blanco para generar una nueva red","generate_ap_msg":"Generamos una red efímera para ti.","error_msg1":"Desafortunadamente, tuvimos algunos problemas durante la creación del AP.","error_msg2":"Compruebe que ha configurado las interfaces de red correctas en el back-end."},"report":{"show_full_report":"Mostrar el informe completo","start_new_capture":"Nueva captura","save_capture":"Guardar la captura","save":"Guardar","print":"Imprimir","numbers":["cero","uno","dos","Tres","cuatro","cinco","seis","Siete","ocho","nueve","diez","once"],"stalkerware_msg":"Su dispositivo está comprometido por un Stalkerware, por favor revise el informe.","location_msg":"Una aplicación está compartiendo su geolocalización actual con un tercero.","fine_msg":"Todo parece correcto, cero alertas","high_msg":"Tiene {nb} alerta máxima, tu dispositivo parece estar comprometido","moderate_msg":"Tiene {nb} alertas moderadas, tu dispositivo puede estar comprometido","low_msg":"Solo tiene {nb} alertas bajas, por favor revíselas","save_report":"Guardar el informe","report_of":"Informe de","detection_methods":"Métodos de detección:","indicators":"Indicadores","heuristics":"Anomalías","active":"Activa","pcap_sha1":"SHA1 de la captura:","capture_started":"Captura comenzó a:","capture_ended":"Captura terminó a:","high":"alta","moderate":"moderada","low":"bajo","uncat_coms_table":"Sin categorizar Comunicaciones","whitelisted_coms_table":"Comunicaciones incluidas en la lista blanca","no_alerts_title":"El análisis de las comunicaciones de su dispositivo no generó ninguna alerta.","no_alerts_subtext":"Puedes ver a continuación las comunicaciones emitidas por éste durante la captura.","protocol":"Protocolo","domain_name":"Dominio","ip_address":"Dirección IP ","port":"Puerto"},"wifi-select":{"wifi_connected":"Wi-Fi conectada","wifi_not_connected":"Wi-Fi no conectado. Inténtelo de nuevo.","wifi_password":"Contraseña","connect_to_it":"Conectarse"},"save-capture":{"please_connect":"Conecte una llave USB para guardar su captura.","we_are_saving":"Estamos guardando tu captura.","tap_msg":"Puede tocar la llave USB para iniciar una nueva captura","capture_download":"La descarga de la captura va a comenzar ...","start_capture_btn":"Iniciar otra captura"},"modals":{"want_to_quit":"¿Quieres cerrar la aplicación?","no_go_back":"No, volver","yes_continue":"Sí, continuar","please_give_the_password":"Introduzca la contraseña de la red: ","want_to_whitelist":"¿Desea incluir {host} en la lista blanca?"}}')},c266:function(e,t,a){},edd4:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Welcome to SpyGuard.","help_msg":"We are going to help you to check your device.","start_btn":"Let\'s start!"},"analysis":{"question":"Do you want to analyze the captured communications?","no_btn":"No, just save them","yes_btn":"Yes, let\'s do it","please_wait_msg":"Please wait during the analysis...","some_time_msg":"Yes, it can take some time..."},"capture":{"intercept_coms_msg":"Intercepting the communications of ","stop_btn":"Stop the capture"},"generate-ap":{"network_name":"Network name","network_password":"Network password","tap_msg":"Tap the white frame to generate a new network.","generate_ap_msg":"We generate an ephemeral network for you.","error_msg1":"Unfortunately, we got some issues during the AP creation.","error_msg2":"Please check that you have configured the right network interfaces in the back-end."},"report":{"show_full_report":"Show the full report","start_new_capture":"Start a new capture","save_capture":"Save the capture","save":"Save","print":"Print","numbers":["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven"],"stalkerware_msg":"Your device is compromised by a Stalkerware, please check the report.","location_msg":"An application is sharing your current geolocation with a third party.","fine_msg":"Everything looks fine, zero alerts.","high_msg":"You have {nb} high alert, your device seems to be compromised.","moderate_msg":"You have {nb} moderate alerts, your device might be compromised.","low_msg":"You have only {nb} low alerts, don\'t hesitate to check them.","save_report":"Save the report","report_of":"Report of","detection_methods":"Detection methods:","indicators":"Indicators","heuristics":"Anomalies","active":"Active","pcap_sha1":"Capture SHA1:","capture_started":"Capture started on:","capture_ended":"Capture ended on:","high":"high","moderate":"moderate","low":"low","uncat_coms_table":"Uncategorized communications","whitelisted_coms_table":"Whitelisted communications","no_alerts_title":"Analysis of your smartphone\'s communications did not cause any alerts.","no_alerts_subtext":"You can see below the communications issued by it during the capture.","protocol":"Protocol","domain_name":"Domain","ip_address":"IP Address","port":"Port"},"wifi-select":{"wifi_connected":"Wi-Fi connected","wifi_not_connected":"Wi-Fi not connected. Please retry.","wifi_password":"Password","connect_to_it":"Connect to it"},"save-capture":{"please_connect":"Please connect a USB key to save your capture.","we_are_saving":"We are saving your capture.","tap_msg":"You can tap the USB key to start a new capture.","capture_download":"The capture download is going to start...","start_capture_btn":"Start another capture"},"modals":{"want_to_quit":"Do you want to leave the application?","no_go_back":"No, go back","yes_continue":"Yes, continue","please_give_the_password":"Please enter the password for the network: ","want_to_whitelist":"Do you want to add {host} to the whitelist for the next analysis?"}}')},f693:function(e){e.exports=JSON.parse('{"home":{"welcome_msg":"Bienvenue sur SpyGuard.","help_msg":"Nous allons vous accompagner pour analyser votre appareil.","start_btn":"Allons-y !"},"analysis":{"question":"Voulez-vous analyser les communications capturées ?","no_btn":"Non, enregistrez-les.","yes_btn":"Oui, allons-y !","please_wait_msg":"Merci d\'attendre pendant l\'analyse...","some_time_msg":"Oui, cela peut prendre du temps..."},"capture":{"intercept_coms_msg":"Interception des communications de ","stop_btn":"Arrêter la capture"},"generate-ap":{"network_name":"Nom du réseau Wi-Fi","network_password":"Mot de passe","tap_msg":"Appuyez sur le cadre blanc pour générer un nouveau réseau.","generate_ap_msg":"Nous générons un réseau Wi-Fi éphémère.","error_msg1":"Malheureusement, nous rencontrons des problèmes lors de la création du point d\'accès.","error_msg2":"Veuillez vérifier avez renseigné les bonnes interfaces réseau dans le back-end."},"report":{"show_full_report":"Lire le rapport complet","start_new_capture":"Nouvelle capture","save_capture":"Sauvegarder la capture","save":"Sauvegarder","print":"Imprimer","numbers":["zéro","une","deux","trois","quatre","cinq","six","sept","huit","neuf","dix","onze"],"stalkerware_msg":"Votre smartphone est compromis par un Stalkerware, lisez le rapport.","location_msg":"Une application dévoile votre géo-localisation actelle.","fine_msg":"Aucun flux suspect détecté, vous avez aucune alerte.","high_msg":"Vous avez {nb} alerte.s élevée.s, votre appareil semble être compromis.","moderate_msg":"Vous avez {nb} alerte.s moyenne.s, votre appareil est peut-être compromis.","low_msg":"Vous avez uniquement {nb} alerte.s basse.s n\'hésitez pas à les consulter.","save_report":"Archiver le rapport","report_of":"Rapport de","detection_methods":"Méthodes de détection :","indicators":"Indicateurs","heuristics":"Anomalies","active":"Active","pcap_sha1":"SHA1 de la capture :","capture_started":"Capture débutée le :","capture_ended":"Capture finie le :","high":"elevée","moderate":"moyenne","low":"basse","uncat_coms_table":"Communications non catégorisées","whitelisted_coms_table":"Communications sur liste blanche","no_alerts_title":"L\'analyse des communications de votre appareil n\'a provoqué aucune alerte.","no_alerts_subtext":"Vous pouvez voir ci-dessous les communications émises par celui-ci lors de la capture.","protocol":"Protocole","domain_name":"Domaine","ip_address":"Adresse IP","port":"Port"},"wifi-select":{"wifi_connected":"Wi-Fi connecté","wifi_not_connected":"Wi-Fi non connecté. Réessayez.","wifi_password":"Mot de passe","connect_to_it":"Se connecter"},"save-capture":{"please_connect":"Connectez une clé USB pour enregistrer votre capture.","we_are_saving":"Nous enregistrons votre capture.","tap_msg":"Vous pouvez appuyer sur l\'animation pour lancer une nouvelle capture.","capture_download":"Le téléchargement de la capture va se lancer...","start_capture_btn":"Lancer une nouvelle capture"},"modals":{"want_to_quit":"Voulez-vous fermer l\'application ?","no_go_back":"Non, revenir","yes_continue":"Oui, continuer","please_give_the_password":"Veuillez renseigner le mot de passe du réseau : ","want_to_whitelist":"Voulez-vous ajouter {host} à la liste blanche pour les prochaines analyses ?"}}')}});
+//# sourceMappingURL=app.d9c5e2e7.js.map
\ No newline at end of file
diff --git a/app/frontend/dist/js/app.d9c5e2e7.js.map b/app/frontend/dist/js/app.d9c5e2e7.js.map
new file mode 100644
index 0000000..6c8b532
--- /dev/null
+++ b/app/frontend/dist/js/app.d9c5e2e7.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue","webpack:///./src/components/Controls.vue","webpack:///src/components/Controls.vue","webpack:///./src/components/Controls.vue?a1ee","webpack:///./src/components/Controls.vue?8e44","webpack:///./src/components/Modals.vue","webpack:///./src/components/SimpleKeyboard.vue","webpack:///src/components/SimpleKeyboard.vue","webpack:///./src/components/SimpleKeyboard.vue?fbca","webpack:///./src/components/SimpleKeyboard.vue?8b25","webpack:///src/components/Modals.vue","webpack:///./src/components/Modals.vue?d015","webpack:///./src/components/Modals.vue?486e","webpack:///src/App.vue","webpack:///./src/App.vue?60d0","webpack:///./src/App.vue?315a","webpack:///./src/plugins/i18n.js","webpack:///./src/main.js","webpack:///./src/App.vue?d371","webpack:///./src/router/index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","attrs","staticRenderFns","display","staticClass","class","battery_icon","iface_out","startsWith","wifi_icon","_l","wifi_networks","network","on","$event","show_modal_wifi","get_wifi_icon","signal","_v","_s","_e","iocs_number","ip_address","internet","goto_home","backend_option","goto_backend","shutdown_option","show_modal_shutdown","update_available","update_possible","remote_backend","methods","check_update","axios","response","status","current_version","next_version","catch","log","location","hostname","load_config","setInterval","get_battery_icon","battery_level","wifi_level","level","EventBus","$emit","network_name","get_wifi_networks","networks","forEach","access_point","check_internet","ip_out","watch","$route","includes","$router","currentRoute","created","component","hide_modal","display_shudown","$t","shutdown","display_whitelist","domProps","replace","host","add_whitelist","display_wifi","wifi_network","password_class","show_password","directives","rawName","password","expression","Array","isArray","_i","show_keyboard","$$a","$$el","$$c","checked","$$v","$$i","concat","_q","composing","wifi_connecting","wifi_success","wifi_setup","btn_wifi_val","input","onChange","onKeyPress","keyboardClass","props","default","String","keyboard","mounted","config","user_lang","Keyboard","layout","button","handleShift","currentLayout","options","layoutName","shiftToggle","setOptions","setInput","capture_token","components","SimpleKeyboard","onInputChange","post","ssid","router","$on","args","action","btnval","title","Controls","Modals","splash","set_lang","lang","keys","$i18n","messages","locale","querySelector","get_config","Vue","use","VueI18n","i18n","fallbackLocale","require","productionTip","devtools","h","App","$mount","VueRouter","routes","path","base","process"],"mappings":"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","file":"js/app.d9c5e2e7.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0d175fb6\":\"e0662e09\",\"chunk-2d0b23b3\":\"2995d2b5\",\"chunk-2d0b6d35\":\"34f80742\",\"chunk-2d0baeaa\":\"f849dd44\",\"chunk-2d0cfa15\":\"8db26e9f\",\"chunk-2e6079ad\":\"3f383516\",\"chunk-5079f4f4\":\"9b32d3ea\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0d175fb6\":1,\"chunk-5079f4f4\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0d175fb6\":\"3b87afd9\",\"chunk-2d0b23b3\":\"31d6cfe0\",\"chunk-2d0b6d35\":\"31d6cfe0\",\"chunk-2d0baeaa\":\"31d6cfe0\",\"chunk-2d0cfa15\":\"31d6cfe0\",\"chunk-2e6079ad\":\"31d6cfe0\",\"chunk-5079f4f4\":\"030f6319\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Modals'),_c('router-view'),_c('Controls')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.display)?_c('div',{staticClass:\"controls\"},[_c('i',{staticClass:\"battery\",class:[_vm.battery_icon]}),(_vm.iface_out.startsWith('wl'))?_c('div',{staticClass:\"dropup\"},[_c('i',{staticClass:\"wifi\",class:[_vm.wifi_icon]}),_c('div',{staticClass:\"dropup-content\"},[_c('ul',_vm._l((_vm.wifi_networks),function(network){return _c('li',{key:network,on:{\"click\":function($event){return _vm.show_modal_wifi(network.name)}}},[_c('i',{staticClass:\"wifi_mini\",class:[_vm.get_wifi_icon(network.signal)]}),_vm._v(_vm._s(network.name)+\" \")])}),0)])]):_vm._e(),_c('i',{staticClass:\"iocs-number\",class:{ 'border-green': _vm.iocs_number }},[_vm._v(_vm._s(_vm.iocs_number)+\" IOCs\")]),(_vm.ip_address)?_c('i',{staticClass:\"ip_addr\",class:{ 'border-green': _vm.internet }},[_vm._v(_vm._s(_vm.ip_address)+\" \")]):_c('i',{staticClass:\"ip_addr\"},[_vm._v(\"Not connected\")]),_c('i',{staticClass:\"home-icon\",on:{\"click\":function($event){return _vm.goto_home()}}}),(_vm.backend_option)?_c('i',{staticClass:\"config-icon\",on:{\"click\":function($event){return _vm.goto_backend()}}}):_vm._e(),(_vm.shutdown_option)?_c('i',{staticClass:\"shutdown-icon\",on:{\"click\":function($event){return _vm.show_modal_shutdown()}}}):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n
\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modals.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modals.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Modals.vue?vue&type=template&id=73ca2b7b&\"\nimport script from \"./Modals.vue?vue&type=script&lang=js&\"\nexport * from \"./Modals.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4e2caeba&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=4e2caeba&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\n\nVue.use(VueI18n)\n\nexport const i18n = new VueI18n({\n locale: 'en',\n fallbackLocale: 'en',\n messages: {\n 'en': require('@/locales/en.json'),\n 'fr': require('@/locales/fr.json'),\n 'es': require('@/locales/es.json'),\n 'ru': require('@/locales/ru.json'),\n 'pt': require('@/locales/pt.json'),\n 'it': require('@/locales/it.json'),\n 'de': require('@/locales/de.json')\n }\n})","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport { i18n } from '@/plugins/i18n'\r\n\r\nVue.config.productionTip = true\r\nVue.config.devtools = true\r\n\r\nexport const EventBus = new Vue();\r\n\r\nnew Vue({\r\n router,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount('#app')","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=4e2caeba&prod&lang=css&\"","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n\r\n\r\nVue.use(VueRouter)\r\n\r\nconst routes = [\r\n {\r\n path: '/',\r\n name: 'loader',\r\n component: () => import('../views/splash-screen.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/home',\r\n name: 'home',\r\n component: () => import('../views/home.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/generate-ap',\r\n name: 'generate-ap',\r\n component: () => import('../views/generate-ap.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/capture',\r\n name: 'capture',\r\n component: () => import('../views/capture.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/save-capture',\r\n name: 'save-capture',\r\n component: () => import('../views/save-capture.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/analysis',\r\n name: 'analysis',\r\n component: () => import('../views/analysis.vue'),\r\n props: true\r\n },\r\n {\r\n path: '/report',\r\n name: 'report',\r\n component: () => import('../views/report.vue'),\r\n props: true\r\n }\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes\r\n})\r\n\r\nexport default router\r\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-0d175fb6.56d23ddc.js.map b/app/frontend/dist/js/chunk-0d175fb6.56d23ddc.js.map
deleted file mode 100644
index 840d681..0000000
--- a/app/frontend/dist/js/chunk-0d175fb6.56d23ddc.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/save-capture.vue?3f48","webpack:///./src/views/save-capture.vue","webpack:///src/views/save-capture.vue","webpack:///./src/views/save-capture.vue?6c0a","webpack:///./src/views/save-capture.vue?e430"],"names":["render","_vm","this","_c","_self","staticClass","save_usb","init","class","saved","usb","on","$event","new_capture","_e","_v","_s","$t","attrs","download_url","staticRenderFns","name","components","data","props","capture_token","methods","check_usb","console","axios","timeout","then","clearInterval","save_capture","clearTimeout","router","created","component"],"mappings":"kHAAA,W,yCCAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,WAAW,CAAEJ,EAAIK,UAAYL,EAAIM,KAAMJ,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,cAAcG,MAAM,CAAC,gBAAiBP,EAAIQ,QAAUR,EAAIS,KAAKC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOX,EAAIY,iBAAiB,EAAGZ,EAAIQ,OAASR,EAAIS,IAAKP,EAAG,MAAM,CAACE,YAAY,iBAAiBJ,EAAIa,KAAMb,EAAIQ,MAAON,EAAG,MAAM,CAACE,YAAY,iBAAiBJ,EAAIa,KAAKX,EAAG,MAAM,CAACE,YAAY,aAAaF,EAAG,MAAM,CAACE,YAAY,oBAAsBJ,EAAIQ,OAAUR,EAAIS,IAAqGT,EAAIa,KAApGX,EAAG,IAAI,CAACE,YAAY,UAAU,CAACF,EAAG,MAAMF,EAAIc,GAAGd,EAAIe,GAAGf,EAAIgB,GAAG,oCAA8ChB,EAAIQ,OAASR,EAAIS,IAAKP,EAAG,IAAI,CAACE,YAAY,UAAU,CAACF,EAAG,MAAMF,EAAIc,GAAGd,EAAIe,GAAGf,EAAIgB,GAAG,kCAAkChB,EAAIa,KAAMb,EAAIQ,MAAON,EAAG,IAAI,CAACE,YAAY,UAAU,CAACF,EAAG,MAAMF,EAAIc,GAAGd,EAAIe,GAAGf,EAAIgB,GAAG,4BAA4BhB,EAAIa,QAASb,EAAIK,UAAYL,EAAIM,KAAMJ,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACA,EAAG,IAAI,CAACE,YAAY,UAAU,CAACJ,EAAIc,GAAGd,EAAIe,GAAGf,EAAIgB,GAAG,mCAAmCd,EAAG,MAAMA,EAAG,MAAMA,EAAG,QAAQA,EAAG,SAAS,CAACE,YAAY,kBAAkBM,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOX,EAAIY,iBAAiB,CAACZ,EAAIc,GAAGd,EAAIe,GAAGf,EAAIgB,GAAG,sCAAsCd,EAAG,SAAS,CAACE,YAAY,iBAAiBa,MAAM,CAAC,IAAMjB,EAAIkB,oBAAoBlB,EAAIa,QAE3xCM,EAAkB,G,6CC4CP,GACfC,oBACAC,cACAC,OACA,OACAb,OACAD,SACAH,YACAC,UAGAiB,OACAC,sBAEAC,SACAC,qBACAC,mEACAC,+BAAAC,cACAC,SACA,gBACA,YACAC,6BACA,wBAIAC,wBACA,yBACAL,4DACAC,2CAAAC,cACAC,SACA,gBACA,cACAH,yEACA,sDAIAf,uBACAe,+EACAM,2BACAC,aAAAd,uBAGAe,mBACAR,2DACA,8BACAA,0EACA,aACA,iBACA,uEAEAA,oEACA,aACA,iBACA,yDCrGsV,I,wBCQlVS,EAAY,eACd,EACArC,EACAoB,GACA,EACA,KACA,KACA,MAIa,aAAAiB,E","file":"js/chunk-0d175fb6.56d23ddc.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-capture.vue?vue&type=style&index=0&id=52e6f598&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[(_vm.save_usb && _vm.init)?_c('div',{staticClass:\"center\"},[_c('div',{staticClass:\"canvas-anim\",class:{'anim-connect': !_vm.saved && !_vm.usb},on:{\"click\":function($event){return _vm.new_capture()}}},[(!_vm.saved && _vm.usb)?_c('div',{staticClass:\"icon-spinner\"}):_vm._e(),(_vm.saved)?_c('div',{staticClass:\"icon-success\"}):_vm._e(),_c('div',{staticClass:\"icon-usb\"}),_c('div',{staticClass:\"icon-usb-plug\"})]),(!_vm.saved && !_vm.usb)?_c('p',{staticClass:\"legend\"},[_c('br'),_vm._v(_vm._s(_vm.$t(\"save-capture.please_connect\")))]):_vm._e(),(!_vm.saved && _vm.usb)?_c('p',{staticClass:\"legend\"},[_c('br'),_vm._v(_vm._s(_vm.$t(\"save-capture.we_are_saving\")))]):_vm._e(),(_vm.saved)?_c('p',{staticClass:\"legend\"},[_c('br'),_vm._v(_vm._s(_vm.$t(\"save-capture.tap_msg\")))]):_vm._e()]):(!_vm.save_usb && _vm.init)?_c('div',{staticClass:\"center\"},[_c('div',[_c('p',{staticClass:\"legend\"},[_vm._v(_vm._s(_vm.$t(\"save-capture.capture_download\"))),_c('br'),_c('br'),_c('br')]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.new_capture()}}},[_vm._v(_vm._s(_vm.$t(\"save-capture.start_capture_btn\")))]),_c('iframe',{staticClass:\"frame-download\",attrs:{\"src\":_vm.download_url}})])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
{{ $t(\"save-capture.please_connect\") }}
\r\n
{{ $t(\"save-capture.we_are_saving\") }}
\r\n
{{ $t(\"save-capture.tap_msg\") }}
\r\n
\r\n
\r\n
\r\n
{{ $t(\"save-capture.capture_download\") }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-capture.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-capture.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./save-capture.vue?vue&type=template&id=52e6f598&\"\nimport script from \"./save-capture.vue?vue&type=script&lang=js&\"\nexport * from \"./save-capture.vue?vue&type=script&lang=js&\"\nimport style0 from \"./save-capture.vue?vue&type=style&index=0&id=52e6f598&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-0d175fb6.56d23ddc.js b/app/frontend/dist/js/chunk-0d175fb6.e0662e09.js
similarity index 98%
rename from app/frontend/dist/js/chunk-0d175fb6.56d23ddc.js
rename to app/frontend/dist/js/chunk-0d175fb6.e0662e09.js
index 0fffc4e..0470404 100644
--- a/app/frontend/dist/js/chunk-0d175fb6.56d23ddc.js
+++ b/app/frontend/dist/js/chunk-0d175fb6.e0662e09.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0d175fb6"],{"192d":function(e,s,t){"use strict";t("fd7d")},9152:function(e,s,t){"use strict";t.r(s);var a=function(){var e=this,s=e._self._c;return s("div",{staticClass:"wrapper"},[e.save_usb&&e.init?s("div",{staticClass:"center"},[s("div",{staticClass:"canvas-anim",class:{"anim-connect":!e.saved&&!e.usb},on:{click:function(s){return e.new_capture()}}},[!e.saved&&e.usb?s("div",{staticClass:"icon-spinner"}):e._e(),e.saved?s("div",{staticClass:"icon-success"}):e._e(),s("div",{staticClass:"icon-usb"}),s("div",{staticClass:"icon-usb-plug"})]),e.saved||e.usb?e._e():s("p",{staticClass:"legend"},[s("br"),e._v(e._s(e.$t("save-capture.please_connect")))]),!e.saved&&e.usb?s("p",{staticClass:"legend"},[s("br"),e._v(e._s(e.$t("save-capture.we_are_saving")))]):e._e(),e.saved?s("p",{staticClass:"legend"},[s("br"),e._v(e._s(e.$t("save-capture.tap_msg")))]):e._e()]):!e.save_usb&&e.init?s("div",{staticClass:"center"},[s("div",[s("p",{staticClass:"legend"},[e._v(e._s(e.$t("save-capture.capture_download"))),s("br"),s("br"),s("br")]),s("button",{staticClass:"btn btn-primary",on:{click:function(s){return e.new_capture()}}},[e._v(e._s(e.$t("save-capture.start_capture_btn")))]),s("iframe",{staticClass:"frame-download",attrs:{src:e.download_url}})])]):e._e()])},n=[],c=(t("14d9"),t("bc3a")),i=t.n(c),u=t("a18c"),o={name:"save-capture",components:{},data(){return{usb:!1,saved:!1,save_usb:!1,init:!1}},props:{capture_token:String},methods:{check_usb:function(){console.log("[save-capture.vue] Checking connected USB device..."),i.a.get("/api/save/usb-check",{timeout:3e4}).then(e=>{e.data.status&&(this.usb=!0,clearInterval(this.interval),this.save_capture())})},save_capture:function(){var e=this.capture_token;console.log("[save-capture.vue] Saving the capture on USB"),i.a.get(`/api/save/save-capture/${e}/usb`,{timeout:3e4}).then(e=>{e.data.status&&(this.saved=!0,console.log("[save-capture.vue] Capture saved, going back to main view"),this.timeout=setTimeout(()=>u["a"].push("/"),6e4))})},new_capture:function(){console.log("[save-capture.vue] Capture saved, generating a new access point"),clearTimeout(this.timeout),u["a"].push({name:"generate-ap"})}},created:function(){console.log("[save-capture.vue] Showing save-capture.vue"),window.config.download_links?(console.log("[save-capture.vue] Using download links instead of USB key"),this.init=!0,this.save_usb=!1,this.download_url=`/api/save/save-capture/${this.capture_token}/url`):(console.log("[save-capture.vue] Using USB key to save the capture"),this.init=!0,this.save_usb=!0,this.interval=setInterval(()=>{this.check_usb()},500))}},r=o,v=(t("192d"),t("2877")),l=Object(v["a"])(r,a,n,!1,null,null,null);s["default"]=l.exports},fd7d:function(e,s,t){}}]);
-//# sourceMappingURL=chunk-0d175fb6.56d23ddc.js.map
\ No newline at end of file
+//# sourceMappingURL=chunk-0d175fb6.e0662e09.js.map
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-0d175fb6.e0662e09.js.map b/app/frontend/dist/js/chunk-0d175fb6.e0662e09.js.map
new file mode 100644
index 0000000..6947a33
--- /dev/null
+++ b/app/frontend/dist/js/chunk-0d175fb6.e0662e09.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/save-capture.vue?3f48","webpack:///./src/views/save-capture.vue","webpack:///src/views/save-capture.vue","webpack:///./src/views/save-capture.vue?6c0a","webpack:///./src/views/save-capture.vue?e430"],"names":["render","_vm","this","_c","_self","staticClass","save_usb","init","class","saved","usb","on","$event","new_capture","_e","_v","_s","$t","attrs","download_url","staticRenderFns","name","components","data","props","capture_token","String","methods","check_usb","console","log","axios","get","timeout","then","response","status","clearInterval","interval","save_capture","setTimeout","router","push","clearTimeout","created","window","config","download_links","setInterval","component"],"mappings":"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","file":"js/chunk-0d175fb6.e0662e09.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-capture.vue?vue&type=style&index=0&id=52e6f598&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[(_vm.save_usb && _vm.init)?_c('div',{staticClass:\"center\"},[_c('div',{staticClass:\"canvas-anim\",class:{'anim-connect': !_vm.saved && !_vm.usb},on:{\"click\":function($event){return _vm.new_capture()}}},[(!_vm.saved && _vm.usb)?_c('div',{staticClass:\"icon-spinner\"}):_vm._e(),(_vm.saved)?_c('div',{staticClass:\"icon-success\"}):_vm._e(),_c('div',{staticClass:\"icon-usb\"}),_c('div',{staticClass:\"icon-usb-plug\"})]),(!_vm.saved && !_vm.usb)?_c('p',{staticClass:\"legend\"},[_c('br'),_vm._v(_vm._s(_vm.$t(\"save-capture.please_connect\")))]):_vm._e(),(!_vm.saved && _vm.usb)?_c('p',{staticClass:\"legend\"},[_c('br'),_vm._v(_vm._s(_vm.$t(\"save-capture.we_are_saving\")))]):_vm._e(),(_vm.saved)?_c('p',{staticClass:\"legend\"},[_c('br'),_vm._v(_vm._s(_vm.$t(\"save-capture.tap_msg\")))]):_vm._e()]):(!_vm.save_usb && _vm.init)?_c('div',{staticClass:\"center\"},[_c('div',[_c('p',{staticClass:\"legend\"},[_vm._v(_vm._s(_vm.$t(\"save-capture.capture_download\"))),_c('br'),_c('br'),_c('br')]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.new_capture()}}},[_vm._v(_vm._s(_vm.$t(\"save-capture.start_capture_btn\")))]),_c('iframe',{staticClass:\"frame-download\",attrs:{\"src\":_vm.download_url}})])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
{{ $t(\"save-capture.please_connect\") }}
\r\n
{{ $t(\"save-capture.we_are_saving\") }}
\r\n
{{ $t(\"save-capture.tap_msg\") }}
\r\n
\r\n
\r\n
\r\n
{{ $t(\"save-capture.capture_download\") }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-capture.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-capture.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./save-capture.vue?vue&type=template&id=52e6f598&\"\nimport script from \"./save-capture.vue?vue&type=script&lang=js&\"\nexport * from \"./save-capture.vue?vue&type=script&lang=js&\"\nimport style0 from \"./save-capture.vue?vue&type=style&index=0&id=52e6f598&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0b23b3.3d66404f.js b/app/frontend/dist/js/chunk-2d0b23b3.2995d2b5.js
similarity index 98%
rename from app/frontend/dist/js/chunk-2d0b23b3.3d66404f.js
rename to app/frontend/dist/js/chunk-2d0b23b3.2995d2b5.js
index 4b96a22..3e19c59 100644
--- a/app/frontend/dist/js/chunk-2d0b23b3.3d66404f.js
+++ b/app/frontend/dist/js/chunk-2d0b23b3.2995d2b5.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b23b3"],{"22da":function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},[t("div",{staticClass:"center"},[t("svg",{staticStyle:{margin:"auto",background:"none",display:"block","shape-rendering":"auto"},attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"194px",height:"194px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"}},[t("circle",{attrs:{cx:"50",cy:"50",r:"0",fill:"none",stroke:"#dfdfdf","stroke-width":"1"}},[t("animate",{attrs:{attributeName:"r",repeatCount:"indefinite",dur:"2.941176470588235s",values:"0;43",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"0s"}}),t("animate",{attrs:{attributeName:"opacity",repeatCount:"indefinite",dur:"2.941176470588235s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"0s"}})]),t("circle",{attrs:{cx:"50",cy:"50",r:"0",fill:"none",stroke:"#dadada","stroke-width":"1"}},[t("animate",{attrs:{attributeName:"r",repeatCount:"indefinite",dur:"2.941176470588235s",values:"0;43",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"-1.4705882352941175s"}}),t("animate",{attrs:{attributeName:"opacity",repeatCount:"indefinite",dur:"2.941176470588235s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"-1.4705882352941175s"}})])]),e.long_waiting?e._e():t("p",{staticClass:"legend"},[e._v(e._s(e.$t("analysis.please_wait_msg")))]),e.long_waiting?t("p",{staticClass:"legend fade-in"},[e._v(e._s(e.$t("analysis.some_time_msg")))]):e._e()])])},i=[],n=a("a18c"),l=a("bc3a"),r=a.n(l),o={name:"analysis",data(){return{check_alerts:!1,long_waiting:!1}},props:{capture_token:String},methods:{start_analysis:function(){console.log("[analysis.vue] Starting the analysis..."),setTimeout(function(){this.long_waiting=!0}.bind(this),15e3),r.a.get("/api/analysis/start/"+this.capture_token,{timeout:6e4}).then(e=>{"Analysis started"==e.data.message&&(this.check_alerts=setInterval(()=>{this.get_alerts()},500))}).catch(e=>{console.log(e)})},get_alerts:function(){r.a.get("/api/analysis/report/"+this.capture_token,{timeout:6e4}).then(e=>{"No report yet"!=e.data.message?(console.log("[analysis.vue] Got the results analysis, moving to report view"),clearInterval(this.check_alerts),this.long_waiting=!1,n["a"].replace({name:"report",params:{alerts:e.data.alerts,device:e.data.device,methods:e.data.methods,pcap:e.data.pcap,records:e.data.records,capture_token:this.capture_token}})):console.log("[analysis.vue] No analysis results yet")}).catch(e=>{console.log(e)})}},created:function(){console.log("[analysis.vue] Showing analysis.vue"),this.start_analysis()}},c=o,d=a("2877"),p=Object(d["a"])(c,s,i,!1,null,null,null);t["default"]=p.exports}}]);
-//# sourceMappingURL=chunk-2d0b23b3.3d66404f.js.map
\ No newline at end of file
+//# sourceMappingURL=chunk-2d0b23b3.2995d2b5.js.map
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0b23b3.2995d2b5.js.map b/app/frontend/dist/js/chunk-2d0b23b3.2995d2b5.js.map
new file mode 100644
index 0000000..2140051
--- /dev/null
+++ b/app/frontend/dist/js/chunk-2d0b23b3.2995d2b5.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/analysis.vue","webpack:///src/views/analysis.vue","webpack:///./src/views/analysis.vue?0102","webpack:///./src/views/analysis.vue?e862"],"names":["render","_vm","this","_c","_self","staticClass","staticStyle","attrs","long_waiting","_e","_v","_s","$t","staticRenderFns","name","data","check_alerts","props","capture_token","String","methods","start_analysis","console","log","setTimeout","bind","axios","get","timeout","then","response","message","setInterval","get_alerts","catch","error","clearInterval","router","replace","params","alerts","device","pcap","records","created","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACG,YAAY,CAAC,OAAS,OAAO,WAAa,OAAO,QAAU,QAAQ,kBAAkB,QAAQC,MAAM,CAAC,MAAQ,6BAA6B,cAAc,+BAA+B,MAAQ,QAAQ,OAAS,QAAQ,QAAU,cAAc,oBAAsB,aAAa,CAACJ,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,KAAK,GAAK,KAAK,EAAI,IAAI,KAAO,OAAO,OAAS,UAAU,eAAe,MAAM,CAACJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,IAAI,YAAc,aAAa,IAAM,qBAAqB,OAAS,OAAO,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,QAAQJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,UAAU,YAAc,aAAa,IAAM,qBAAqB,OAAS,MAAM,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,UAAUJ,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,KAAK,GAAK,KAAK,EAAI,IAAI,KAAO,OAAO,OAAS,UAAU,eAAe,MAAM,CAACJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,IAAI,YAAc,aAAa,IAAM,qBAAqB,OAAS,OAAO,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,0BAA0BJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,UAAU,YAAc,aAAa,IAAM,qBAAqB,OAAS,MAAM,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,8BAAgCN,EAAIO,aAAkGP,EAAIQ,KAAxFN,EAAG,IAAI,CAACE,YAAY,UAAU,CAACJ,EAAIS,GAAGT,EAAIU,GAAGV,EAAIW,GAAG,gCAA0CX,EAAIO,aAAcL,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACJ,EAAIS,GAAGT,EAAIU,GAAGV,EAAIW,GAAG,8BAA8BX,EAAIQ,UAE/nDI,EAAkB,G,iCCoBP,GACfC,KAAA,WACAC,OACA,OACAC,cAAA,EACAR,cAAA,IAGAS,MAAA,CACAC,cAAAC,QAEAC,QAAA,CACAC,eAAA,WACAC,QAAAC,IAAA,2CACAC,WAAA,gBAAAhB,cAAA,GAAAiB,KAAA,YACAC,IAAAC,IAAA,4BAAAT,cAAA,CAAAU,QAAA,MACAC,KAAAC,IACA,oBAAAA,EAAAf,KAAAgB,UACA,KAAAf,aAAAgB,YAAA,UAAAC,cAAA,QAEAC,MAAAC,IACAb,QAAAC,IAAAY,MAGAF,WAAA,WACAP,IAAAC,IAAA,6BAAAT,cAAA,CAAAU,QAAA,MACAC,KAAAC,IACA,iBAAAA,EAAAf,KAAAgB,SACAT,QAAAC,IAAA,kEACAa,cAAA,KAAApB,cACA,KAAAR,cAAA,EACA6B,OAAAC,QAAA,CAAAxB,KAAA,SACAyB,OAAA,CAAAC,OAAAV,EAAAf,KAAAyB,OACAC,OAAAX,EAAAf,KAAA0B,OACArB,QAAAU,EAAAf,KAAAK,QACAsB,KAAAZ,EAAAf,KAAA2B,KACAC,QAAAb,EAAAf,KAAA4B,QACAzB,cAAA,KAAAA,kBAEAI,QAAAC,IAAA,4CAGAW,MAAAC,IACAb,QAAAC,IAAAY,OAIAS,QAAA,WACAtB,QAAAC,IAAA,uCACA,KAAAF,mBCvEkV,I,YCO9UwB,EAAY,eACd,EACA7C,EACAa,GACA,EACA,KACA,KACA,MAIa,aAAAgC,E","file":"js/chunk-2d0b23b3.2995d2b5.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"center\"},[_c('svg',{staticStyle:{\"margin\":\"auto\",\"background\":\"none\",\"display\":\"block\",\"shape-rendering\":\"auto\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"194px\",\"height\":\"194px\",\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"0\",\"fill\":\"none\",\"stroke\":\"#dfdfdf\",\"stroke-width\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"0;43\",\"keyTimes\":\"0;1\",\"keySplines\":\"0 0.2 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"0s\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"1;0\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.2 0 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"0s\"}})]),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"0\",\"fill\":\"none\",\"stroke\":\"#dadada\",\"stroke-width\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"0;43\",\"keyTimes\":\"0;1\",\"keySplines\":\"0 0.2 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"-1.4705882352941175s\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"1;0\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.2 0 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"-1.4705882352941175s\"}})])]),(!_vm.long_waiting)?_c('p',{staticClass:\"legend\"},[_vm._v(_vm._s(_vm.$t(\"analysis.please_wait_msg\")))]):_vm._e(),(_vm.long_waiting)?_c('p',{staticClass:\"legend fade-in\"},[_vm._v(_vm._s(_vm.$t(\"analysis.some_time_msg\")))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n
\r\n \r\n
{{ $t(\"analysis.please_wait_msg\") }}
\r\n
{{ $t(\"analysis.some_time_msg\") }}
\r\n
\r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./analysis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./analysis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./analysis.vue?vue&type=template&id=18787c62&\"\nimport script from \"./analysis.vue?vue&type=script&lang=js&\"\nexport * from \"./analysis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0b23b3.3d66404f.js.map b/app/frontend/dist/js/chunk-2d0b23b3.3d66404f.js.map
deleted file mode 100644
index 64f220b..0000000
--- a/app/frontend/dist/js/chunk-2d0b23b3.3d66404f.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/analysis.vue","webpack:///src/views/analysis.vue","webpack:///./src/views/analysis.vue?0102","webpack:///./src/views/analysis.vue?e862"],"names":["render","_vm","this","_c","_self","staticClass","staticStyle","attrs","long_waiting","_e","_v","_s","$t","staticRenderFns","name","data","check_alerts","props","capture_token","methods","start_analysis","console","setTimeout","axios","timeout","then","catch","get_alerts","clearInterval","router","params","alerts","device","pcap","records","created","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACG,YAAY,CAAC,OAAS,OAAO,WAAa,OAAO,QAAU,QAAQ,kBAAkB,QAAQC,MAAM,CAAC,MAAQ,6BAA6B,cAAc,+BAA+B,MAAQ,QAAQ,OAAS,QAAQ,QAAU,cAAc,oBAAsB,aAAa,CAACJ,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,KAAK,GAAK,KAAK,EAAI,IAAI,KAAO,OAAO,OAAS,UAAU,eAAe,MAAM,CAACJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,IAAI,YAAc,aAAa,IAAM,qBAAqB,OAAS,OAAO,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,QAAQJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,UAAU,YAAc,aAAa,IAAM,qBAAqB,OAAS,MAAM,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,UAAUJ,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,KAAK,GAAK,KAAK,EAAI,IAAI,KAAO,OAAO,OAAS,UAAU,eAAe,MAAM,CAACJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,IAAI,YAAc,aAAa,IAAM,qBAAqB,OAAS,OAAO,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,0BAA0BJ,EAAG,UAAU,CAACI,MAAM,CAAC,cAAgB,UAAU,YAAc,aAAa,IAAM,qBAAqB,OAAS,MAAM,SAAW,MAAM,WAAa,cAAc,SAAW,SAAS,MAAQ,8BAAgCN,EAAIO,aAAkGP,EAAIQ,KAAxFN,EAAG,IAAI,CAACE,YAAY,UAAU,CAACJ,EAAIS,GAAGT,EAAIU,GAAGV,EAAIW,GAAG,gCAA0CX,EAAIO,aAAcL,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACJ,EAAIS,GAAGT,EAAIU,GAAGV,EAAIW,GAAG,8BAA8BX,EAAIQ,UAE/nDI,EAAkB,G,iCCoBP,GACfC,gBACAC,OACA,OACAC,gBACAR,kBAGAS,OACAC,sBAEAC,SACAC,0BACAC,uDACAC,sBAAA,uCACAC,mDAAAC,cACAC,SACA,qCACA,8DAEAC,UACAL,kBAGAM,sBACAJ,oDAAAC,cACAC,SACA,iCACAJ,8EACAO,iCACA,qBACAC,gBAAAf,cACAgB,QAAAC,qBACAC,qBACAb,uBACAc,iBACAC,uBACAhB,qCAEAG,wDAGAK,UACAL,mBAIAc,mBACAd,mDACA,wBCvEkV,I,YCO9Ue,EAAY,eACd,EACApC,EACAa,GACA,EACA,KACA,KACA,MAIa,aAAAuB,E","file":"js/chunk-2d0b23b3.3d66404f.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"center\"},[_c('svg',{staticStyle:{\"margin\":\"auto\",\"background\":\"none\",\"display\":\"block\",\"shape-rendering\":\"auto\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"194px\",\"height\":\"194px\",\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"0\",\"fill\":\"none\",\"stroke\":\"#dfdfdf\",\"stroke-width\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"0;43\",\"keyTimes\":\"0;1\",\"keySplines\":\"0 0.2 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"0s\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"1;0\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.2 0 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"0s\"}})]),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"0\",\"fill\":\"none\",\"stroke\":\"#dadada\",\"stroke-width\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"0;43\",\"keyTimes\":\"0;1\",\"keySplines\":\"0 0.2 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"-1.4705882352941175s\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"1;0\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.2 0 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"-1.4705882352941175s\"}})])]),(!_vm.long_waiting)?_c('p',{staticClass:\"legend\"},[_vm._v(_vm._s(_vm.$t(\"analysis.please_wait_msg\")))]):_vm._e(),(_vm.long_waiting)?_c('p',{staticClass:\"legend fade-in\"},[_vm._v(_vm._s(_vm.$t(\"analysis.some_time_msg\")))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n
\r\n \r\n
{{ $t(\"analysis.please_wait_msg\") }}
\r\n
{{ $t(\"analysis.some_time_msg\") }}
\r\n
\r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./analysis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./analysis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./analysis.vue?vue&type=template&id=18787c62&\"\nimport script from \"./analysis.vue?vue&type=script&lang=js&\"\nexport * from \"./analysis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0b6d35.9c950e8a.js b/app/frontend/dist/js/chunk-2d0b6d35.34f80742.js
similarity index 96%
rename from app/frontend/dist/js/chunk-2d0b6d35.9c950e8a.js
rename to app/frontend/dist/js/chunk-2d0b6d35.34f80742.js
index 9c5006f..d863d44 100644
--- a/app/frontend/dist/js/chunk-2d0b6d35.9c950e8a.js
+++ b/app/frontend/dist/js/chunk-2d0b6d35.34f80742.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b6d35"],{"1f8b":function(e,t,s){"use strict";s.r(t);var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper-dark"},[t("div",{staticClass:"center"},[t("h1",{attrs:{id:"title"}},[e._v(e._s(e.title))]),t("span",{staticClass:"loading loading-lg loadingsplash"}),t("span",{staticClass:"message_splash"},[e._v(e._s(e.message))])])])},a=[],o=s("a18c"),i=s("bc3a"),l=s.n(i),c={name:"splash-screen",components:{},data(){return{internet:!1,message:"",title:"SPYGUARD",letters:["SSS§ṠSSSSS","PPPþ⒫PPPP","YYYÿYYYÿYȲYY","GGḠGGGǤG¬G","UÚUUÜUɄUUU","AAAAÄA¬AAA","RЯRɌRRRɌʭR","DD¬DDDDƋDD"]}},methods:{delete_captures:function(){this.message="Doing some cleaning...",console.log("[splash-screen.vue] Deleting previous captures..."),l.a.get("/api/misc/delete-captures",{timeout:3e4}),setTimeout(function(){this.goto_home()}.bind(this),2e3)},goto_home:function(){console.log("[splash-screen.vue] Going to home..."),this.message="Going to home...",o["a"].replace({name:"home"})},generate_random:function(e=0,t=1e3){let s=t-e,n=Math.random();return n=Math.floor(n*s),n+=e,n}},created:function(){window.access_point="",console.log("[splash-screen.vue] Welcome to SPYGUARD"),setInterval(function(){let e="";this.letters.forEach(t=>{e+=t.charAt(this.generate_random(0,9))}),this.title=e,setTimeout(function(){this.title="SPYGUARD"}.bind(this),this.generate_random(30,100))}.bind(this),this.generate_random(500,4e3)),this.delete_captures()}},r=c,h=s("2877"),u=Object(h["a"])(r,n,a,!1,null,null,null);t["default"]=u.exports}}]);
-//# sourceMappingURL=chunk-2d0b6d35.9c950e8a.js.map
\ No newline at end of file
+//# sourceMappingURL=chunk-2d0b6d35.34f80742.js.map
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0b6d35.34f80742.js.map b/app/frontend/dist/js/chunk-2d0b6d35.34f80742.js.map
new file mode 100644
index 0000000..1c2559e
--- /dev/null
+++ b/app/frontend/dist/js/chunk-2d0b6d35.34f80742.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/splash-screen.vue","webpack:///src/views/splash-screen.vue","webpack:///./src/views/splash-screen.vue?9937","webpack:///./src/views/splash-screen.vue?95d4"],"names":["render","_vm","this","_c","_self","staticClass","attrs","_v","_s","title","message","staticRenderFns","name","components","data","internet","letters","methods","delete_captures","console","log","axios","get","timeout","setTimeout","goto_home","bind","router","replace","generate_random","min","max","difference","rand","Math","random","floor","created","window","access_point","setInterval","res","forEach","l","charAt","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,KAAK,CAACG,MAAM,CAAC,GAAK,UAAU,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,UAAUN,EAAG,OAAO,CAACE,YAAY,qCAAqCF,EAAG,OAAO,CAACE,YAAY,kBAAkB,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,iBAE3TC,EAAkB,G,iCCWtB,GACAC,KAAA,gBACAC,WAAA,GACAC,OACA,OACAC,UAAA,EACAL,QAAA,GACAD,MAAA,WACAO,QAAA,6GAGAC,QAAA,CACAC,gBAAA,WACA,KAAAR,QAAA,yBACAS,QAAAC,IAAA,qDACAC,IAAAC,IAAA,6BAAAC,QAAA,MAEAC,WAAA,gBAAAC,aAAAC,KAAA,YAEAD,UAAA,WACAN,QAAAC,IAAA,wCACA,KAAAV,QAAA,mBACAiB,OAAAC,QAAA,CAAAhB,KAAA,UAEAiB,gBAAA,SAAAC,EAAA,EAAAC,EAAA,KACA,IAAAC,EAAAD,EAAAD,EACAG,EAAAC,KAAAC,SAGA,OAFAF,EAAAC,KAAAE,MAAAH,EAAAD,GACAC,GAAAH,EACAG,IAGAI,QAAA,WACAC,OAAAC,aAAA,GACApB,QAAAC,IAAA,2CACAoB,YAAA,WACA,IAAAC,EAAA,GACA,KAAAzB,QAAA0B,QAAAC,IAAAF,GAAAE,EAAAC,OAAA,KAAAf,gBAAA,QACA,KAAApB,MAAAgC,EACAjB,WAAA,WACA,KAAAf,MAAA,YACAiB,KAAA,WAAAG,gBAAA,UACAH,KAAA,WAAAG,gBAAA,UACA,KAAAX,oBCxDuV,I,YCOnV2B,EAAY,eACd,EACA7C,EACAW,GACA,EACA,KACA,KACA,MAIa,aAAAkC,E","file":"js/chunk-2d0b6d35.34f80742.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper-dark\"},[_c('div',{staticClass:\"center\"},[_c('h1',{attrs:{\"id\":\"title\"}},[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"loading loading-lg loadingsplash\"}),_c('span',{staticClass:\"message_splash\"},[_vm._v(_vm._s(_vm.message))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n
\r\n
{{ title }}
\r\n {{message}}\r\n
\r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./splash-screen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./splash-screen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./splash-screen.vue?vue&type=template&id=bf2d05b4&\"\nimport script from \"./splash-screen.vue?vue&type=script&lang=js&\"\nexport * from \"./splash-screen.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0b6d35.9c950e8a.js.map b/app/frontend/dist/js/chunk-2d0b6d35.9c950e8a.js.map
deleted file mode 100644
index b7bf8dd..0000000
--- a/app/frontend/dist/js/chunk-2d0b6d35.9c950e8a.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/splash-screen.vue","webpack:///src/views/splash-screen.vue","webpack:///./src/views/splash-screen.vue?9937","webpack:///./src/views/splash-screen.vue?95d4"],"names":["render","_vm","this","_c","_self","staticClass","attrs","_v","_s","title","message","staticRenderFns","name","components","data","internet","letters","methods","delete_captures","console","axios","timeout","setTimeout","goto_home","router","generate_random","rand","created","window","setInterval","res","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,KAAK,CAACG,MAAM,CAAC,GAAK,UAAU,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,UAAUN,EAAG,OAAO,CAACE,YAAY,qCAAqCF,EAAG,OAAO,CAACE,YAAY,kBAAkB,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,iBAE3TC,EAAkB,G,iCCWtB,GACAC,qBACAC,cACAC,OACA,OACAC,YACAL,WACAD,iBACAO,qHAGAC,SACAC,2BACA,sCACAC,iEACAC,qCAAAC,cAEAC,sBAAA,mCAEAC,qBACAJ,oDACA,gCACAK,gBAAAZ,eAEAa,oCACA,UACA,gBAGA,OAFAC,kBACAA,KACA,IAGAC,mBACAC,uBACAT,uDACAU,uBACA,SACA,yBAAAC,yCACA,aACAR,sBACA,uBACA,0CACA,0CACA,yBCxDuV,I,YCOnVS,EAAY,eACd,EACA/B,EACAW,GACA,EACA,KACA,KACA,MAIa,aAAAoB,E","file":"js/chunk-2d0b6d35.9c950e8a.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper-dark\"},[_c('div',{staticClass:\"center\"},[_c('h1',{attrs:{\"id\":\"title\"}},[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"loading loading-lg loadingsplash\"}),_c('span',{staticClass:\"message_splash\"},[_vm._v(_vm._s(_vm.message))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n
\r\n
{{ title }}
\r\n {{message}}\r\n
\r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./splash-screen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./splash-screen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./splash-screen.vue?vue&type=template&id=bf2d05b4&\"\nimport script from \"./splash-screen.vue?vue&type=script&lang=js&\"\nexport * from \"./splash-screen.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/frontend/dist/js/chunk-2d0baeaa.9d6eca74.js.map b/app/frontend/dist/js/chunk-2d0baeaa.9d6eca74.js.map
deleted file mode 100644
index aa4b2e8..0000000
--- a/app/frontend/dist/js/chunk-2d0baeaa.9d6eca74.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/generate-ap.vue","webpack:///src/views/generate-ap.vue","webpack:///./src/views/generate-ap.vue?1b7e","webpack:///./src/views/generate-ap.vue?929c"],"names":["render","_vm","this","_c","_self","staticClass","error","ssid_name","on","$event","generate_ap","attrs","ssid_qr","_v","_s","$t","ssid_password","staticStyle","domProps","staticRenderFns","name","components","data","capture_token","capture_start","interval","reboot_option","attempts","methods","console","clearInterval","axios","timeout","then","show_ap","window","setTimeout","start_capture","reboot","get_capture_token","get_device","check_device","router","params","device_name","created","component"],"mappings":"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","file":"js/chunk-2d0baeaa.9d6eca74.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"center\"},[((_vm.error == false))?_c('div',[(_vm.ssid_name)?_c('div',[_c('div',{staticClass:\"card apcard\",on:{\"click\":function($event){return _vm.generate_ap()}}},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column col-5\"},[_c('center',[_c('img',{attrs:{\"src\":_vm.ssid_qr,\"id\":\"qrcode\"}})])],1),_c('div',{staticClass:\"divider-vert white-bg\",attrs:{\"data-content\":\"OR\"}}),_c('div',{staticClass:\"column col-5\"},[_c('br'),_c('span',{staticClass:\"light-grey\"},[_vm._v(_vm._s(_vm.$t(\"generate-ap.network_name\"))+\" \")]),_c('br'),_c('h4',[_vm._v(_vm._s(_vm.ssid_name))]),_c('span',{staticClass:\"light-grey\"},[_vm._v(_vm._s(_vm.$t(\"generate-ap.network_password\"))+\" \")]),_c('br'),_c('h4',[_vm._v(_vm._s(_vm.ssid_password))])])])]),_c('br'),_c('br'),_c('br'),_c('br'),_vm._v(\" \"),_c('br'),_c('br'),_c('br'),_c('br'),_c('br'),_c('br'),_c('span',{staticClass:\"legend\"},[_vm._v(_vm._s(_vm.$t(\"generate-ap.tap_msg\")))])]):_c('div',[_c('svg',{staticStyle:{\"margin\":\"auto\",\"background\":\"none\",\"display\":\"block\",\"shape-rendering\":\"auto\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"194px\",\"height\":\"194px\",\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"0\",\"fill\":\"none\",\"stroke\":\"#dfdfdf\",\"stroke-width\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"0;43\",\"keyTimes\":\"0;1\",\"keySplines\":\"0 0.2 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"0s\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"1;0\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.2 0 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"0s\"}})]),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"0\",\"fill\":\"none\",\"stroke\":\"#dadada\",\"stroke-width\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"0;43\",\"keyTimes\":\"0;1\",\"keySplines\":\"0 0.2 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"-1.4705882352941175s\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"repeatCount\":\"indefinite\",\"dur\":\"2.941176470588235s\",\"values\":\"1;0\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.2 0 0.8 1\",\"calcMode\":\"spline\",\"begin\":\"-1.4705882352941175s\"}})])]),_c('p',{staticClass:\"legend\"},[_vm._v(_vm._s(_vm.$t(\"generate-ap.generate_ap_msg\")))])])]):_c('div',[_c('p',[_c('strong',{domProps:{\"innerHTML\":_vm._s(_vm.$t('generate-ap.error_msg1'))}}),_c('br'),_c('br'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('generate-ap.error_msg2'))}}),_c('br'),_c('br')])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n