mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-09-13 20:04:23 +08:00
update 2026-09-04 23:37:45
This commit is contained in:
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#
|
||||
# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
|
||||
#
|
||||
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LUCI_TITLE:=iStoreRouter
|
||||
PKG_VERSION:=0.6.7
|
||||
LUCI_DEPENDS:=+luci-app-quickstart +luci-app-store +luci-lib-taskd
|
||||
LUCI_EXTRA_DEPENDS:=luci-lib-taskd (>=1.0.15)
|
||||
LUCI_MINIFY_CSS:=0
|
||||
LUCI_MINIFY_JS:=0
|
||||
|
||||
define Package/luci-app-istorerouter/conffiles
|
||||
/etc/config/istorerouter
|
||||
/www/luci-static/istorerouter/image/bg.gif
|
||||
endef
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
# call BuildPackage - OpenWrt buildroot signature
|
||||
@@ -0,0 +1,6 @@
|
||||
var p=(y,d,a)=>new Promise((i,n)=>{var s=o=>{try{c(a.next(o))}catch(e){n(e)}},f=o=>{try{c(a.throw(o))}catch(e){n(e)}},c=o=>o.done?i(o.value):Promise.resolve(o.value).then(s,f);c((a=a.apply(y,d)).next())});import{_ as w,d as x,r as b,x as E,P as F,o as _,c as m,f as r,h as g,F as k,e as L,t as h,g as B,w as D,Q as G,s as T,i as v,T as S}from"./index.js";const I=r("div",{class:"label-name"},[r("span",null,"\u9009\u62E9\u8F6F\u4EF6\u6E90 ")],-1),C={class:"label-value"},V={class:"label-flex"},N=["value"],M={class:"label-btns"},P=["disabled"],j={key:0,class:"label-msg"},q=x({__name:"index",setup(y){return p(this,null,function*(){let d,a;const i=b(!1),n=b(""),s=E({softsourceListIfo:[],softSource:{},currSoftSource:{}}),f=()=>p(this,null,function*(){var o,e,u;try{const t=yield v.Guide.SoftSourceList.GET();if((o=t==null?void 0:t.data)!=null&&o.result){const l=(e=t==null?void 0:t.data)==null?void 0:e.result;s.softsourceListIfo=l.softSourceList||[]}}catch(t){console.log(t)}try{const t=yield v.Guide.GetSoftSource.GET();if((u=t==null?void 0:t.data)!=null&&u.result){const l=t.data.result;s.softSource=l.softSource,s.currSoftSource=l.softSource}}catch(t){console.log(t)}});[d,a]=F(()=>f()),yield d,a();const c=()=>p(this,null,function*(){const o=S.Loading("\u6B63\u5728\u5207\u6362\u4E2D...");i.value=!0;try{const e=yield v.Guide.SoftSource.POST({softSourceIdentity:s.softSource.identity});if(e!=null&&e.data){const{result:u,error:t,success:l}=e.data;t&&S.Warning(t),(e.data.success||0)==0&&(S.Success("\u5207\u6362\u6210\u529F"),yield f())}}catch(e){S.Error(`${e}`)}finally{i.value=!1,o.Close()}});return(o,e)=>(_(),m("form",{class:"form-container",onSubmit:B(c,["prevent"])},[I,r("div",C,[g(` <select v-model="opkg.softSource.identity">
|
||||
<option value="">\u8BF7\u9009\u62E9\u8F6F\u4EF6\u6E90</option>
|
||||
<option v-for="item in opkg.softsourceListIfo" :value="item.identity">
|
||||
{{ item.name }}
|
||||
</option>
|
||||
</select> `),(_(!0),m(k,null,L(s.softsourceListIfo,u=>(_(),m("label",V,[D(r("input",{type:"radio",value:u.identity,"onUpdate:modelValue":e[0]||(e[0]=t=>s.softSource.identity=t)},null,8,N),[[G,s.softSource.identity,void 0,{trim:!0}]]),T(" "+h(u.name),1)]))),256))]),r("div",M,[r("button",{class:"sumbit",disabled:i.value},"\u4FDD\u5B58",8,P)]),n.value?(_(),m("div",j,[r("span",null,h(n.value),1)])):g("v-if",!0)],32))})}});var Q=w(q,[]);export{Q as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
var p=(D,c,d)=>new Promise((l,e)=>{var u=o=>{try{r(d.next(o))}catch(a){e(a)}},i=o=>{try{r(d.throw(o))}catch(a){e(a)}},r=o=>o.done?l(o.value):Promise.resolve(o.value).then(u,i);r((d=d.apply(D,c)).next())});import{_ as x,d as y,r as h,x as F,P,o as m,c as _,f as n,w as v,y as k,F as N,j as g,h as I,t as S,g as B,i as w,T as E}from"./index.js";const C=n("div",{class:"label-name"},[n("span",null,"DNS\u9009\u9879")],-1),A={class:"label-value"},T=n("option",{value:"auto"},"\u4F7F\u7528\u8FD0\u8425\u5546\u63D0\u4F9B\u7684DNS",-1),V=n("option",{value:"manual"},"\u81EA\u5B9A\u4E49DNS",-1),G=[T,V],M=n("div",{class:"label-name"},[n("span",null,"DNS\u670D\u52A1\u5668\u5730\u5740")],-1),U={class:"label-value"},j=n("div",{class:"label-name"}," \u5907\u7528DNS\u670D\u52A1\u5668\u5730\u5740 ",-1),q={class:"label-value"},L={class:"label-btns"},O=["disabled"],z={key:1,class:"label-msg"},H=y({__name:"index",setup(D){return p(this,null,function*(){let c,d;const l=h(""),e=F({interfaceName:"",dnsProto:"auto",manualDnsIp:[]}),u=F({dns1:"",dns2:""}),i=h(!1),r=()=>p(this,null,function*(){i.value=!0;try{const a=yield w.Guide.DnsConfig.GET();if(a!=null&&a.data){const{result:t}=a.data;if(t){e.dnsProto=t.dnsProto,e.manualDnsIp=t.manualDnsIp||[];for(let s=0;s<e.manualDnsIp.length;s++){s==0?u.dns1=e.manualDnsIp[s]:s==1&&(u.dns2=e.manualDnsIp[s]);break}}}}catch(a){l.value=a}i.value=!1});[c,d]=P(()=>r()),yield c,d();const o=()=>p(this,null,function*(){let a={};switch(e.dnsProto){case"auto":break;case"manual":a.manualDnsIp=[],e.manualDnsIp!=null&&e.manualDnsIp.length>0?a.manualDnsIp=e.manualDnsIp:(a.manualDnsIp.push(u.dns1),u.dns2&&a.manualDnsIp.push(u.dns2));break}a.dnsProto=e.dnsProto,a.interfaceName=e.interfaceName;const t=E.Loading("\u914D\u7F6E\u4E2D...");try{const s=yield w.Guide.DnsConfig.POST(a);if(s!=null&&s.data){const{success:f,error:b}=s==null?void 0:s.data;b&&(l.value=b),(f==null||f==0)&&(l.value="\u914D\u7F6E\u6210\u529F")}}catch(s){l.value=s}t.Close()});return(a,t)=>(m(),_("form",{class:"form-container",onSubmit:B(o,["prevent"])},[C,n("div",A,[v(n("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>e.dnsProto=s)},[...G],512),[[k,e.dnsProto]])]),e.dnsProto=="manual"?(m(),_(N,{key:0},[M,n("div",U,[v(n("input",{type:"text",placeholder:"\u8BF7\u8F93\u5165 dns \u5730\u5740","onUpdate:modelValue":t[1]||(t[1]=s=>u.dns1=s),required:""},null,512),[[g,u.dns1,void 0,{trim:!0}]])]),j,n("div",q,[v(n("input",{type:"text",placeholder:"\u8BF7\u8F93\u5165\u5907\u7528 dns \u5730\u5740","onUpdate:modelValue":t[2]||(t[2]=s=>u.dns2=s)},null,512),[[g,u.dns2,void 0,{trim:!0}]])])],64)):I("v-if",!0),n("div",L,[n("button",{class:"sumbit",disabled:i.value},"\u4FDD\u5B58",8,O)]),l.value?(m(),_("div",z,[n("span",null,S(l.value),1)])):I("v-if",!0)],32))})}});var Q=x(H,[]);export{Q as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{_ as o,d as r,E as e,o as u,A as i,B as c,Y as t,G as l}from"./index.js";const p=r({__name:"index",setup(_){const a=[{name:"disk",title:"\u6211\u7684\u78C1\u76D8",path:"/router/disk"},{name:"disk-raid",title:"\u78C1\u76D8\u9635\u5217",fn:()=>{t({full:!1,title:"\u78C1\u76D8\u9635\u5217",src:"/cgi-bin/luci/admin/nas/raid"})}},{name:"disk-smart",title:"S.M.A.R.T",fn:()=>{t({full:!1,title:"S.M.A.R.T",src:"/cgi-bin/luci/admin/nas/smart"})}}];return(d,m)=>{const s=e("router-loading"),n=e("layout-page");return u(),i(n,{menus:a},{default:c(()=>[l(s)]),_:1})}}});var k=o(p,[]);export{k as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
var m=(r,v,l)=>new Promise((i,_)=>{var F=a=>{try{c(l.next(a))}catch(u){_(u)}},h=a=>{try{c(l.throw(a))}catch(u){_(u)}},c=a=>a.done?i(a.value):Promise.resolve(a.value).then(F,h);c((l=l.apply(r,v)).next())});import{_ as C,d as y,x as k,P as E,a as x,o as n,c as o,f as e,t as d,F as A,a4 as S,a5 as B,p as b,q as w,i as N}from"./index.js";const D=r=>(b("data-v-647a938c"),r=r(),w(),r),$={id:"page",class:"page-container"},I=D(()=>e("div",{class:"notice_info"},[e("li",null," \u52A8\u6001 DNS \uFF08DDNS\uFF09\u8BA9\u60A8\u5373\u4F7F\u5728\u6CA1\u6709\u9759\u6001 IP \u5730\u5740\u7684\u60C5\u51B5\u4E0B\uFF0C\u4ECD\u53EF\u5C06\u670D\u52A1\u5668\u8FDE\u540C\u7ED1\u5B9A\u7684\u57DF\u540D\u6620\u5C04\u81F3\u516C\u7F51\u4E0A\u3002 "),e("li",null," \u5982\u679C\u60A8\u6CA1\u6709\u516C\u7F51 IP \u8BF7\u4F7F\u7528 DDNSTO \uFF0C\u521D\u6B21\u4F7F\u7528 DDNSTO \u9700\u8981\u521D\u59CB\u5316\u914D\u7F6E ")],-1)),P={class:"text-container"},T={class:"text-container_item"},O=D(()=>e("div",{class:"text-container_item_title"},[e("span",null,"DDNSTO\uFF1A")],-1)),q={class:"text-container_item_flex"},G={class:"text-container_item_block"},j=["href"],V={key:0,class:"domain"},z={key:1,class:"domain"},H={class:"text-container_item"},J=D(()=>e("div",{class:"text-container_item_title"},[e("span",null,"myddns_ipv4\uFF1A")],-1)),K={class:"text-container_item_flex"},L={class:"text-container_item_block"},M=["href"],Q={key:1,class:"domain"},R={class:"text-container_item"},U=D(()=>e("div",{class:"text-container_item_title"},[e("span",null,"myddns_ipv6\uFF1A")],-1)),W={class:"text-container_item_flex"},X={class:"text-container_item_block"},Y=["href"],Z={key:1,class:"domain"},tt=y({__name:"index",setup(r){return m(this,null,function*(){let v,l;k({ipv4:"",ipv6:""});const i=k({ddnstoDomain:"",ipv4Domain:"",ipv6Domain:""}),_=k({install:!0,error:null}),F=()=>m(this,null,function*(){yield Promise.all([h()])}),h=()=>m(this,null,function*(){try{const t=yield N.Guide.Ddns.GET(),{result:s,error:p}=t.data;if(p)throw p;s&&(i.ddnstoDomain=s.ddnstoDomain,i.ipv4Domain=s.ipv4Domain,i.ipv6Domain=s.ipv6Domain)}catch(t){console.log(t)}});[v,l]=E(()=>F()),yield v,l();const c=x(()=>i.ddnstoDomain),a=x(()=>{const t=i.ipv4Domain;return t!=null&&t!=""&&t!="Stopped"?{url:`http://${t}`,title:t,ok:!0}:{url:`http://${t}`,title:"\u672A\u914D\u7F6E",ok:!1}}),u=x(()=>{const t=i.ipv6Domain;return t!=null&&t!=""&&t!="Stopped"?{url:`http://${t}`,title:t,ok:!0}:{url:`http://${t}`,title:"\u672A\u914D\u7F6E",ok:!1}}),g=()=>{S({domain:c.value,callback:t=>{}})},f=t=>{B({setup:t,callback:s=>{switch(t){case"ipv4":i.ipv4Domain=s.domain;break;case"ipv6":i.ipv6Domain=s.domain;break}}})};return(t,s)=>(n(),o("div",$,[I,e("div",P,[e("div",T,[O,e("div",q,[e("div",G,[_.install?(n(),o("a",{key:0,href:c.value,target:"_blank",class:"domain"},d(c.value),9,j)):(n(),o(A,{key:1},[_.error?(n(),o("a",V,d(_.error),1)):(n(),o("a",z,"\u672A\u5B89\u88C5"))],64)),e("a",{class:"setting",onClick:s[0]||(s[0]=p=>g())},"\u5FEB\u901F\u914D\u7F6E")])])]),e("div",H,[J,e("div",K,[e("div",L,[a.value.ok?(n(),o("a",{key:0,href:a.value.url,target:"_blank",class:"domain"},d(a.value.title),9,M)):(n(),o("a",Q,d(a.value.title),1)),e("a",{class:"setting",onClick:s[1]||(s[1]=p=>f("ipv4"))},"\u5FEB\u901F\u914D\u7F6E")])])]),e("div",R,[U,e("div",W,[e("div",X,[u.value.ok?(n(),o("a",{key:0,href:u.value.url,target:"_blank",class:"domain"},d(u.value.title),9,Y)):(n(),o("a",Z,d(u.value.title),1)),e("a",{class:"setting",onClick:s[2]||(s[2]=p=>f("ipv6"))},"\u5FEB\u901F\u914D\u7F6E")])])])])]))})}});var at=C(tt,[["__scopeId","data-v-647a938c"]]);export{at as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{d as p,r as _,m as f,o as t,A as v,B as m,H as g,_ as y,c as s,h as l,f as a,t as h,G as b,I as C,J as k,K as x}from"./index.js";const w={key:0,id:"app-dialog"},B={key:0,class:"app-dialog_bg"},V={key:0,class:"app-dialog_header"},S={class:"app-dialog_body"},I=p({__name:"index",props:{title:{type:String},bg:{type:Boolean,default:!0},width:{type:String},beforeClose:{type:Function}},emits:["change","update:modelValue","handleClose"],setup(e,{emit:r}){const n=e,o=_(!1),i=r,c=()=>{n.beforeClose&&n.beforeClose()===!1||(o.value=!1,i("update:modelValue",!1),i("handleClose"))};return f(()=>{o.value=!0}),(u,d)=>(t(),v(g,{name:"dialog1"},{default:m(()=>[o.value?(t(),s("div",w,[e.bg?(t(),s("div",B)):l("v-if",!0),a("div",{class:"app-dialog_container",style:x({width:e.width})},[e.title!==void 0?(t(),s("div",V,[a("span",null,h(e.title),1),a("button",{class:"close",onClick:d[0]||(d[0]=N=>c())},[b(C)])])):l("v-if",!0),a("div",S,[k(u.$slots,"default",{},void 0,!0)])],4)])):l("v-if",!0)]),_:3}))}});var j=y(I,[["__scopeId","data-v-c4ccf04a"]]);export{j as d};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
var r=(c,m,i)=>new Promise((E,t)=>{var n=l=>{try{o(i.next(l))}catch(v){t(v)}},s=l=>{try{o(i.throw(l))}catch(v){t(v)}},o=l=>l.done?E(l.value):Promise.resolve(l.value).then(n,s);o((i=i.apply(c,m)).next())});import{_ as V,d as T,D as I,r as f,x as k,P as M,o as w,c as b,f as u,w as _,Q as h,s as D,j as x,h as y,t as U,g as q,p as G,q as N,i as B,T as A}from"./index.js";const p=c=>(G("data-v-ed7c3c9c"),c=c(),N(),c),j=p(()=>u("p",null,[D(" \u6B22\u8FCE\u4F7F\u7528\u5FEB\u901F\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC\uFF0C\u8BF7\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB\u8054\u7F51\uFF0C\u6216\u4F7F\u7528\u5DE6\u4FA7\u83DC\u5355\u8FDB\u884C\u8054\u7F51\u914D\u7F6E "),u("br"),D(" \u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528 "),u("a",{href:"/cgi-bin/luci/admin/network/network",target:"_blank"},"\u9AD8\u7EA7\u6A21\u5F0F")],-1)),L=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8054\u7F51\u65B9\u5F0F")],-1)),O={class:"label-value"},Q={class:"label-flex"},R={style:{display:"none"}},z={key:0,class:"ul-container"},H=p(()=>u("div",{class:"ul-container_title"},[u("span",null,"\u62E8\u53F7\u8054\u7F51\u914D\u7F6E")],-1)),J=p(()=>u("div",{class:"label-value"},null,-1)),K=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8D26\u53F7")],-1)),W={class:"label-value"},X=p(()=>u("div",{class:"label-name"},[u("span",null,"\u5BC6\u7801")],-1)),Y={class:"label-value"},Z={key:1,class:"label-btns"},$=["disabled"],uu={key:2,class:"label-msg"},eu=T({__name:"index",setup(c){return r(this,null,function*(){let m,i;const E=I(),t=f(""),n=f(!1),s=f(""),o=k({account:"",password:""}),l=k({wanProto:"dhcp",dnsProto:"auto",staticIp:"",subnetMask:"",manualDnsIp:[],gateway:""}),v=()=>r(this,null,function*(){n.value=!0;try{const d=yield B.Guide.Pppoe.GET(),{result:e}=d.data;e&&(o.account=e.account||"",o.password=e.password||"")}catch(d){s.value=d}t.value=yield E.getAsyncNetworkProto,n.value=!1});[m,i]=M(()=>v()),yield m,i();const g=()=>r(this,null,function*(){switch(t.value){case"pppoe":yield P();break;case"dhcp":yield S();break;default:s.value="\u627E\u4E0D\u5230\u4F60\u8981\u7684\u914D\u7F6E";break}}),P=()=>r(this,null,function*(){if(o.account==""){s.value="\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A";return}if(o.password==""){s.value="\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A";return}n.value=!0;const d=A.Loading("\u4FDD\u5B58\u4E2D...");try{const e=yield B.Guide.Pppoe.POST({account:o.account,password:o.password});if(e.data){const{error:a,success:F}=e.data;a&&(s.value=a),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(e){s.value=e}finally{}n.value=!1,d.Close()}),S=()=>r(this,null,function*(){const d={wanProto:l.wanProto,dnsProto:l.dnsProto};n.value=!0;const e=A.Loading("\u4FDD\u5B58\u4E2D...");try{const a=yield B.Guide.ClientModel.POST(d);if(a!=null&&a.data){const{success:F,error:C}=a==null?void 0:a.data;C&&(s.value=C),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(a){s.value=a}n.value=!1,e.Close()});return(d,e)=>(w(),b("form",{class:"form-container",onSubmit:q(g,["prevent"])},[j,L,u("div",O,[u("div",Q,[u("label",null,[_(u("input",{type:"radio",value:"pppoe","onUpdate:modelValue":e[0]||(e[0]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u8D26\u53F7\u5BC6\u7801")]),u("label",null,[_(u("input",{type:"radio",value:"dhcp","onUpdate:modelValue":e[1]||(e[1]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u81EA\u52A8\u8054\u7F51")]),u("label",R,[_(u("input",{type:"radio",value:"static",hidden:"true","onUpdate:modelValue":e[2]||(e[2]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u7F51\u5173\u8054\u7F51")])])]),t.value=="pppoe"?(w(),b("ul",z,[H,J,K,u("div",W,[_(u("input",{type:"text",placeholder:"\u5BBD\u5E26\u8D26\u53F7","onUpdate:modelValue":e[3]||(e[3]=a=>o.account=a),required:""},null,512),[[x,o.account,void 0,{trim:!0}]])]),X,u("div",Y,[_(u("input",{type:"password",placeholder:"\u5BBD\u5E26\u5BC6\u7801","onUpdate:modelValue":e[4]||(e[4]=a=>o.password=a),required:""},null,512),[[x,o.password,void 0,{trim:!0}]])])])):y("v-if",!0),t.value=="pppoe"||t.value=="dhcp"?(w(),b("div",Z,[u("button",{class:"sumbit",disabled:n.value},"\u4FDD\u5B58",8,$)])):y("v-if",!0),s.value?(w(),b("div",uu,[u("span",null,U(s.value),1)])):y("v-if",!0)],32))})}});var su=V(eu,[["__scopeId","data-v-ed7c3c9c"]]);export{su as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
var c=(d,b,r)=>new Promise((E,t)=>{var n=l=>{try{o(r.next(l))}catch(v){t(v)}},s=l=>{try{o(r.throw(l))}catch(v){t(v)}},o=l=>l.done?E(l.value):Promise.resolve(l.value).then(n,s);o((r=r.apply(d,b)).next())});import{_ as V,d as T,D as I,r as f,x as A,P as M,o as m,c as w,f as u,w as _,Q as h,s as D,j as k,h as y,t as U,g as q,p as G,q as N,i as B,T as x}from"./index.js";const p=d=>(G("data-v-0b184c1c"),d=d(),N(),d),j=p(()=>u("p",null,[D(" \u6B22\u8FCE\u4F7F\u7528\u5FEB\u901F\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC\uFF0C\u8BF7\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB\u8054\u7F51\uFF0C\u6216\u4F7F\u7528\u5DE6\u4FA7\u83DC\u5355\u8FDB\u884C\u8054\u7F51\u914D\u7F6E "),u("br"),D(" \u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528 "),u("a",{href:"/cgi-bin/luci/admin/network/network",target:"_blank"},"\u9AD8\u7EA7\u6A21\u5F0F")],-1)),L=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8054\u7F51\u65B9\u5F0F")],-1)),O={class:"label-value"},Q={class:"label-flex"},R={style:{display:"none"}},z={key:0,class:"ul-container"},H=p(()=>u("div",{class:"ul-container_title"},[u("span",null,"\u62E8\u53F7\u8054\u7F51\u914D\u7F6E")],-1)),J=p(()=>u("div",{class:"label-value"},null,-1)),K=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8D26\u53F7")],-1)),W={class:"label-value"},X=p(()=>u("div",{class:"label-name"},[u("span",null,"\u5BC6\u7801")],-1)),Y={class:"label-value"},Z={key:1,class:"label-btns"},$=["disabled"],uu={key:2,class:"label-msg"},eu=T({__name:"index",setup(d){return c(this,null,function*(){let b,r;const E=I(),t=f(""),n=f(!1),s=f(""),o=A({account:"",password:""}),l=A({wanProto:"dhcp",dnsProto:"auto",staticIp:"",subnetMask:"",manualDnsIp:[],gateway:""}),v=()=>c(this,null,function*(){n.value=!0;try{const i=yield B.Guide.Pppoe.GET(),{result:e}=i.data;e&&(o.account=e.account||"",o.password=e.password||"")}catch(i){s.value=i}t.value=yield E.getAsyncNetworkProto,n.value=!1});[b,r]=M(()=>v()),yield b,r();const g=()=>c(this,null,function*(){switch(t.value){case"pppoe":yield P();break;case"dhcp":yield S();break;default:s.value="\u627E\u4E0D\u5230\u4F60\u8981\u7684\u914D\u7F6E";break}}),P=()=>c(this,null,function*(){if(o.account==""){s.value="\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A";return}if(o.password==""){s.value="\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A";return}n.value=!0;const i=x.Loading("\u4FDD\u5B58\u4E2D...");try{const e=yield B.Guide.Pppoe.POST({account:o.account,password:o.password});if(e.data){const{error:a,success:F}=e.data;a&&(s.value=a),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(e){s.value=e}finally{}n.value=!1,i.Close()}),S=()=>c(this,null,function*(){const i={wanProto:l.wanProto,dnsProto:l.dnsProto};n.value=!0;const e=x.Loading("\u4FDD\u5B58\u4E2D...");try{const a=yield B.Guide.ClientModel.POST(i);if(a!=null&&a.data){const{success:F,error:C}=a==null?void 0:a.data;C&&(s.value=C),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(a){s.value=a}n.value=!1,e.Close()});return(i,e)=>(m(),w("form",{class:"form-container",onSubmit:q(g,["prevent"])},[j,L,u("div",O,[u("div",Q,[u("label",null,[_(u("input",{type:"radio",value:"pppoe","onUpdate:modelValue":e[0]||(e[0]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u8D26\u53F7\u5BC6\u7801")]),u("label",null,[_(u("input",{type:"radio",value:"dhcp","onUpdate:modelValue":e[1]||(e[1]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u81EA\u52A8\u8054\u7F51")]),u("label",R,[_(u("input",{type:"radio",value:"static",hidden:"true","onUpdate:modelValue":e[2]||(e[2]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u7F51\u5173\u8054\u7F51")])])]),t.value=="pppoe"?(m(),w("ul",z,[H,J,K,u("div",W,[_(u("input",{type:"text",placeholder:"\u5BBD\u5E26\u8D26\u53F7","onUpdate:modelValue":e[3]||(e[3]=a=>o.account=a),required:""},null,512),[[k,o.account,void 0,{trim:!0}]])]),X,u("div",Y,[_(u("input",{type:"password",placeholder:"\u5BBD\u5E26\u5BC6\u7801","onUpdate:modelValue":e[4]||(e[4]=a=>o.password=a),required:""},null,512),[[k,o.password,void 0,{trim:!0}]])])])):y("v-if",!0),t.value=="pppoe"||t.value=="dhcp"?(m(),w("div",Z,[u("button",{class:"sumbit",disabled:n.value},"\u4FDD\u5B58",8,$)])):y("v-if",!0),s.value?(m(),w("div",uu,[u("span",null,U(s.value),1)])):y("v-if",!0)],32))})}});var su=V(eu,[["__scopeId","data-v-0b184c1c"]]);export{su as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as r,d as a,E as e,o as u,A as p,B as s,G as i}from"./index.js";const c=a({__name:"index",setup(_){const t=[{name:"index",title:"\u7F51\u7EDC\u914D\u7F6E",path:"/router/network"},{name:"pppoe",title:"\u62E8\u53F7\u8FDE\u63A5",path:"/router/network/pppoe"},{name:"dhcp",title:"DHCP\u8FDE\u63A5",path:"/router/network/dhcp"},{name:"gateway",title:"\u65C1\u8DEF\u7531\u8FDE\u63A5",path:"/router/network/gateway"},{name:"intranet",title:"\u5185\u7F51\u914D\u7F6E",path:"/router/network/intranet"},{name:"dns",title:"DNS\u914D\u7F6E",path:"/router/network/dns"}];return(l,d)=>{const o=e("router-loading"),n=e("layout-page");return u(),p(n,{menus:t},{default:s(()=>[i(o)]),_:1})}}});var w=r(c,[]);export{w as default};
|
||||
@@ -0,0 +1,48 @@
|
||||
import{_ as r,d as u,D as i,a as d,r as h,o as t,c as e,f as n,h as s,F as p,e as _,t as a}from"./index.js";const v={class:"ul-container"},m={class:"ul-container_body"},b={class:"page-table"},f=n("colgroup",null,[n("col"),n("col"),n("col"),n("col")],-1),g=n("thead",null,[n("tr",null,[n("th",null,"Mac"),n("th",null,"IPv4"),n("th",null,"IPv6"),n("th")])],-1),k=n("th",null,null,-1),x=n("th",null,null,-1),B=u({__name:"index",setup(y){const o=i(),c=d(()=>o.device.devices);return h(),(P,C)=>(t(),e("main",null,[n("ul",v,[s(` <div class="ul-container_title">
|
||||
<span>DHCP\u8BBE\u5907</span>
|
||||
</div> `),n("div",m,[n("table",b,[f,g,n("tbody",null,[(t(!0),e(p,null,_(c.value,l=>(t(),e("tr",null,[n("th",null,a(l.mac),1),n("th",null,a(l.ipv4addr),1),k,x]))),256))])])])]),s(` <ul class="ul-container">
|
||||
<div class="ul-container_title">
|
||||
<span>\u5C40\u57DF\u7F51\u8BBE\u5907</span>
|
||||
</div>
|
||||
<div class="ul-container_body">
|
||||
<table class="page-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Mac</th>
|
||||
<th>IPv4</th>
|
||||
<th>IPv6</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(k, mac) in hosts">
|
||||
<tr>
|
||||
<th>
|
||||
{{ mac }}
|
||||
</th>
|
||||
<th>
|
||||
<span v-for="item in k.ipaddrs">
|
||||
{{ item }}
|
||||
<br>
|
||||
</span>
|
||||
</th>
|
||||
<th>
|
||||
<span v-for="item in k.ip6addrs">
|
||||
{{ item }}
|
||||
<br>
|
||||
</span>
|
||||
</th>
|
||||
|
||||
<th></th>
|
||||
</tr>
|
||||
</template>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</ul> `)]))}});var F=r(B,[]);export{F as default};
|
||||
@@ -0,0 +1 @@
|
||||
var d=(_,c,l)=>new Promise((t,e)=>{var n=o=>{try{i(l.next(o))}catch(u){e(u)}},p=o=>{try{i(l.throw(o))}catch(u){e(u)}},i=o=>o.done?t(o.value):Promise.resolve(o.value).then(n,p);i((l=l.apply(_,c)).next())});import{_ as E,d as h,r as v,x as F,P as y,o as m,c as D,f as a,w,j as b,t as x,h as A,g as C,i as B,T as g}from"./index.js";const k=a("div",{class:"label-info"}," \u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u8DEF\u7531 WAN \u53E3\u8FDE\u63A5\u5230\u5149\u732B ",-1),T=a("div",{class:"label-name"},[a("span",null,"\u8D26\u53F7")],-1),P={class:"label-value"},S=a("div",{class:"label-name"},[a("span",null,"\u5BC6\u7801")],-1),V={class:"label-value"},q={class:"label-btns"},G=["disabled"],N={key:0,class:"label-msg"},j=h({__name:"index",setup(_){return d(this,null,function*(){let c,l;const t=v(""),e=F({account:"",password:""}),n=v(!1),p=v(!1),i=()=>d(this,null,function*(){n.value=!0;try{const u=yield B.Guide.Pppoe.GET(),{result:s}=u.data;s&&(e.account=s.account||"",e.password=s.password||"")}catch(u){t.value=u}finally{}n.value=!1,p.value=!0});[c,l]=y(()=>i()),yield c,l();const o=()=>d(this,null,function*(){if(e.account==""){t.value="\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A";return}if(e.password==""){t.value="\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A";return}n.value=!0;const u=g.Loading("\u4FDD\u5B58\u4E2D...");try{const s=yield B.Guide.Pppoe.POST({account:e.account,password:e.password});if(s.data){const{error:r,success:f}=s.data;r&&(t.value=r),(f==null||f==0)&&(t.value="\u914D\u7F6E\u5B8C\u6210")}}catch(s){t.value=s}finally{}n.value=!1,u.Close()});return(u,s)=>(m(),D("form",{class:"form-container",onSubmit:C(o,["prevent"])},[k,T,a("div",P,[w(a("input",{type:"text",placeholder:"\u5BBD\u5E26\u8D26\u53F7","onUpdate:modelValue":s[0]||(s[0]=r=>e.account=r),required:""},null,512),[[b,e.account,void 0,{trim:!0}]])]),S,a("div",V,[w(a("input",{type:"password",placeholder:"\u5BBD\u5E26\u5BC6\u7801","onUpdate:modelValue":s[1]||(s[1]=r=>e.password=r),required:""},null,512),[[b,e.password,void 0,{trim:!0}]])]),a("div",q,[a("button",{class:"sumbit",disabled:n.value},"\u4FDD\u5B58",8,G)]),t.value?(m(),D("div",N,[a("span",null,x(t.value),1)])):A("v-if",!0)],32))})}});var L=E(j,[]);export{L as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as n,d as p,$ as l,a as o,E as a,o as i,A as c,B as d,a0 as m,G as _}from"./index.js";const E=p({__name:"index",setup(b){const e=l(),t=o(()=>m(e.localApps||[],e.remoteApps||[],e.appsExpand,{tab:"all"})),u=o(()=>[{name:"istore-store",title:"\u5E94\u7528\u5546\u5E97",path:"/router/istore"},{name:"istore-installed",title:`\u5DF2\u5B89\u88C5 (${t.value.counts.installed})`,path:"/router/istore/installed"},{name:"istore-upgradable",title:`\u53EF\u5347\u7EA7 (${t.value.counts.upgradable})`,path:"/router/istore/upgradable"},{name:"istore-upload",title:"\u79BB\u7EBF\u5B89\u88C5",path:"/router/istore/upload"},{name:"istore-backup",title:"\u5907\u4EFD\u6062\u590D",path:"/router/istore/backup"},{name:"istore-source",title:"\u8F6F\u4EF6\u6E90",path:"/router/istore/source"}]);return(h,x)=>{const r=a("router-loading"),s=a("layout-page");return i(),c(s,{menus:u.value},{default:d(()=>[_(r)]),_:1},8,["menus"])}}});var g=n(E,[]);export{g as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{_ as o,E as r,o as n,c as t,G as s}from"./index.js";const a={},c={id:"page",class:"page-container"};function _(i,p){const e=r("router-loading");return n(),t("div",c,[s(e)])}var l=o(a,[["render",_]]);export{l as default};
|
||||
@@ -0,0 +1 @@
|
||||
var h=Object.defineProperty;var F=Object.getOwnPropertySymbols;var C=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var v=(l,s,u)=>s in l?h(l,s,{enumerable:!0,configurable:!0,writable:!0,value:u}):l[s]=u,b=(l,s)=>{for(var u in s||(s={}))C.call(s,u)&&v(l,u,s[u]);if(F)for(var u of F(s))x.call(s,u)&&v(l,u,s[u]);return l};var E=(l,s,u)=>new Promise((c,d)=>{var r=n=>{try{a(u.next(n))}catch(o){d(o)}},t=n=>{try{a(u.throw(n))}catch(o){d(o)}},a=n=>n.done?c(n.value):Promise.resolve(n.value).then(r,t);a((u=u.apply(l,s)).next())});import{_ as y,d as A,r as D,x as w,o as m,c as _,f as e,w as i,j as p,Q as B,s as f,t as g,h as V,g as k,R as I,T as M,i as N}from"./index.js";const P=I('<div class="label-info"> \u65C1\u8DEF\u7531\u6A21\u5F0F\uFF0C\u4E5F\u53EB\u5355\u81C2\u8DEF\u7531\u6A21\u5F0F\u3002\u60A8\u53EF\u4EE5\u7528\u4E0A\u4E00\u7EA7\u8DEF\u7531\u62E8\u53F7\uFF0C\u7136\u540E\u7531\u8BE5\u8BBE\u5907\u6765\u5B9E\u73B0\u4E00\u4E9B\u9AD8\u7EA7\u529F\u80FD\u3002 </div><div class="label-name"><span>LAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F</span></div><div class="label-value"><select disabled><option> \u65C1\u8DEF\u7531\u6A21\u5F0F\u4EC5\u652F\u6301\u9759\u6001IP\u5730\u5740 </option></select></div><div class="label-name"><span>IP \u5730\u5740\uFF08\u8BF7\u548C\u4E0A\u4E00\u6B65\u8BB0\u5F55\u7684\u4E3B\u8DEF\u7531\u5730\u5740\u5728\u540C\u4E00\u7F51\u6BB5\uFF09</span></div>',4),S={class:"label-value"},U=e("div",{class:"label-name"},[e("span",null,"\u5B50\u7F51\u63A9\u7801")],-1),q={class:"label-value"},L=e("div",{class:"label-name"},[e("span",null,"\u7F51\u5173\u5730\u5740")],-1),T={class:"label-value"},H=e("div",{class:"label-name"},[e("span",null,"DNS\u670D\u52A1\u5668")],-1),R={class:"label-value"},j=e("div",{class:"label-name"},[e("span",null,"\u662F\u5426\u63D0\u4F9B DHCP\uFF08\u5982\u679C\u662F\u63D0\u4F9B DHCP\uFF0C\u5219\u9700\u8981\u5173\u95ED\u4E3B\u8DEF\u7531 DHCP\uFF09")],-1),G={class:"label-value"},O={class:"label-flex"},Q={class:"label-btns"},z=["disabled"],J={key:0,class:"label-msg"},K=A({__name:"index",setup(l){const s=D(""),u=w({subnetMask:"255.255.255.0",staticDnsIp:"223.5.5.5",staticLanIp:"",gateway:"",enableDhcp:!0}),c=D(!1),d=()=>E(this,null,function*(){const r=b({},u),t=M.Loading("\u914D\u7F6E\u4E2D...");try{const a=yield N.Guide.GatewayRouter.POST(r);if(a!=null&&a.data){const{success:n,error:o}=a==null?void 0:a.data;o&&(s.value=o),(n==null||n==0)&&(s.value="\u914D\u7F6E\u6210\u529F")}}catch(a){s.value=a}t.Close()});return(r,t)=>(m(),_("form",{class:"form-container",onSubmit:k(d,["prevent"])},[P,e("div",S,[i(e("input",{type:"text",placeholder:"ip\u5730\u5740","onUpdate:modelValue":t[0]||(t[0]=a=>u.staticLanIp=a),required:""},null,512),[[p,u.staticLanIp,void 0,{trim:!0}]])]),U,e("div",q,[i(e("input",{type:"text",placeholder:"\u5B50\u7F51\u63A9\u7801\u5730\u5740","onUpdate:modelValue":t[1]||(t[1]=a=>u.subnetMask=a),required:""},null,512),[[p,u.subnetMask,void 0,{trim:!0}]])]),L,e("div",T,[i(e("input",{type:"text",placeholder:"\u7F51\u5173\u5730\u5740","onUpdate:modelValue":t[2]||(t[2]=a=>u.gateway=a),required:""},null,512),[[p,u.gateway,void 0,{trim:!0}]])]),H,e("div",R,[i(e("input",{type:"text",placeholder:"dns\u670D\u52A1\u5668\u5730\u5740","onUpdate:modelValue":t[3]||(t[3]=a=>u.staticDnsIp=a),required:""},null,512),[[p,u.staticDnsIp,void 0,{trim:!0}]])]),j,e("div",G,[e("div",O,[e("label",null,[i(e("input",{type:"radio",value:!1,"onUpdate:modelValue":t[4]||(t[4]=a=>u.enableDhcp=a)},null,512),[[B,u.enableDhcp]]),f("\u5173\u95ED")]),e("label",null,[i(e("input",{type:"radio",value:!0,"onUpdate:modelValue":t[5]||(t[5]=a=>u.enableDhcp=a)},null,512),[[B,u.enableDhcp]]),f("\u542F\u7528")])])]),e("div",Q,[e("button",{class:"sumbit",disabled:c.value},"\u4FDD\u5B58",8,z)]),s.value?(m(),_("div",J,[e("span",null,g(s.value),1)])):V("v-if",!0)],32))}});var Y=y(K,[]);export{Y as default};
|
||||
@@ -0,0 +1 @@
|
||||
var p=(o,u,s)=>new Promise((h,c)=>{var f=r=>{try{t(s.next(r))}catch(l){c(l)}},x=r=>{try{t(s.throw(r))}catch(l){c(l)}},t=r=>r.done?h(r.value):Promise.resolve(r.value).then(f,x);t((s=s.apply(o,u)).next())});import{_ as w,d as v,x as B,P as m,M as g,o as i,c as a,f as e,F as k,e as y,s as _,t as n,p as A,q as C,i as M}from"./index.js";const d=o=>(A("data-v-2e3223f5"),o=o(),C(),o),D={class:"page-table"},F=d(()=>e("colgroup",null,[e("col"),e("col"),e("col"),e("col"),e("col"),e("col")],-1)),E=d(()=>e("thead",null,[e("tr",null,[e("th",null," \u72B6\u6001 "),e("th",null," \u63A5\u53E3 "),e("th",null," \u7C7B\u578B "),e("th",null," mac "),e("th",null," \u63A5\u6536 "),e("th",null," \u53D1\u9001 ")])],-1)),b={class:"flex-icon"},N=d(()=>e("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:v":"https://vecta.io/nano",width:"48",height:"38",viewBox:"0 0 12.7 10.05"},[e("defs",null,[e("filter",{id:"A","color-interpolation-filters":"sRGB"},[e("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),e("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),e("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),e("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),e("g",{transform:"translate(0 -286.95)"},[e("rect",{x:".21",y:"287.25",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),e("path",{transform:"matrix(.105 0 0 .0989 -6.0834 280.6)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#999",filter:"url(#A)",stroke:"#999","stroke-width":"2.5"}),e("g",{transform:"matrix(.1048 0 0 .1048 -6.0999 280.7)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[e("use",{"xlink:href":"#B"}),e("use",{"xlink:href":"#B",x:"73.04"}),e("use",{"xlink:href":"#B",x:"52.17"}),e("use",{"xlink:href":"#B",x:"41.74"}),e("use",{"xlink:href":"#B",x:"31.3"}),e("use",{"xlink:href":"#B",x:"20.87"}),e("use",{"xlink:href":"#B",x:"10.43"}),e("use",{"xlink:href":"#B",x:"62.61"})]),e("rect",{x:"1.24",y:"294.55",width:"1.6",height:"1.38",ry:".11",fill:"#ccc",stroke:"#ccc","stroke-width":".22","paint-order":"normal"})])],-1)),S=d(()=>e("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"48",height:"38",viewBox:"0 0 12.7 10.05","xmlns:v":"https://vecta.io/nano"},[e("defs",null,[e("filter",{id:"A","color-interpolation-filters":"sRGB"},[e("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),e("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),e("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),e("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),e("g",{transform:"translate(-.03 -287.07)"},[e("rect",{x:".24",y:"287.36",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),e("path",{transform:"matrix(.105 0 0 .0989 -6.0532 280.72)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#4d4d4d",filter:"url(#A)",stroke:"#4d4d4d","stroke-width":"2.5"}),e("g",{transform:"matrix(.1048 0 0 .1048 -6.0697 280.81)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[e("use",{"xlink:href":"#B"}),e("use",{"xlink:href":"#B",x:"73.04"}),e("use",{"xlink:href":"#B",x:"52.17"}),e("use",{"xlink:href":"#B",x:"41.74"}),e("use",{"xlink:href":"#B",x:"31.3"}),e("use",{"xlink:href":"#B",x:"20.87"}),e("use",{"xlink:href":"#B",x:"10.43"}),e("use",{"xlink:href":"#B",x:"62.61"})]),e("rect",{x:"1.27",y:"294.67",width:"1.6",height:"1.38",ry:".11",fill:"#55d400",stroke:"#55d400","stroke-width":".22","paint-order":"normal"})])],-1)),j=v({__name:"index",setup(o){return p(this,null,function*(){let u,s;const h=B({ports:[]}),c=t=>{switch(t){case"full":return"\u5168\u53CC\u5DE5";case"half":return"\u534A\u53CC\u5DE5"}};let f=!1;const x=()=>p(this,null,function*(){try{const t=yield M.Network.PortList.GET();if(t!=null&&t.data){const{result:r}=t==null?void 0:t.data;r&&(h.ports=r.ports||[])}}catch(t){console.log(t)}setTimeout(()=>{f||x()},1e4)});return[u,s]=m(()=>x()),yield u,s(),g(()=>{f=!0}),(t,r)=>(i(),a("table",D,[F,E,e("tbody",null,[(i(!0),a(k,null,y(h.ports,l=>(i(),a("tr",null,[e("th",b,[l.linkState=="DOWN"?(i(),a(k,{key:0},[N,_("\u672A\u8FDE\u63A5 ")],64)):(i(),a(k,{key:1},[S,_(" \u5DF2\u8FDE\u63A5 ")],64))]),e("th",null,n(l.name)+"\uFF08"+n(l.interfaceNames.join(",").toLocaleUpperCase())+"\uFF09 ",1),e("th",null,n(c(l.duplex)),1),e("th",null,n(l.macAddress||"--"),1),e("th",null,n(l.rx_packets||"--"),1),e("th",null,n(l.tx_packets||"--"),1)]))),256))])]))})}});var L=w(j,[["__scopeId","data-v-2e3223f5"]]);export{L as default};
|
||||
@@ -0,0 +1 @@
|
||||
{"en":{"download":"Download","monitor":"Monitor","multimedia":"Multimedia","nas":"NAS","net":"Net","networking":"Networking","service":"Service","system":"System","tool":"Tool"}}
|
||||
@@ -0,0 +1 @@
|
||||
{"zh-CN":{"download":"下载","monitor":"监控","multimedia":"多媒体","nas":"NAS","net":"网络","networking":"组网","service":"服务","system":"系统","tool":"工具"}}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 676 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,152 @@
|
||||
|
||||
module("luci.controller.istorerouter", package.seeall)
|
||||
|
||||
function index()
|
||||
if luci.sys.call("pgrep quickstart >/dev/null") == 0 then
|
||||
entry({"admin", "istorerouter"}, call("istorerouter_template")).leaf = true
|
||||
if nixio.fs.access("/usr/lib/lua/luci/view/istorerouter/main_dev.htm") then
|
||||
entry({"admin", "istorerouter_dev"}, call("istorerouter_template_dev")).leaf = true
|
||||
end
|
||||
else
|
||||
entry({"admin", "istorerouter"}, call("redirect_fallback")).leaf = true
|
||||
end
|
||||
entry({"admin", "istorerouter_api","status"}, call("istorerouter_api_status"))
|
||||
entry({"admin", "istorerouter_api","update"}, call("istorerouter_api_update"))
|
||||
entry({"admin", "istorerouter_api","upload-bg"}, call("istorerouter_api_uploadbg"))
|
||||
end
|
||||
|
||||
local function user_id()
|
||||
local jsonc = require "luci.jsonc"
|
||||
local json_parse = jsonc.parse
|
||||
local fs = require "nixio.fs"
|
||||
local data = fs.readfile("/etc/.app_store.id")
|
||||
|
||||
local id
|
||||
if data ~= nil then
|
||||
id = json_parse(data)
|
||||
end
|
||||
if id == nil then
|
||||
fs.unlink("/etc/.app_store.id")
|
||||
id = {arch="",uid=""}
|
||||
end
|
||||
|
||||
id.version = (fs.readfile("/etc/.app_store.version") or "?"):gsub("[\r\n]", "")
|
||||
|
||||
return id
|
||||
end
|
||||
|
||||
function get_config_data()
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local model = uci:get_first("istorerouter", "istorerouter", "model")
|
||||
local enabled = uci:get_first("istorerouter", "istorerouter", "enabled")
|
||||
local data = {
|
||||
model = model,
|
||||
enabled = enabled,
|
||||
}
|
||||
return data
|
||||
end
|
||||
|
||||
local function static_cache_tag()
|
||||
local fs = require "nixio.fs"
|
||||
local stat = fs.stat("/www/luci-static/istorerouter/index.js")
|
||||
return stat and stat.mtime or os.time()
|
||||
end
|
||||
|
||||
function get_params()
|
||||
local config = get_config_data()
|
||||
local data = {
|
||||
prefix=luci.dispatcher.build_url(unpack({"admin", "istorerouter"})),
|
||||
id=user_id(),
|
||||
model = config.model,
|
||||
cache_tag = static_cache_tag(),
|
||||
}
|
||||
return data
|
||||
end
|
||||
|
||||
function get_dev_params()
|
||||
local config = get_config_data()
|
||||
local data = {
|
||||
prefix=luci.dispatcher.build_url(unpack({"admin", "istorerouter_dev"})),
|
||||
id=user_id(),
|
||||
model = config.model,
|
||||
cache_tag = static_cache_tag(),
|
||||
}
|
||||
return data
|
||||
end
|
||||
|
||||
function redirect_fallback()
|
||||
luci.http.redirect(luci.dispatcher.build_url("admin","status"))
|
||||
end
|
||||
|
||||
function istorerouter_template()
|
||||
luci.template.render("istorerouter/main", get_params())
|
||||
end
|
||||
|
||||
function istorerouter_template_dev()
|
||||
luci.template.render("istorerouter/main_dev", get_dev_params())
|
||||
end
|
||||
|
||||
function istorerouter_api_status()
|
||||
local result = get_config_data()
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json({
|
||||
success = 0,
|
||||
result = result,
|
||||
})
|
||||
end
|
||||
|
||||
function istorerouter_api_update()
|
||||
local http = require "luci.http"
|
||||
local jsonc = require "luci.jsonc"
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local content = http.content()
|
||||
local json_parse = jsonc.parse
|
||||
local req = json_parse(content)
|
||||
local data = {
|
||||
}
|
||||
if req == nil or next(req) == nil then
|
||||
data.error = "invalid request"
|
||||
else
|
||||
uci:set("istorerouter","@istorerouter[0]","model", req.model)
|
||||
uci:commit("istorerouter")
|
||||
data.success = 0
|
||||
end
|
||||
http.prepare_content("application/json")
|
||||
http.write_json(data)
|
||||
end
|
||||
|
||||
function istorerouter_api_uploadbg()
|
||||
local uci = require "uci"
|
||||
local x = uci.cursor()
|
||||
local fd
|
||||
local path
|
||||
local finished = false
|
||||
local tmpdir = "/www/luci-static/istorerouter/image"
|
||||
local filename = ""
|
||||
luci.http.setfilehandler(
|
||||
function(meta, chunk, eof)
|
||||
if not fd then
|
||||
filename = meta.file
|
||||
path = tmpdir .. "/bg.gif"
|
||||
fd = io.open(path, "w")
|
||||
end
|
||||
if chunk then
|
||||
fd:write(chunk)
|
||||
end
|
||||
if eof then
|
||||
fd:close()
|
||||
finished = true
|
||||
end
|
||||
end
|
||||
)
|
||||
luci.http.formvalue("file")
|
||||
local result = {
|
||||
filename = filename
|
||||
}
|
||||
local data = {
|
||||
success = finished,
|
||||
result = result
|
||||
}
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json(data)
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
<%
|
||||
local istorerouter = require "luci.controller.istorerouter"
|
||||
istorerouter.istorerouter_template()
|
||||
%>
|
||||
@@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0" /> -->
|
||||
<!-- <meta name="viewport" content="width=1400, initial-scale=1.0" /> -->
|
||||
<meta name="viewport" content="width=1100" />
|
||||
<title><%=luci.sys.hostname()%></title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
|
||||
<script src="<%=resource%>/cbi.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/promis.min.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/luci.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<%+tasks/embed%>
|
||||
<script>
|
||||
(function(){
|
||||
var pathe_prefix = "<%=prefix%>"
|
||||
window.istoreRouterVer = "<%# PKG_VERSION %>"
|
||||
window.HostName = "<%=luci.sys.hostname()%>"
|
||||
window.path_base = pathe_prefix
|
||||
window.token = "<%=token%>"
|
||||
window.model = "<%=model%>"
|
||||
window.device_id = {
|
||||
arch:"<%=id.arch%>",
|
||||
uid:"<%=id.uid%>",
|
||||
version:"<%=id.version%>"
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
<%
|
||||
local luci_main = type(luci.config) == "table" and type(luci.config.main) == "table" and luci.config.main or {}
|
||||
-%>
|
||||
<script type="text/javascript">
|
||||
L = new LuCI(<%= luci.http.write_json({
|
||||
token = token,
|
||||
media = media,
|
||||
resource = resource,
|
||||
scriptname = luci.http.getenv("SCRIPT_NAME"),
|
||||
pathinfo = luci.http.getenv("PATH_INFO"),
|
||||
documentroot = luci.http.getenv("DOCUMENT_ROOT"),
|
||||
requestpath = luci.dispatcher.context.requestpath,
|
||||
dispatchpath = luci.dispatcher.context.path,
|
||||
pollinterval = luci_main.pollinterval or 5,
|
||||
ubuspath = luci_main.ubuspath or '/ubus/',
|
||||
sessionid = luci.dispatcher.context.authsession,
|
||||
nodespec = luci.dispatcher.context.dispatched,
|
||||
apply_rollback = math.max(applyconf and applyconf.rollback or 90, 30),
|
||||
apply_holdoff = math.max(applyconf and applyconf.holdoff or 4, 1),
|
||||
apply_timeout = math.max(applyconf and applyconf.timeout or 5, 1),
|
||||
apply_display = math.max(applyconf and applyconf.display or 1.5, 1),
|
||||
rollback_token = rollback_token
|
||||
}) %>);
|
||||
</script>
|
||||
<div id="app"></div>
|
||||
<link rel="stylesheet" href="/luci-static/istorerouter/style.css?v=<%=cache_tag%>">
|
||||
<script type="module" crossorigin src="/luci-static/istorerouter/index.js?v=<%=cache_tag%>"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,63 @@
|
||||
<%
|
||||
local ver = require "luci.version"
|
||||
-%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0" /> -->
|
||||
<meta name="viewport" content="width=1100" />
|
||||
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
|
||||
<script src="<%=resource%>/cbi.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/promis.min.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/luci.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<%+tasks/embed%>
|
||||
<script>
|
||||
(function(){
|
||||
var pathe_prefix = "<%=prefix%>"
|
||||
window.istoreRouterVer = "<%# PKG_VERSION %>"
|
||||
window.HostName = "<%=luci.sys.hostname()%>"
|
||||
window.path_base = pathe_prefix
|
||||
window.token = "<%=token%>"
|
||||
window.model = "<%=model%>"
|
||||
window.device_id = {
|
||||
arch:"<%=id.arch%>",
|
||||
uid:"<%=id.uid%>",
|
||||
version:"<%=id.version%>"
|
||||
}
|
||||
|
||||
})();
|
||||
</script>
|
||||
<%
|
||||
local luci_main = type(luci.config) == "table" and type(luci.config.main) == "table" and luci.config.main or {}
|
||||
-%>
|
||||
<script type="text/javascript">
|
||||
L = new LuCI(<%= luci.http.write_json({
|
||||
token = token,
|
||||
media = media,
|
||||
resource = resource,
|
||||
scriptname = luci.http.getenv("SCRIPT_NAME"),
|
||||
pathinfo = luci.http.getenv("PATH_INFO"),
|
||||
documentroot = luci.http.getenv("DOCUMENT_ROOT"),
|
||||
requestpath = luci.dispatcher.context.requestpath,
|
||||
dispatchpath = luci.dispatcher.context.path,
|
||||
pollinterval = luci_main.pollinterval or 5,
|
||||
ubuspath = luci_main.ubuspath or '/ubus/',
|
||||
sessionid = luci.dispatcher.context.authsession,
|
||||
nodespec = luci.dispatcher.context.dispatched,
|
||||
apply_rollback = math.max(applyconf and applyconf.rollback or 90, 30),
|
||||
apply_holdoff = math.max(applyconf and applyconf.holdoff or 4, 1),
|
||||
apply_timeout = math.max(applyconf and applyconf.timeout or 5, 1),
|
||||
apply_display = math.max(applyconf and applyconf.display or 1.5, 1),
|
||||
rollback_token = rollback_token
|
||||
}) %>);
|
||||
</script>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="http://localhost:3000/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
config istorerouter
|
||||
option 'enabled' '1'
|
||||
option 'model' 'router'
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"admin/istorerouter": {
|
||||
"order": 0,
|
||||
"action": {
|
||||
"type": "template",
|
||||
"path": "istorerouter/index"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -857,14 +857,16 @@ acl_node() {
|
||||
unset _error_log_file
|
||||
continue
|
||||
fi
|
||||
local run_new_dnsmasq=1
|
||||
local DNSMASQ_TUN_DNS="127.0.0.1#${dns_listen_port}"
|
||||
local DNSMASQ_DEFAULT_DNS="${AUTO_DNS}"
|
||||
local DNSMASQ_LOCAL_DNS="${LOCAL_DNS:-${AUTO_DNS}}"
|
||||
[ -n "${DIRECT_DNS_DNSMASQ_SERVER}" ] && DNSMASQ_LOCAL_DNS="${DIRECT_DNS_DNSMASQ_SERVER}"
|
||||
if [ "${flag}" = "default" ]; then
|
||||
set_cache_var "GLOBAL_SOCKS_server" "127.0.0.1:$socks_port"
|
||||
set_cache_var "ACL_GLOBAL_node" "$node"
|
||||
local RUN_NEW_DNSMASQ=$(config_n_get @global[0] dns_redirect 1)
|
||||
local DNSMASQ_DEFAULT_DNS="${AUTO_DNS}"
|
||||
local DNSMASQ_LOCAL_DNS="${LOCAL_DNS:-${AUTO_DNS}}"
|
||||
local DNSMASQ_TUN_DNS="127.0.0.1#${dns_listen_port}"
|
||||
if [ "${RUN_NEW_DNSMASQ}" == "0" ]; then
|
||||
run_new_dnsmasq=$(config_n_get @global[0] dns_redirect 1)
|
||||
if [ "${run_new_dnsmasq}" != "1" ]; then
|
||||
#Rewrite the default DNS service configuration
|
||||
#Modify the default dnsmasq service
|
||||
lua $APP_PATH/helper_dnsmasq.lua stretch
|
||||
@@ -882,21 +884,16 @@ acl_node() {
|
||||
uci -q commit dhcp
|
||||
|
||||
lua $APP_PATH/helper_dnsmasq.lua logic_restart
|
||||
else
|
||||
#Run a copy dnsmasq instance, DNS hijack for that need proxy devices.
|
||||
dnsmasq_port=$(get_new_port auto)
|
||||
run_copy_dnsmasq flag="default" listen_port=${dnsmasq_port} local_dns="${DNSMASQ_LOCAL_DNS}" tun_dns="${DNSMASQ_TUN_DNS}" default_dns="${DNSMASQ_DEFAULT_DNS}"
|
||||
#dhcp.leases to hosts
|
||||
$APP_PATH/lease2hosts.sh > /dev/null 2>&1 &
|
||||
log 2 "Dnsmasq[${dnsmasq_port}]:(127.0.0.1:${dns_listen_port})"
|
||||
fi
|
||||
else
|
||||
fi
|
||||
[ "${run_new_dnsmasq}" == "1" ] && {
|
||||
#Run a copy dnsmasq instance, DNS hijack for that need proxy devices.
|
||||
dnsmasq_port=$(get_new_port auto)
|
||||
run_copy_dnsmasq flag="${flag}" listen_port=${dnsmasq_port} local_dns="${LOCAL_DNS:-${AUTO_DNS}}" tun_dns="127.0.0.1#${dns_listen_port}" default_dns="${AUTO_DNS}"
|
||||
#dhcp.leases to hostsMore actions
|
||||
run_copy_dnsmasq flag="${flag}" listen_port=${dnsmasq_port} local_dns="${DNSMASQ_LOCAL_DNS}" tun_dns="${DNSMASQ_TUN_DNS}" default_dns="${DNSMASQ_DEFAULT_DNS}"
|
||||
#dhcp.leases to hosts
|
||||
$APP_PATH/lease2hosts.sh > /dev/null 2>&1 &
|
||||
log 2 "Dnsmasq[${dnsmasq_port}]:(127.0.0.1:${dns_listen_port})"
|
||||
fi
|
||||
}
|
||||
rm -f ${TMP_ACL_PATH}/acl_node_${nid}
|
||||
done
|
||||
}
|
||||
@@ -1030,6 +1027,7 @@ get_direct_dns() {
|
||||
DIRECT_DNS_PROTO="${direct_dns_protocol}"
|
||||
DIRECT_DNS_SERVER=$(echo ${result} | awk '{print $1}')
|
||||
DIRECT_DNS_PORT=$(echo ${result} | awk '{print $2}')
|
||||
[ "${DIRECT_DNS_PROTO}" = "udp" ] && DIRECT_DNS_DNSMASQ_SERVER="${DIRECT_DNS_SERVER}#${DIRECT_DNS_PORT}"
|
||||
RETURN_DNS="${RETURN_DNS},${DIRECT_DNS_SERVER}#${DIRECT_DNS_PORT}#${DIRECT_DNS_PROTO}"
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -140,6 +140,10 @@ function copy_instance(var)
|
||||
end
|
||||
end
|
||||
tinsert(conf_lines, "port=" .. LISTEN_PORT)
|
||||
--dhcp.leases to hostsMore actions
|
||||
local hosts = api.CACHE_PATH .. "/dhcp-hosts"
|
||||
sys.call("touch " .. hosts)
|
||||
tinsert(conf_lines, "addn-hosts=" .. hosts)
|
||||
if TMP_DNSMASQ_PATH then
|
||||
sys.call("rm -rf " .. TMP_DNSMASQ_PATH .. "/*passwall2*")
|
||||
end
|
||||
@@ -159,7 +163,6 @@ function add_rule(var)
|
||||
local FLAG = var["FLAG"]
|
||||
local TMP_DNSMASQ_PATH = var["TMP_DNSMASQ_PATH"]
|
||||
local DNSMASQ_CONF_FILE = var["DNSMASQ_CONF_FILE"]
|
||||
local LISTEN_PORT = var["LISTEN_PORT"]
|
||||
local DEFAULT_DNS = var["DEFAULT_DNS"]
|
||||
local LOCAL_DNS = var["LOCAL_DNS"]
|
||||
local TUN_DNS = var["TUN_DNS"]
|
||||
@@ -317,20 +320,6 @@ function add_rule(var)
|
||||
|
||||
if DNSMASQ_CONF_FILE ~= "nil" then
|
||||
local conf_lines = {}
|
||||
if LISTEN_PORT then
|
||||
--Copy dnsmasq instance
|
||||
conf_lines = copy_instance({
|
||||
["LISTEN_PORT"] = LISTEN_PORT,
|
||||
["TMP_DNSMASQ_PATH"] = TMP_DNSMASQ_PATH,
|
||||
["return"] = "1"
|
||||
})
|
||||
--dhcp.leases to hostsMore actions
|
||||
local hosts = api.CACHE_PATH .. "/dhcp-hosts"
|
||||
sys.call("touch " .. hosts)
|
||||
tinsert(conf_lines, "addn-hosts=" .. hosts)
|
||||
else
|
||||
--Modify the default dnsmasq service
|
||||
end
|
||||
tinsert(conf_lines, string.format("conf-dir=%s", TMP_DNSMASQ_PATH))
|
||||
if dnsmasq_default_dns then
|
||||
for s in string.gmatch(dnsmasq_default_dns, '[^' .. "," .. ']+') do
|
||||
|
||||
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
|
||||
LUCI_TITLE:=LuCI shared OpenWrt auth bridge for LinkEase apps
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
@@ -40,6 +40,50 @@ local function authority_host(authority)
|
||||
return authority:match("^([^:]+)") or authority
|
||||
end
|
||||
|
||||
local function valid_authority(authority)
|
||||
return authority and authority ~= "" and authority:match("^[A-Za-z0-9%._%-%[%]:]+$") ~= nil
|
||||
end
|
||||
|
||||
local function request_authority()
|
||||
local http = require "luci.http"
|
||||
local forwarded_host = http.getenv("HTTP_X_FORWARDED_HOST") or ""
|
||||
local request_host = http.getenv("HTTP_HOST") or ""
|
||||
|
||||
if valid_authority(forwarded_host) then
|
||||
return forwarded_host
|
||||
end
|
||||
if valid_authority(request_host) then
|
||||
return request_host
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
local function request_scheme()
|
||||
local http = require "luci.http"
|
||||
local forwarded_proto = http.getenv("HTTP_X_FORWARDED_PROTO") or ""
|
||||
|
||||
if forwarded_proto == "https" then
|
||||
return "https"
|
||||
end
|
||||
if http.getenv("HTTPS") == "on" then
|
||||
return "https"
|
||||
end
|
||||
return "http"
|
||||
end
|
||||
|
||||
local function absolute_luci_url(path)
|
||||
if not path or path == "" or path:match("^https?://") then
|
||||
return path
|
||||
end
|
||||
|
||||
local authority = request_authority()
|
||||
if authority == "" then
|
||||
return path
|
||||
end
|
||||
|
||||
return request_scheme() .. "://" .. authority .. path
|
||||
end
|
||||
|
||||
local function valid_apps_return(value)
|
||||
if not value or value == "" then
|
||||
return false
|
||||
@@ -62,7 +106,7 @@ local function valid_apps_return(value)
|
||||
|
||||
local http = require "luci.http"
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local request_host = http.getenv("HTTP_HOST") or ""
|
||||
local request_host = request_authority()
|
||||
local lan_host = uci:get("network", "lan", "ipaddr") or ""
|
||||
local authority_host_value = authority_host(authority)
|
||||
|
||||
@@ -135,7 +179,7 @@ end
|
||||
|
||||
local function auth_finish_url()
|
||||
local dispatcher = require "luci.dispatcher"
|
||||
return dispatcher.build_url("admin", "services", "linkease_auth", "auth_finish")
|
||||
return absolute_luci_url(dispatcher.build_url("admin", "services", "linkease_auth", "auth_finish"))
|
||||
end
|
||||
|
||||
function linkease_auth()
|
||||
|
||||
@@ -12,13 +12,13 @@ PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
GEOIP_VER:=202608050239
|
||||
GEOIP_VER:=202609040609
|
||||
GEOIP_FILE:=geoip.dat.$(GEOIP_VER)
|
||||
define Download/geoip
|
||||
URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/
|
||||
URL_FILE:=geoip.dat
|
||||
FILE:=$(GEOIP_FILE)
|
||||
HASH:=c67bd077eb102cec74fab759b73d17f99275f56af10a87c14d9fd983508f5ce1
|
||||
HASH:=1cba1f0982cf62502fa079c66047c3d0c608196da5b3305671e68f60e917a482
|
||||
endef
|
||||
|
||||
GEOSITE_VER:=20260904020013
|
||||
|
||||
+3
-3
@@ -5,12 +5,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=v2rayA
|
||||
PKG_VERSION:=2.4.16
|
||||
PKG_VERSION:=2.4.17
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=209885554640bc01999272279ee65c456ed7093055b7ee580cb3251b55af711f
|
||||
PKG_HASH:=0965204ef0be8c4dacbd5e18a1c07b49f55f3c1d006c594f6f33a095eeb791da
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service
|
||||
|
||||
PKG_LICENSE:=AGPL-3.0-only
|
||||
@@ -60,7 +60,7 @@ define Download/v2raya-web
|
||||
URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/
|
||||
URL_FILE:=web.tar.gz
|
||||
FILE:=$(WEB_FILE)
|
||||
HASH:=992a7eb21d5ecef1d94ed763114812d6082d1732bed5505349134133b33502f4
|
||||
HASH:=19f475b43a95bcc6f71fa6228c6aaeffeaffffb9b061c8909d507001a26ca76d
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
|
||||
Reference in New Issue
Block a user