@@ -95,7 +93,7 @@ export default {
},
goToGlances(server) {
if (server.protocol === 'rpc') {
- alert("You just click on a Glances RPC server.\nPlease open a terminal and enter the following command line:\n\nglances -c ${server.ip}:${server.port}")
+ alert("You just click on a Glances RPC server.\nPlease open a terminal and enter the following command line:\n\nglances -c " + String(server.ip) + " -p " + String(server.port))
} else {
window.location.href = server.uri;
}
diff --git a/glances/outputs/static/public/browser.js b/glances/outputs/static/public/browser.js
index 42eaab6e..04dfa48a 100644
--- a/glances/outputs/static/public/browser.js
+++ b/glances/outputs/static/public/browser.js
@@ -35,4 +35,4 @@ function No(t){const e=Object.create(null);for(const r of t.split(","))e[r]=1;re
**/
let ap;const sp="undefined"!=typeof window&&window.trustedTypes;if(sp)try{ap=sp.createPolicy("vue",{createHTML:t=>t})}catch(t){}const lp=ap?t=>ap.createHTML(t):t=>t,cp="undefined"!=typeof document?document:null,up=cp&&cp.createElement("template"),pp={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,n)=>{const i="svg"===e?cp.createElementNS("http://www.w3.org/2000/svg",t):"mathml"===e?cp.createElementNS("http://www.w3.org/1998/Math/MathML",t):r?cp.createElement(t,{is:r}):cp.createElement(t);return"select"===t&&n&&null!=n.multiple&&i.setAttribute("multiple",n.multiple),i},createText:t=>cp.createTextNode(t),createComment:t=>cp.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>cp.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,n,i,o){const a=r?r.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),r),i!==o&&(i=i.nextSibling););else{up.innerHTML=lp("svg"===n?``:"mathml"===n?``:t);const i=up.content;if("svg"===n||"mathml"===n){const t=i.firstChild;for(;t.firstChild;)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,r)}return[a?a.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},dp=Symbol("_vtc");Boolean;const mp=Symbol("_vod"),fp=Symbol("_vsh"),hp={beforeMount(t,{value:e},{transition:r}){t[mp]="none"===t.style.display?"":t.style.display,r&&e?r.beforeEnter(t):gp(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:n}){!e!=!r&&(n?e?(n.beforeEnter(t),gp(t,!0),n.enter(t)):n.leave(t,(()=>{gp(t,!1)})):gp(t,e))},beforeUnmount(t,{value:e}){gp(t,e)}};function gp(t,e){t.style.display=e?t[mp]:"none",t[fp]=!e}const bp=Symbol("");const vp=/(^|;)\s*display\s*:/;const yp=/\s*!important$/;function xp(t,e,r){if($o(r))r.forEach((r=>xp(t,e,r)));else if(null==r&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const n=function(t,e){const r=_p[e];if(r)return r;let n=ia(e);if("filter"!==n&&n in t)return _p[e]=n;n=sa(n);for(let r=0;r{if(t._vts){if(t._vts<=r.attached)return}else t._vts=Date.now();il(function(t,e){if($o(e)){const r=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{r.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}(t,r.value),e,5,[t])};return r.value=t,r.attached=Np(),r}(n,i);Ep(t,r,a,s)}else a&&(!function(t,e,r,n){t.removeEventListener(e,r,n)}(t,r,a,s),o[e]=void 0)}}const Op=/(?:Once|Passive|Capture)$/;let Ip=0;const jp=Promise.resolve(),Np=()=>Ip||(jp.then((()=>Ip=0)),Ip=Date.now());const Lp=t=>111===t.charCodeAt(0)&&110===t.charCodeAt(1)&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123;
/*! #__NO_SIDE_EFFECTS__ */
-"undefined"!=typeof HTMLElement&&HTMLElement;Symbol("_moveCb"),Symbol("_enterCb");Symbol("_assign");const Dp=qo({patchProp:(t,e,r,n,i,o)=>{const a="svg"===i;"class"===e?function(t,e,r){const n=t[dp];n&&(e=(e?[e,...n]:[...n]).join(" ")),null==e?t.removeAttribute("class"):r?t.setAttribute("class",e):t.className=e}(t,n,a):"style"===e?function(t,e,r){const n=t.style,i=Wo(r);let o=!1;if(r&&!i){if(e)if(Wo(e))for(const t of e.split(";")){const e=t.slice(0,t.indexOf(":")).trim();null==r[e]&&xp(n,e,"")}else for(const t in e)null==r[t]&&xp(n,t,"");for(const t in r)"display"===t&&(o=!0),xp(n,t,r[t])}else if(i){if(e!==r){const t=n[bp];t&&(r+=";"+t),n.cssText=r,o=vp.test(r)}}else e&&t.removeAttribute("style");mp in t&&(t[mp]=o?n.display:"",t[fp]&&(n.display="none"))}(t,r,n):Ro(e)?Bo(e)||Cp(t,e,0,n,o):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):function(t,e,r,n){if(n)return"innerHTML"===e||"textContent"===e||!!(e in t&&Lp(e)&&Go(r));if("spellcheck"===e||"draggable"===e||"translate"===e)return!1;if("form"===e)return!1;if("list"===e&&"INPUT"===t.tagName)return!1;if("type"===e&&"TEXTAREA"===t.tagName)return!1;if("width"===e||"height"===e){const e=t.tagName;if("IMG"===e||"VIDEO"===e||"CANVAS"===e||"SOURCE"===e)return!1}if(Lp(e)&&Wo(r))return!1;return e in t}(t,e,n,a))?(Sp(t,e,n),t.tagName.includes("-")||"value"!==e&&"checked"!==e&&"selected"!==e||Ap(t,e,n,a,0,"value"!==e)):!t._isVueCE||!/[A-Z]/.test(e)&&Wo(n)?("true-value"===e?t._trueValue=n:"false-value"===e&&(t._falseValue=n),Ap(t,e,n,a)):Sp(t,ia(e),n,0,e)}},pp);let Pp;function Mp(){return Pp||(Pp=function(t){return Fc(t)}(Dp))}const Rp=(...t)=>{const e=Mp().createApp(...t);const{mount:r}=e;return e.mount=t=>{const n=qp(t);if(!n)return;const i=e._component;Go(i)||i.render||i.template||(i.template=n.innerHTML),1===n.nodeType&&(n.textContent="");const o=r(n,!1,Bp(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),o},e};function Bp(t){return t instanceof SVGElement?"svg":"function"==typeof MathMLElement&&t instanceof MathMLElement?"mathml":void 0}function qp(t){if(Wo(t)){return document.querySelector(t)}return t}const Fp={key:0,id:"loading-page",class:"container-fluid"},zp={key:1},Up={class:"title"},$p={class:"table table-sm table-borderless margin-bottom table-hover"},Hp=["onClick"],Vp={scope:" row"},Gp={class:""},Wp={class:""},Xp={class:""};const Qp={data:()=>({servers:void 0}),computed:{serversListLoaded(){return void 0!==this.servers}},created(){this.updateServersList()},mounted(){const t=window.__GLANCES__||{},e=isFinite(t["refresh-time"])?parseInt(t["refresh-time"],10):void 0;this.interval=setInterval(this.updateServersList,1e3*e)},unmounted(){clearInterval(this.interval)},methods:{updateServersList(){fetch("api/4/serverslist",{method:"GET"}).then((t=>t.json())).then((t=>this.servers=t))},formatNumber:t=>"number"!=typeof t||isNaN(t)?t:t.toFixed(1),goToGlances(t){"rpc"===t.protocol?alert("You just click on a Glances RPC server.\nPlease open a terminal and enter the following command line:\n\nglances -c ${server.ip}:${server.port}"):window.location.href=t.uri},getDecoration(t,e){if(void 0!==t[e+"_decoration"])return t[e+"_decoration"].replace("_LOG","").toLowerCase()}}};const Zp=(0,r(6262).A)(Qp,[["render",function(t,e,r,n,i,o){return o.serversListLoaded?(gu(),wu("main",zp,[Sl(Tu("span",null,e[1]||(e[1]=[Tu("p",{class:"title"},"No Glances server available",-1),Tu("br",null,null,-1),Tu("p",null,"Glances servers can be defined in the glances.conf file.",-1),Tu("p",null,"Glances servers can be detected automaticaly on the same local area network.",-1)]),512),[[hp,0==i.servers.length]]),Sl(Tu("span",Up,"One Glances server available",512),[[hp,1==i.servers.length]]),Sl(Tu("span",{class:"title"},Sa(i.servers.length)+" Glances servers available",513),[[hp,i.servers.length>1]]),Sl(Tu("table",$p,[Tu("thead",null,[Tu("tr",null,[e[2]||(e[2]=Tu("th",{scope:"col"},"NAME",-1)),e[3]||(e[3]=Tu("th",{scope:"col",class:""},"IP",-1)),e[4]||(e[4]=Tu("th",{scope:"col",class:""},"STATUS",-1)),e[5]||(e[5]=Tu("th",{scope:"col",class:""},"PROTOCOL",-1)),i.servers.length?(gu(!0),wu(uu,{key:0},ec(i.servers[0].columns,((t,e)=>(gu(),wu("th",{key:e},Sa(t.replace(/_/g," ").toUpperCase()),1)))),128)):Nu("v-if",!0)])]),Tu("tbody",null,[(gu(!0),wu(uu,null,ec(i.servers,((t,e)=>(gu(),wu("tr",{key:e,style:{cursor:"pointer"},onClick:e=>o.goToGlances(t)},[Tu("td",Vp,Sa(t.alias?t.alias:t.name,32),1),Tu("td",Gp,Sa(t.ip),1),Tu("td",Wp,Sa(t.status),1),Tu("td",Xp,Sa(t.protocol),1),i.servers.length?(gu(!0),wu(uu,{key:0},ec(t.columns,((e,r)=>(gu(),wu("td",{key:r,class:xa(o.getDecoration(t,e))},Sa(o.formatNumber(t[e])),3)))),128)):Nu("v-if",!0)],8,Hp)))),128))])],512),[[hp,i.servers.length>0]]),Nu(" DEBUGGING "),Nu("
{{ servers }}
")])):(gu(),wu("div",Fp,e[0]||(e[0]=[Tu("div",{class:"loader"},"Glances Central Browser is loading...",-1)])))}]]);var Yp=r(2543),Kp=r(4728),Jp=r.n(Kp);function td(t,e){return ed(t=8*Math.round(t),e)+"b"}function ed(t,e){if(e=e||!1,isNaN(parseFloat(t))||!isFinite(t)||0==t)return t;const r=["Y","Z","E","P","T","G","M","K"],n={Y:12089258196146292e8,Z:11805916207174113e5,E:0x1000000000000000,P:0x4000000000000,T:1099511627776,G:1073741824,M:1048576,K:1024};for(var i=0;i1){var s=0;return a<10?s=2:a<100&&(s=1),e?s="MK"==o?0:(0,Yp.min)([1,s]):"K"==o&&(s=0),parseFloat(a).toFixed(s)+o}}return t.toFixed(0)}function rd(t){return void 0===t||""===t?"?":t}function nd(t,e,r){return e=e||0,r=r||" ",String(t).padStart(e,r)}function id(t,e){return"function"!=typeof t.slice&&(t=String(t)),t.slice(0,e)}function od(t,e,r=!0){return e=e||8,t.length>e?r?t.substring(0,e-1)+"_":"_"+t.substring(t.length-e+1):t}function ad(t){if(void 0===t)return t;var e=function(t){var e=document.createElement("div");return e.innerText=t,e.innerHTML}(t),r=e.replace(/\n/g," ");return Jp()(r)}function sd(t,e){return void 0===t||isNaN(t)?"-":new Intl.NumberFormat("en-US","number"==typeof e?{maximumFractionDigits:e}:e).format(t)}function ld(t){for(var e=0,r=0;r`${t}: ${e}`)).join(" / ")}const pd=Rp(Zp);pd.config.globalProperties.$filters=e,pd.mount("#browser")})()})();
\ No newline at end of file
+"undefined"!=typeof HTMLElement&&HTMLElement;Symbol("_moveCb"),Symbol("_enterCb");Symbol("_assign");const Dp=qo({patchProp:(t,e,r,n,i,o)=>{const a="svg"===i;"class"===e?function(t,e,r){const n=t[dp];n&&(e=(e?[e,...n]:[...n]).join(" ")),null==e?t.removeAttribute("class"):r?t.setAttribute("class",e):t.className=e}(t,n,a):"style"===e?function(t,e,r){const n=t.style,i=Wo(r);let o=!1;if(r&&!i){if(e)if(Wo(e))for(const t of e.split(";")){const e=t.slice(0,t.indexOf(":")).trim();null==r[e]&&xp(n,e,"")}else for(const t in e)null==r[t]&&xp(n,t,"");for(const t in r)"display"===t&&(o=!0),xp(n,t,r[t])}else if(i){if(e!==r){const t=n[bp];t&&(r+=";"+t),n.cssText=r,o=vp.test(r)}}else e&&t.removeAttribute("style");mp in t&&(t[mp]=o?n.display:"",t[fp]&&(n.display="none"))}(t,r,n):Ro(e)?Bo(e)||Cp(t,e,0,n,o):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):function(t,e,r,n){if(n)return"innerHTML"===e||"textContent"===e||!!(e in t&&Lp(e)&&Go(r));if("spellcheck"===e||"draggable"===e||"translate"===e)return!1;if("form"===e)return!1;if("list"===e&&"INPUT"===t.tagName)return!1;if("type"===e&&"TEXTAREA"===t.tagName)return!1;if("width"===e||"height"===e){const e=t.tagName;if("IMG"===e||"VIDEO"===e||"CANVAS"===e||"SOURCE"===e)return!1}if(Lp(e)&&Wo(r))return!1;return e in t}(t,e,n,a))?(Sp(t,e,n),t.tagName.includes("-")||"value"!==e&&"checked"!==e&&"selected"!==e||Ap(t,e,n,a,0,"value"!==e)):!t._isVueCE||!/[A-Z]/.test(e)&&Wo(n)?("true-value"===e?t._trueValue=n:"false-value"===e&&(t._falseValue=n),Ap(t,e,n,a)):Sp(t,ia(e),n,0,e)}},pp);let Pp;function Mp(){return Pp||(Pp=function(t){return Fc(t)}(Dp))}const Rp=(...t)=>{const e=Mp().createApp(...t);const{mount:r}=e;return e.mount=t=>{const n=qp(t);if(!n)return;const i=e._component;Go(i)||i.render||i.template||(i.template=n.innerHTML),1===n.nodeType&&(n.textContent="");const o=r(n,!1,Bp(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),o},e};function Bp(t){return t instanceof SVGElement?"svg":"function"==typeof MathMLElement&&t instanceof MathMLElement?"mathml":void 0}function qp(t){if(Wo(t)){return document.querySelector(t)}return t}const Fp={key:0,id:"loading-page",class:"container-fluid"},zp={key:1},Up={class:"title"},$p={class:"table table-sm table-borderless margin-bottom table-hover"},Hp=["onClick"],Vp={scope:" row"},Gp={class:""},Wp={class:""},Xp={class:""};const Qp={data:()=>({servers:void 0}),computed:{serversListLoaded(){return void 0!==this.servers}},created(){this.updateServersList()},mounted(){const t=window.__GLANCES__||{},e=isFinite(t["refresh-time"])?parseInt(t["refresh-time"],10):void 0;this.interval=setInterval(this.updateServersList,1e3*e)},unmounted(){clearInterval(this.interval)},methods:{updateServersList(){fetch("api/4/serverslist",{method:"GET"}).then((t=>t.json())).then((t=>this.servers=t))},formatNumber:t=>"number"!=typeof t||isNaN(t)?t:t.toFixed(1),goToGlances(t){"rpc"===t.protocol?alert("You just click on a Glances RPC server.\nPlease open a terminal and enter the following command line:\n\nglances -c "+String(t.ip)+" -p "+String(t.port)):window.location.href=t.uri},getDecoration(t,e){if(void 0!==t[e+"_decoration"])return t[e+"_decoration"].replace("_LOG","").toLowerCase()}}};const Zp=(0,r(6262).A)(Qp,[["render",function(t,e,r,n,i,o){return o.serversListLoaded?(gu(),wu("main",zp,[Sl(Tu("span",null,e[1]||(e[1]=[Tu("p",{class:"title"},"No Glances server available",-1),Tu("br",null,null,-1),Tu("p",null,"Glances servers can be defined in the glances.conf file.",-1),Tu("p",null,"Glances servers can be detected automaticaly on the same local area network.",-1)]),512),[[hp,0==i.servers.length]]),Sl(Tu("span",Up,"One Glances server available",512),[[hp,1==i.servers.length]]),Sl(Tu("span",{class:"title"},Sa(i.servers.length)+" Glances servers available",513),[[hp,i.servers.length>1]]),Sl(Tu("table",$p,[Tu("thead",null,[Tu("tr",null,[e[2]||(e[2]=Tu("th",{scope:"col"},"NAME",-1)),e[3]||(e[3]=Tu("th",{scope:"col",class:""},"IP",-1)),e[4]||(e[4]=Tu("th",{scope:"col",class:""},"STATUS",-1)),e[5]||(e[5]=Tu("th",{scope:"col",class:""},"PROTOCOL",-1)),i.servers.length?(gu(!0),wu(uu,{key:0},ec(i.servers[0].columns,((t,e)=>(gu(),wu("th",{key:e},Sa(t.replace(/_/g," ").toUpperCase()),1)))),128)):Nu("v-if",!0)])]),Tu("tbody",null,[(gu(!0),wu(uu,null,ec(i.servers,((t,e)=>(gu(),wu("tr",{key:e,style:{cursor:"pointer"},onClick:e=>o.goToGlances(t)},[Tu("td",Vp,Sa(t.alias?t.alias:t.name,32),1),Tu("td",Gp,Sa(t.ip),1),Tu("td",Wp,Sa(t.status),1),Tu("td",Xp,Sa(t.protocol),1),i.servers.length?(gu(!0),wu(uu,{key:0},ec(t.columns,((e,r)=>(gu(),wu("td",{key:r,class:xa(o.getDecoration(t,e))},Sa(o.formatNumber(t[e])),3)))),128)):Nu("v-if",!0)],8,Hp)))),128))])],512),[[hp,i.servers.length>0]]),Nu(" DEBUGGING "),Nu("
{{ servers }}
")])):(gu(),wu("div",Fp,e[0]||(e[0]=[Tu("div",{class:"loader"},"Glances Central Browser is loading...",-1)])))}]]);var Yp=r(2543),Kp=r(4728),Jp=r.n(Kp);function td(t,e){return ed(t=8*Math.round(t),e)+"b"}function ed(t,e){if(e=e||!1,isNaN(parseFloat(t))||!isFinite(t)||0==t)return t;const r=["Y","Z","E","P","T","G","M","K"],n={Y:12089258196146292e8,Z:11805916207174113e5,E:0x1000000000000000,P:0x4000000000000,T:1099511627776,G:1073741824,M:1048576,K:1024};for(var i=0;i1){var s=0;return a<10?s=2:a<100&&(s=1),e?s="MK"==o?0:(0,Yp.min)([1,s]):"K"==o&&(s=0),parseFloat(a).toFixed(s)+o}}return t.toFixed(0)}function rd(t){return void 0===t||""===t?"?":t}function nd(t,e,r){return e=e||0,r=r||" ",String(t).padStart(e,r)}function id(t,e){return"function"!=typeof t.slice&&(t=String(t)),t.slice(0,e)}function od(t,e,r=!0){return e=e||8,t.length>e?r?t.substring(0,e-1)+"_":"_"+t.substring(t.length-e+1):t}function ad(t){if(void 0===t)return t;var e=function(t){var e=document.createElement("div");return e.innerText=t,e.innerHTML}(t),r=e.replace(/\n/g," ");return Jp()(r)}function sd(t,e){return void 0===t||isNaN(t)?"-":new Intl.NumberFormat("en-US","number"==typeof e?{maximumFractionDigits:e}:e).format(t)}function ld(t){for(var e=0,r=0;r`${t}: ${e}`)).join(" / ")}const pd=Rp(Zp);pd.config.globalProperties.$filters=e,pd.mount("#browser")})()})();
\ No newline at end of file
diff --git a/glances/servers_list.py b/glances/servers_list.py
index b2085439..55bf2185 100644
--- a/glances/servers_list.py
+++ b/glances/servers_list.py
@@ -125,9 +125,9 @@ class GlancesServersList:
clear_password = self.password.get_password(server['name'])
if clear_password is not None:
server['password'] = self.password.get_hash(clear_password)
- uri = 'http://{}:{}@{}:{}'.format(server['username'], server['password'], server['ip'], server['port'])
+ uri = 'http://{}:{}@{}:{}'.format(server['username'], server['password'], server['name'], server['port'])
else:
- uri = 'http://{}:{}'.format(server['ip'], server['port'])
+ uri = 'http://{}:{}'.format(server['name'], server['port'])
return uri
def set_in_selected(self, selected, key, value):