diff --git a/ru-vps/mihomo/config/config.yaml b/ru-vps/mihomo/config/config.yaml index 48a775b..ae20e4d 100644 --- a/ru-vps/mihomo/config/config.yaml +++ b/ru-vps/mihomo/config/config.yaml @@ -3,8 +3,7 @@ socks-port: 7891 allow-lan: false external-controller: 0.0.0.0:9090 -external-ui: /ui -external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/gh-pages.tar.gz" +external-ui: /root/.config/mihomo/ui # secret: "changeme" proxy-providers: diff --git a/ru-vps/mihomo/config/ui/.nojekyll b/ru-vps/mihomo/config/ui/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/ru-vps/mihomo/config/ui/200.html b/ru-vps/mihomo/config/ui/200.html new file mode 100644 index 0000000..2e16d64 --- /dev/null +++ b/ru-vps/mihomo/config/ui/200.html @@ -0,0 +1 @@ +
Mihomo Dashboard, The Official One
`,2),s(`div`,S,[i(o,{to:`/setup`,class:`index-btn-primary group relative inline-flex items-center justify-center gap-2 overflow-hidden rounded-xl px-7 py-3.5 text-[0.9375rem] font-semibold no-underline transition-all duration-300 ease-out hover:-translate-y-0.5`},{default:a(()=>[i(c(m),{class:`transition-transform duration-300 group-hover:scale-110 group-hover:-rotate-15`,size:20}),s(`span`,null,l(c(v)(`setup`)),1),i(c(h),{class:`-translate-x-2 opacity-0 transition-all duration-300 group-hover:translate-x-0 group-hover:opacity-100`,size:18})]),_:1}),i(o,{to:`/overview`,class:`index-btn-secondary inline-flex items-center justify-center gap-2 rounded-xl px-7 py-3.5 text-[0.9375rem] font-semibold no-underline backdrop-blur-sm transition-all duration-300 ease-out hover:-translate-y-0.5`},{default:a(()=>[s(`span`,null,l(c(v)(`overview`)),1)]),_:1})]),n[1]||=s(`div`,{class:`animate-fade-in-delayed-3 mt-12 inline-flex items-center gap-2 rounded-full bg-success/10 px-4 py-2 text-[0.8125rem] font-medium text-success`},[s(`span`,{class:`h-2 w-2 animate-pulse rounded-full bg-success`}),s(`span`,null,`Ready to connect`)],-1)])])}}}),[[`__scopeId`,`data-v-f7ee791f`]]);export{C as default}; \ No newline at end of file diff --git a/ru-vps/mihomo/config/ui/_nuxt/CJgAejf_.js b/ru-vps/mihomo/config/ui/_nuxt/CJgAejf_.js new file mode 100644 index 0000000..0f5a335 --- /dev/null +++ b/ru-vps/mihomo/config/ui/_nuxt/CJgAejf_.js @@ -0,0 +1 @@ +import{_ as e}from"./CaGtQlYh.js";import{Gt as t,It as n}from"#entry";import{c as r,f as i,g as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,s as p}from"./CIa-1CJu.js";var m=t(`config`,()=>{let t=n(`theme`,`sunset`),m=n(`autoSwitchTheme`,!1),h=n(`favDayTheme`,`nord`),g=n(`favNightTheme`,`sunset`),_=n(`proxiesPreviewType`,c.Auto),v=n(`proxiesPreviewAutoThreshold`,10),y=n(`proxiesOrderingType`,d.QUALITY_DESC),b=n(`proxiesDisplayMode`,i.CARD),x=n(`renderProxiesInTwoColumns`,!0),S=n(`proxiesCardSize`,s.COMFORTABLE),C=n(`stickyGroupHeader`,!0),w=n(`hideUnAvailableProxies`,!1),T=n(`urlForLatencyTest`,`https://www.gstatic.com/generate_204`),E=n(`autoCloseConns`,!0),D=n(`latencyTestTimeoutDuration`,5e3),O=n(`latencyMediumThreshold`,0),k=n(`latencyHighThreshold`,0),A=n(`iconHeight`,24),j=n(`iconMarginRight`,8),M=n(`autoSwitchEndpoint`,!1),N=n(`enableTwemoji`,!1),P=n(`sidebarExpanded`,!1),F=n(`useMobileBottomNav`,!0),I=n(`defaultPage`,`overview`),L=n(`connectionsTableSize`,a.XS),R=n(`connectionsTableColumnVisibility`,f),z=n(`connectionsTableColumnOrder`,l),B=n(`connectionsDisplayMode`,(()=>{if(localStorage.getItem(`connectionsDisplayMode`)!==null)return`auto`;let e=localStorage.getItem(`useMobileConnectionsTable`);if(e!==null){localStorage.removeItem(`useMobileConnectionsTable`);try{return JSON.parse(e)===!0?`table`:`auto`}catch{return`auto`}}return`auto`})()),V=n(`logsTableSize`,a.XS),H=n(`logLevel`,r.Info),U=n(`logMaxRows`,o),W=n(`quickFilterRegex`,`DIRECT|direct|dns-out`),G=n(`clientSourceIPTags`,[]),K=n(`showNetworkTopology`,!1),q=n(`enableDataUsageTracking`,!0),J=e(()=>T.value.startsWith(`https`));return{curTheme:t,autoSwitchTheme:m,favDayTheme:h,favNightTheme:g,proxiesPreviewType:_,proxiesPreviewAutoThreshold:v,proxiesOrderingType:y,proxiesDisplayMode:b,renderProxiesInTwoColumns:x,proxiesCardSize:S,stickyGroupHeader:C,hideUnAvailableProxies:w,urlForLatencyTest:T,autoCloseConns:E,latencyTestTimeoutDuration:D,latencyMediumThreshold:O,latencyHighThreshold:k,iconHeight:A,iconMarginRight:j,autoSwitchEndpoint:M,enableTwemoji:N,sidebarExpanded:P,useMobileBottomNav:F,defaultPage:I,connectionsTableSize:L,connectionsTableColumnVisibility:R,connectionsTableColumnOrder:z,connectionsDisplayMode:B,quickFilterRegex:W,logsTableSize:V,logLevel:H,logMaxRows:U,clientSourceIPTags:G,showNetworkTopology:K,enableDataUsageTracking:q,isLatencyTestByHttps:J,latencyQualityMap:e(()=>{let e=J.value?p:u,t=O.value>0?O.value:e.MEDIUM,n=k.value>0?k.value:e.HIGH;return{NOT_CONNECTED:e.NOT_CONNECTED,MEDIUM:t,HIGH:n}}),tableSizeClassName:e=>({[a.XS]:`table-xs`,[a.SM]:`table-sm`,[a.MD]:`table-md`,[a.LG]:`table-lg`})[e]||`table-xs`,resetProxiesSettings:()=>{_.value=c.Auto,y.value=d.QUALITY_DESC,b.value=i.CARD,x.value=!0,S.value=s.COMFORTABLE,C.value=!0,w.value=!1,T.value=`https://www.gstatic.com/generate_204`,E.value=!0,D.value=5e3,O.value=0,k.value=0,A.value=24,j.value=8},resetXdConfig:()=>{m.value=!1,M.value=!1,N.value=!1,F.value=!0,h.value=`nord`,g.value=`sunset`,t.value=`sunset`,I.value=`overview`,q.value=!0}}});export{m as t}; \ No newline at end of file diff --git a/ru-vps/mihomo/config/ui/_nuxt/CX_RojMw.js b/ru-vps/mihomo/config/ui/_nuxt/CX_RojMw.js new file mode 100644 index 0000000..2c1f7c0 --- /dev/null +++ b/ru-vps/mihomo/config/ui/_nuxt/CX_RojMw.js @@ -0,0 +1 @@ +import{D as e,H as t,J as n,K as r,_ as i,vt as a,x as o,xt as s,y as c}from"./CaGtQlYh.js";import{t as l}from"#entry";var u=[`type`,`disabled`],d={key:0,class:`loading loading-spinner`},f=Object.assign(l(e({__name:`Button`,props:{type:{default:`button`},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},icon:{},class:{}},emits:[`click`],setup(e){let l=e,f=i(()=>l.class||``),p=i(()=>f.value.includes(`btn-`));return(i,l)=>(t(),o(`button`,{type:e.type,class:s([`btn-press inline-flex items-center justify-center gap-2`,[a(p)&&`btn`,a(f),e.loading&&`btn-disabled cursor-wait`]]),disabled:e.disabled||e.loading,onClick:l[0]||=e=>i.$emit(`click`,e)},[e.loading?(t(),o(`div`,d)):e.icon?(t(),c(n(e.icon),{key:1})):r(i.$slots,`default`,{key:2},void 0,!0)],10,u))}}),[[`__scopeId`,`data-v-0e7be521`]]),{__name:`Button`});export{f as t}; \ No newline at end of file diff --git a/ru-vps/mihomo/config/ui/_nuxt/CaGtQlYh.js b/ru-vps/mihomo/config/ui/_nuxt/CaGtQlYh.js new file mode 100644 index 0000000..1b53d28 --- /dev/null +++ b/ru-vps/mihomo/config/ui/_nuxt/CaGtQlYh.js @@ -0,0 +1,3 @@ +import{n as e}from"./QTnfLwEv.js";function t(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var n={},r=[],i=()=>{},a=()=>!1,o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=e=>e.startsWith(`onUpdate:`),c=Object.assign,l=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},u=Object.prototype.hasOwnProperty,d=(e,t)=>u.call(e,t),f=Array.isArray,p=e=>C(e)===`[object Map]`,m=e=>C(e)===`[object Set]`,h=e=>C(e)===`[object Date]`,g=e=>C(e)===`[object RegExp]`,_=e=>typeof e==`function`,v=e=>typeof e==`string`,y=e=>typeof e==`symbol`,b=e=>typeof e==`object`&&!!e,x=e=>(b(e)||_(e))&&_(e.then)&&_(e.catch),S=Object.prototype.toString,C=e=>S.call(e),w=e=>C(e).slice(8,-1),T=e=>C(e)===`[object Object]`,E=e=>v(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,D=t(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),O=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ee=/-\w/g,k=O(e=>e.replace(ee,e=>e.slice(1).toUpperCase())),te=/\B([A-Z])/g,A=O(e=>e.replace(te,`-$1`).toLowerCase()),ne=O(e=>e.charAt(0).toUpperCase()+e.slice(1)),re=O(e=>e?`on${ne(e)}`:``),j=(e,t)=>!Object.is(e,t),ie=(e,...t)=>{for(let n=0;n{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=s(e),f=m(a(e),t,d,n,r,i,o);return f&&li(f)&&f.data===`]`?a(t.anchor=f):(ai(),l(t.anchor=u(`]`),d,f),f)},g=(e,t,r,i,o,l)=>{if(pi(e.parentElement,1)||ai(),t.el=null,l){let t=_(e);for(;;){let n=a(e);if(n&&n!==t)c(n);else break}}let u=a(e),d=s(e);return c(e),n(null,t,d,u,r,i,ci(d),o),r&&(r.vnode.el=t.el,no(r,t.el)),u},_=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&li(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},v=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[d,f]}var di=`data-allow-mismatch`,fi={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function pi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(di);)e=e.parentElement;let n=e&&e.getAttribute(di);if(n==null)return!1;if(n===``)return!0;{let e=n.split(`,`);return t===0&&e.includes(`children`)?!0:e.includes(fi[t])}}var mi=le().requestIdleCallback||(e=>setTimeout(e,1)),hi=le().cancelIdleCallback||(e=>clearTimeout(e)),gi=(e=1e4)=>t=>{let n=mi(t,{timeout:e});return()=>hi(n)};function _i(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t0&&r0&&n 0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))})),f=e(l(),1),p=e(u(),1),m=e(d(),1),h={latency:50,stability:30,successRate:20},g={good:80,medium:50};function _(e){let t=e.filter(e=>e!==null&&e>0);if(t.length===0)return 0;let n=t.reduce((e,t)=>e+t,0)/t.length;if(n<=50)return 100;if(n>=5e3)return 0;let r=Math.log(50),i=Math.log(5e3);return Math.round(100*(1-(Math.log(n)-r)/(i-r)))}function v(e){let t=e.filter(e=>e!==null&&e>0);if(t.length===0)return 0;if(t.length<2)return 50;let n=t.reduce((e,t)=>e+t,0)/t.length,r=t.map(e=>(e-n)**2).reduce((e,t)=>e+t,0)/t.length,i=Math.sqrt(r)/n;return i<=.1?100:i>=.5?0:Math.round(100*(1-(i-.1)/.4))}function y(e){if(e.length===0)return 0;let t=e.filter(e=>e.success).length;return Math.round(t/e.length*100)}function b(e,t=h){if(e.history.length===0)return 0;let n=e.history.map(e=>e.latency),r=_(n),i=v(n),a=y(e.history),o=t.latency+t.stability+t.successRate;if(o===0)return 0;let s=t.latency/o,c=t.stability/o,l=t.successRate/o,u=r*s+i*c+a*l;return Math.round(u)}function x(e){return e>=g.good?`text-success`:e>=g.medium?`text-warning`:`text-error`}function S(e){let t=Math.max(0,Math.floor((Date.now()-e)/1e3));return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}function C(e,t,n,r=h){let i=null,a=-1;for(let o of e){if(n.includes(o))continue;let e=t.get(o);if(!e||e.history.length===0)continue;let s=b(e,r);s>a&&(a=s,i=o)}return i}var w=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(l()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_zh_cn=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r={name:`zh-cn`,weekdays:`星期日_星期一_星期二_星期三_星期四_星期五_星期六`.split(`_`),weekdaysShort:`周日_周一_周二_周三_周四_周五_周六`.split(`_`),weekdaysMin:`日_一_二_三_四_五_六`.split(`_`),months:`一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月`.split(`_`),monthsShort:`1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月`.split(`_`),ordinal:function(e,t){return t===`W`?e+`周`:e+`日`},weekStart:1,yearStart:4,formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`YYYY/MM/DD`,LL:`YYYY年M月D日`,LLL:`YYYY年M月D日Ah点mm分`,LLLL:`YYYY年M月D日ddddAh点mm分`,l:`YYYY/M/D`,ll:`YYYY年M月D日`,lll:`YYYY年M月D日 HH:mm`,llll:`YYYY年M月D日dddd HH:mm`},relativeTime:{future:`%s内`,past:`%s前`,s:`几秒`,m:`1 分钟`,mm:`%d 分钟`,h:`1 小时`,hh:`%d 小时`,d:`1 天`,dd:`%d 天`,M:`1 个月`,MM:`%d 个月`,y:`1 年`,yy:`%d 年`},meridiem:function(e,t){var n=100*e+t;return n<600?`凌晨`:n<900?`早上`:n<1100?`上午`:n<1300?`中午`:n<1800?`下午`:`晚上`}};return n.default.locale(r,null,!0),r}))})),T=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(l()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_ru=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r=`января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря`.split(`_`),i=`январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь`.split(`_`),a=`янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.`.split(`_`),o=`янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.`.split(`_`),s=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function c(e,t,n){var r,i;return n===`m`?t?`минута`:`минуту`:e+` `+(r=+e,i={mm:t?`минута_минуты_минут`:`минуту_минуты_минут`,hh:`час_часа_часов`,dd:`день_дня_дней`,MM:`месяц_месяца_месяцев`,yy:`год_года_лет`}[n].split(`_`),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}var l=function(e,t){return s.test(t)?r[e.month()]:i[e.month()]};l.s=i,l.f=r;var u=function(e,t){return s.test(t)?a[e.month()]:o[e.month()]};u.s=o,u.f=a;var d={name:`ru`,weekdays:`воскресенье_понедельник_вторник_среда_четверг_пятница_суббота`.split(`_`),weekdaysShort:`вск_пнд_втр_срд_чтв_птн_сбт`.split(`_`),weekdaysMin:`вс_пн_вт_ср_чт_пт_сб`.split(`_`),months:l,monthsShort:u,weekStart:1,yearStart:4,formats:{LT:`H:mm`,LTS:`H:mm:ss`,L:`DD.MM.YYYY`,LL:`D MMMM YYYY г.`,LLL:`D MMMM YYYY г., H:mm`,LLLL:`dddd, D MMMM YYYY г., H:mm`},relativeTime:{future:`через %s`,past:`%s назад`,s:`несколько секунд`,m:c,mm:c,h:`час`,hh:c,d:`день`,dd:c,M:`месяц`,MM:c,y:`год`,yy:c},ordinal:function(e){return e},meridiem:function(e){return e<4?`ночи`:e<12?`утра`:e<17?`дня`:`вечера`}};return n.default.locale(d,null,!0),d}))}));w(),T(),f.default.extend(m.default),f.default.extend(p.default);var E=/^v/,D=/\+.*$/,O=/^\d+$/;function k(e,t){let n=e.split(`.`),r=t.split(`.`),i=Math.max(n.length,r.length);for(let e=0;e0?1:-1}else if(a!==o)return a?-1:1;else{let e=t.localeCompare(i);if(e!==0)return e>0?1:-1}}return 0}function A(e,t){let n=e=>{let t=e.replace(E,``).replace(D,``),n=t.indexOf(`-`),r=n===-1?t:t.slice(0,n),i=n===-1?null:t.slice(n+1);return{parts:r.split(`.`).map(e=>Number.parseInt(e,10)||0),prerelease:i}},r=n(e),i=n(t),a=Math.max(r.parts.length,i.parts.length);for(let e=0;en)return 1;if(t32))return a;if(r===41){if(o===0)break;o--}i++}return t===i||o!==0?a:(a.str=z(e.slice(t,i)),a.pos=i,a.ok=!0,a)}function At(e,t,n,r){let i,a=t,o={ok:!1,can_continue:!1,pos:0,str:``,marker:0};if(r)o.str=r.str,o.marker=r.marker;else{if(a>=n)return o;let r=e.charCodeAt(a);if(r!==34&&r!==39&&r!==40)return o;t++,a++,r===40&&(r=41),o.marker=r}for(;a`+B(a.content)+``},H.code_block=function(e,t,n,r,i){let a=e[t];return`
+`},H.fence=function(e,t,n,r,i){let a=e[t],o=a.info?z(a.info).trim():``,s=``,c=``;if(o){let e=o.split(/(\s+)/g);s=e[0],c=e.slice(2).join(``)}let l;if(l=n.highlight&&n.highlight(a.content,s,c)||B(a.content),l.indexOf(``+B(e[t].content)+`
\n`}return`${l}
\n`},H.image=function(e,t,n,r,i){let a=e[t];return a.attrs[a.attrIndex(`alt`)][1]=i.renderInlineAsText(a.children,n,r),i.renderToken(e,t,n)},H.hardbreak=function(e,t,n){return n.xhtmlOut?`${l}
+`:`
+`},H.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
+`:`
+`:`
+`},H.text=function(e,t){return B(e[t].content)},H.html_block=function(e,t){return e[t].content},H.html_inline=function(e,t){return e[t].content};function U(){this.rules=at({},H)}U.prototype.renderAttrs=function(e){let t,n,r;if(!e.attrs)return``;for(r=``,t=0,n=e.attrs.length;t=0;t--)e.tokens[t].type!==`inline`||!Yt.test(e.tokens[t].content)||en(e.tokens[t].children,e)}function nn(e){let t,n,r=e.tokens,i=r.length;for(let e=0;e0&&this.level++,this.tokens.push(r),r},K.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},K.prototype.skipEmptyLines=function(e){for(let t=this.lineMax;e