PageSourceSearch

https://e0f.cx/assets/OpenWrtPage-C7a056JL.js

js e0f.cx collected 2026-09-24 14:58:55 UTC 9,827 bytes, 1 lines download raw bytes

1import{R as q,u as B,b5 as O,r as j,j as e,ah as E,av as y,t as G,aj as N,S as f,f as t,_ as u,e as c,C as F,l as k,G as h,Y as o,T as p,k as D,aQ as U,v as X,aE as A,bl as w,bG as d,x as K,bH as H,a1 as Q,a2 as a,a_ as l,a6 as z,ax as I,P as V,b3 as i,B as J,ag as Y,aJ as Z,aa as $,ac as ee,ad as se}from"./index-DJgzD7sm.js";import{M as te}from"./MarkdownRenderer-C3VOd3gH.js";import{I as re}from"./IconExternalLink-PMgE6Ft5.js";import{I as v}from"./IconRouter-DpU_uQkF.js";import{I as ie}from"./IconPlugConnected-FEBWBG0T.js";import{C as P}from"./Code-Bus1hUjD.js";import"./IconBulb-BCoVuGQL.js";import"./IconStar-D6Rk63VB.js";import"./IconLink-B9kbLjXb.js";import"./IconBrandAndroid-8obYxT2s.js";import"./IconBrandWindows-BVfbt8R4.js";import"./IconBrandApple-C1HrZz4W.js";const ne=[["path",{d:"M5 7l5 5l-5 5",key:"svg-0"}],["path",{d:"M12 19l7 0",key:"svg-1"}]],S=q("outline","terminal","Terminal",ne),L="/openwrt/INSTALL_GUIDE.md";function le({opened:s,onClose:b}){const{t:n}=B(),r=O("(max-width: 62em)"),[m,_]=j.useState(null),[g,W]=j.useState(!1),[C,M]=j.useState(!1);return j.useEffect(()=>{!s||m!==null||(W(!0),M(!1),fetch(L,{cache:"no-cache"}).then(x=>{if(!x.ok)throw new Error(String(x.status));return x.text()}).then(x=>{_(x),W(!1)}).catch(()=>{M(!0),W(!1)}))},[s,m]),e.jsxs(E,{opened:s,onClose:b,title:e.jsx(c,{order:3,children:n("openWrt.docsModalTitle")}),size:"lg",fullScreen:r,centered:!0,scrollAreaComponent:y.Autosize,styles:{content:{maxWidth:"100vw"},body:{maxHeight:r?void 0:"75vh",overflowWrap:"anywhere",overflowX:"hidden"},title:{overflowWrap:"anywhere",paddingRight:8}},children:[g&&e.jsx(G,{py:"xl",children:e.jsx(N,{color:"brand"})}),C&&!g&&e.jsxs(f,{align:"center",py:"xl",gap:"md",children:[e.jsx(t,{c:"dimmed",children:n("openWrt.docsLoadError")}),e.jsx(u,{component:"a",href:L,target:"_blank",variant:"light",leftSection:e.jsx(re,{size:16}),children:n("openWrt.docsOpenRaw")})]}),m!==null&&!g&&!C&&e.jsx(y.Autosize,{mah:r?"calc(100dvh - 130px)":"70vh",offsetScrollbars:!0,children:e.jsx(te,{content:m})})]})}const R="sh <(wget -O - https://e0f.cx/openwrt/install.sh)",oe=[{cmd:"eoflow-login",descKey:"openWrt.cli.login"},{cmd:"eoflow-login https://e0f.cx",descKey:"openWrt.cli.loginPanel"}],de=[{name:"Xiaomi Mi Router 4A Gigabit",flash:"16 MB",ram:"128 MB",status:"tested"},{name:"GL.iNet GL-MT300N-V2 (Mango)",flash:"16 MB",ram:"128 MB",status:"tested"},{name:"GL.iNet GL-AR300M",flash:"16 MB",ram:"128 MB",status:"tested"},{name:"TP-Link Archer C7 v5",flash:"16 MB",ram:"128 MB",status:"compatible"},{name:"Xiaomi Mi Router 3G",flash:"128 MB",ram:"256 MB",status:"compatible"}];function T({code:s,language:b="bash"}){const{t:n}=B();return e.jsxs(J,{pos:"relative",children:[e.jsx(P,{block:!0,style:{paddingRight:50},children:s}),e.jsx(Y,{value:s,children:({copied:r,copy:m})=>e.jsx(Z,{label:n(r?"openWrt.copiedTooltip":"openWrt.copyTooltip"),children:e.jsx($,{pos:"absolute",top:8,right:8,variant:r?"filled":"subtle",color:r?"teal":"gray",onClick:m,children:r?e.jsx(ee,{size:16}):e.jsx(se,{size:16})})})})]})}function we(){const{t:s}=B(),[b,n]=j.useState(!1);return e.jsxs(F,{size:"lg",py:"xl",children:[e.jsxs(f,{align:"center",mb:"xl",children:[e.jsx(k,{size:"lg",variant:"gradient",gradient:{from:"blue",to:"cyan"},children:"OpenWrt"}),e.jsx(c,{order:1,ta:"center",children:s("openWrt.title")}),e.jsx(t,{size:"lg",c:"dimmed",ta:"center",maw:600,children:s("openWrt.subt
1itle")})]}),e.jsxs(h,{justify:"center",gap:"xl",mb:"xl",children:[e.jsxs(o,{withBorder:!0,p:"md",radius:"md",w:200,children:[e.jsx(p,{size:"xl",radius:"md",variant:"light",color:"blue",mb:"sm",children:e.jsx(D,{size:28})}),e.jsx(t,{fw:500,children:s("openWrt.wholeNetwork")}),e.jsx(t,{size:"sm",c:"dimmed",children:s("openWrt.wholeNetworkDesc")})]}),e.jsxs(o,{withBorder:!0,p:"md",radius:"md",w:200,children:[e.jsx(p,{size:"xl",radius:"md",variant:"light",color:"green",mb:"sm",children:e.jsx(U,{size:28})}),e.jsx(t,{fw:500,children:s("openWrt.servers")}),e.jsx(t,{size:"sm",c:"dimmed",children:s("openWrt.serverProtocols")})]}),e.jsxs(o,{withBorder:!0,p:"md",radius:"md",w:200,children:[e.jsx(p,{size:"xl",radius:"md",variant:"light",color:"violet",mb:"sm",children:e.jsx(X,{size:28})}),e.jsx(t,{fw:500,children:s("openWrt.webInterface")}),e.jsx(t,{size:"sm",c:"dimmed",children:s("openWrt.webInterfaceDesc")})]})]}),e.jsxs(o,{withBorder:!0,shadow:"sm",p:"xl",radius:"md",mb:"xl",children:[e.jsxs(h,{mb:"md",children:[e.jsx(p,{size:"lg",radius:"md",variant:"gradient",gradient:{from:"blue",to:"cyan"},children:e.jsx(S,{size:20})}),e.jsx(c,{order:3,children:s("openWrt.quickInstall")})]}),e.jsx(t,{mb:"md",children:s("openWrt.sshInstructions")}),e.jsx(T,{code:R}),e.jsxs(h,{mt:"md",children:[e.jsx(u,{component:"a",href:"/openwrt/install.sh",download:!0,leftSection:e.jsx(A,{size:16}),children:s("openWrt.downloadInstaller")}),e.jsx(u,{variant:"light",onClick:()=>n(!0),leftSection:e.jsx(w,{size:16}),children:s("openWrt.documentation")})]})]}),e.jsxs(o,{withBorder:!0,shadow:"sm",p:"xl",radius:"md",mb:"xl",children:[e.jsxs(h,{mb:"lg",children:[e.jsx(p,{size:"lg",radius:"md",variant:"gradient",gradient:{from:"teal",to:"lime"},children:e.jsx(v,{size:20})}),e.jsx(c,{order:3,children:s("openWrt.guide.title")})]}),e.jsxs(d,{active:-1,bulletSize:32,lineWidth:2,children:[e.jsx(d.Item,{bullet:e.jsx(v,{size:16}),title:s("openWrt.guide.step1Title"),children:e.jsx(t,{c:"dimmed",size:"sm",children:s("openWrt.guide.step1Desc")})}),e.jsxs(d.Item,{bullet:e.jsx(S,{size:16}),title:s("openWrt.guide.step2Title"),children:[e.jsx(t,{c:"dimmed",size:"sm",mb:"xs",children:s("openWrt.guide.step2Desc")}),e.jsx(T,{code:"ssh [email protected]"})]}),e.jsxs(d.Item,{bullet:e.jsx(A,{size:16}),title:s("openWrt.guide.step3Title"),children:[e.jsx(t,{c:"dimmed",size:"sm",mb:"xs",children:s("openWrt.guide.step3Desc")}),e.jsx(T,{code:R})]}),e.jsx(d.Item,{bullet:e.jsx(K,{size:16}),title:s("openWrt.guide.step4Title"),children:e.jsx(t,{c:"dimmed",size:"sm",children:s("openWrt.guide.step4Desc")})}),e.jsx(d.Item,{bullet:e.jsx(H,{size:16}),title:s("openWrt.guide.step5Title"),children:e.jsx(t,{c:"dimmed",size:"sm",children:s("openWrt.guide.step5Desc")})}),e.jsx(d.Item,{bullet:e.jsx(ie,{size:16}),title:s("openWrt.guide.step6Title"),children:e.jsx(t,{c:"dimmed",size:"sm",children:s("openWrt.guide.step6Desc")})}),e.jsx(d.Item,{bullet:e.jsx(Q,{size:16}),title:s("openWrt.guide.step7Title"),children:e.jsx(t,{c:"dimmed",size:"sm",children:s("openWrt.guide.step7Desc")})})]})]}),e.jsxs(a,{defaultValue:"web",mb:"xl",children:[e.jsxs(a.List,{mb:"md",children:[e.jsx(a.Tab,{value:"web",leftSection:e.jsx(v,{size:16}),children:s("openWrt.webTab")}),e.jsx(a.Tab,{value:"cli",leftSection:e.jsx(S,{size:16}),children:s("openWrt.cliTab")}),e.jsx(a.Tab,{value:"routers",leftSection:e.jsx(D,{size:16}),children:s("openWrt.routersTab")})]}),e.jsx(a.Panel,{value:"web",children:e.jsxs(o,{withBorder:!0,children:[e.jsx(c,{order:4,mb:"md",children:s("openWrt.webSetupTitle")}),e.jsxs(l,{spacing:"sm",children:[e.jsx(l.Item,{children:s("openWrt.webStep1")}),e.jsx(l.Item,{children:s("openWrt.webStep2")}),e.jsx(l.Item,{children:s("openWrt.webStep3")}),e.jsx(l.Item,{children:s("openWrt.webStep4")}),e.jsx(l.Item,{children:s("openWrt.webStep5")})]}),e.jsx(z,{icon:e.jsx(I,{size:16}),color:"blue",mt:"md",children:s("openWrt.webAlert")})]})}),e.jsx(a.Panel,{value:"cli",children:e.jsxs(o,{withBorder:!0,children:[e.jsx(c,{order:4,mb:"md",children:s("openWrt.cliTitle")}),e.jsx(f,{gap:"xs",children:oe.map(r=>e.jsxs(h,{justify:"space-between",children:[e.jsx(P,{children:r.cmd}),e.jsx(t,{size:"sm",c:"dimmed",children:s(r.descKey)})]},r.cmd))}),e.jsx(z,{icon:e.jsx(I,{size:16}),color:"blue",mt:"md",children:s("openWrt.cli.webNote")})]})}),e.jsx(a.Panel,{value:"routers",children:e.jsxs(o,{withBorder:!0,children:[e.jsx(c,{order:4,mb:"md",children:s("openWrt.routersTitle")}),e.jsx(f,{gap:"xs",children:de.map(r=>e.jsx(V,{withBorder:!0,p:"sm",children:e.jsxs(h,{justify:"space-between",children:[e.jsxs("div",{children:[e.jsx(t,{fw:500,children:r.name}),e.jsxs(t,{size:"sm",c:"dimmed",children:["Flash: ",r.flash," | RAM: ",r.ram]})]}),e.jsx(k,{color:r.status==="tested"?"green":"blue",variant:"light",children:r.status==="tested"?s("openWrt.tested"):s("openWrt.compatible")})]})},r.name))}),e.jsx(z,{icon:e.jsx(I,{size:16}),color:"yellow",mt:"md",children:s("openWrt.minRequirements")})]})})]}
1),e.jsxs(o,{withBorder:!0,shadow:"sm",p:"xl",radius:"md",children:[e.jsx(c,{order:3,mb:"md",children:s("openWrt.faqTitle")}),e.jsxs(i,{children:[e.jsxs(i.Item,{value:"flash",children:[e.jsx(i.Control,{children:s("openWrt.faqFlash")}),e.jsxs(i.Panel,{children:[e.jsx(t,{mb:"sm",children:s("openWrt.faqFlashXiaomi")}),e.jsxs(l,{size:"sm",children:[e.jsx(l.Item,{children:s("openWrt.faqFlashStep1")}),e.jsx(l.Item,{children:s("openWrt.faqFlashStep2")}),e.jsx(l.Item,{children:s("openWrt.faqFlashStep3")})]}),e.jsx(u,{variant:"light",size:"xs",mt:"sm",component:"a",href:"https://openwrt.org/toh/xiaomi/mi_router_4a_gigabit_edition",target:"_blank",leftSection:e.jsx(w,{size:14}),children:s("openWrt.detailedGuide")})]})]}),e.jsxs(i.Item,{value:"speed",children:[e.jsx(i.Control,{children:s("openWrt.faqSpeed")}),e.jsx(i.Panel,{children:e.jsx(t,{children:s("openWrt.faqSpeedAnswer")})})]}),e.jsxs(i.Item,{value:"devices",children:[e.jsx(i.Control,{children:s("openWrt.faqDevices")}),e.jsx(i.Panel,{children:e.jsx(t,{children:s("openWrt.faqDevicesAnswer")})})]}),e.jsxs(i.Item,{value:"bypass",children:[e.jsx(i.Control,{children:s("openWrt.faqBypass")}),e.jsx(i.Panel,{children:e.jsx(t,{children:s("openWrt.faqBypassAnswer")})})]})]})]}),e.jsx(h,{justify:"center",mt:"xl",gap:"md",children:e.jsx(u,{variant:"subtle",onClick:()=>n(!0),leftSection:e.jsx(w,{size:16}),children:s("openWrt.documentation")})}),e.jsx(le,{opened:b,onClose:()=>n(!1)})]})}export{we as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.