G0X%5+kf31KSjy>dt+-C!xwa$9{;)8T7*ouR9kOe|{ovo?Z$yoXW`x@{3Xn z)L=s!Ot~!$jD-^xtRwO>`kd%PSm0JEV&$?LKQ&+YN`-dHqy1s6 z*IbuU6x$G4(@z}LFZizc7(S4)3C*ee!I8}ht)zYs4i{idY-{2RHVW>_?bx}{PRBNt z9-TOK?mO*D>=9#sb?t?pf5w_p>gtVz^?9h6M~wyfC(=8geGM@b{)WWOFKq)hC}zRI z@_nV*kqyb50JHf!_K&pggI2!s&z5WJOP_+yu{9wj@RHO`AMHmSA4F`!K9tx7Ky^ z9^hfr`Yn+aF?Ao#xNb~hzgy)vLi6IZW)^%*O2>vPvs$J|*WKN{D*?|^lMpF{-}?zd zYY?9gB7S+$NYlwP?$gZpNzGD+s57r+YUSE-|C)!ud?5CJrxqL$)dz_E;;WK8df5!1 z69GEjDfb8We9h0hH|p$mJJSM!NIIQ%KksIDC}{VPxcc_ls1iJ#*WK|k63CtL;tSjA zyOy{>8i+S3X4%rm2Jwl+-S{~zNMEk2W%wbxERhM)#=rm&EGmdUV<>gLL@Yn><&G2K z{kUTxl%wAF<&Bw9;m2^xI|O*TRYCC%_e&3D48W=EMqsUO9PE}CMY-APly-Kdjh`MV z4DU;FZqr!@N9!Y0VQ4oNS0^4{OD)@0Rnk`CvT*^_7O`>?;M}MvFI)z%$dU*Z<$D~K zX|{0bsD7KUv}zA9k;SRw32mj<=!%S#Hgcq9W(w|g#P-dc1@|i}qO Vqe(e1L}qb^$yrRU_15e&Hsgicw|;rX+xVr8U(`D-X`$cVjxm~Z zXH@la42<}~2eT7-0n?2 -2#Ajo4?=0 z<$)mK@>rb9R5D &~gJ^s%BMKr~xXpfv$3M6*dpD+$uotKN`arFMZSW4VfJBcGYLhis5QXiw%TB2Z zCw?vNN}#bks8{DB5$v894D531z^CW;vN(#wu&{r7Tr)GL+DvIQ`) tAC zXN-6}jG92vWLJ3YL!gN6NhNuwqlXy>=3Q5(3#dWeW@1!uj*uq@w!mx3uvDBnAT%%q z!Oz~{V+a@vG>myr$R*v7F*6i6BCl)KG)ddoMzTfaoOt}8vpR``oYe?nN1UnLC0{@z z)wA*$D}6(1P4&gxFGC+h0PRuxFC=H&QQF*5iYP;>ixB5vQYl4QTifJIsH!A0DMW|n z9${W{^|H*k@t~iD7Vby57*?9%hBR*Vv?J7b_r5#9jJ|+iPo#LpvdKS$ B@ZwQC8ut-u*73F(Pr$3+a^GqqQ6U8+CBW!`u)(r_ zgunXi$>9vq{?Rq(yKtCKqi}`-Omt7-Eyv2J1a#vHS`^aemQJ@0R3x;onU$j%BgLkL zKQ^a0h0Y#c#ihRm-^gX5x74p#JE)#2cYa5hgo3mzLWH SG(RAt>d zX lZ)T!<}N7n9FmbB(owZ}+?N2bP|jGar+Q-^uo60Kk_m zVxeG(c(%KlCpb9CE0$$BPuyd_AbbhQ<>M@+LoN@mfX=0Q%I!=UwTv%c87E0D1;?Yr z0!V4#Lnh!JbUF+N`8rAfJm{cJ^=6jhxn9}opNS-v+#U7O8vWD{b{m344QE@D11e=H z>FXo1)84C2(ZJftH#S09%J0;%?nI-(5R0F@mQ?bm5CXQMlIpMUx#*fjsst1Gme}ix z!}Y%o=TkePH@8_%BZ;qxrE;a>$;t&Wkm*)wYZ_9q^^K9gUrk%f@%3juwNy-jJ876G zO(+!lR0`xB^?8@#-BQ%Im5E*tp#T1@3O7ivGrD8zhDw8bVuHg_xEkcy2<5w74*ta$ zr`b?^hPBVfY 1UfZIqm*Y8wg9wsS``gaqbx9a>q-xY-ngV*X6j96OsQ z3=>K)i+TtvGD!bhV#s5AJ18wWb7&q t?;-4+Jv1P%&|8pijXA(6u6*H@}wB0l47 zd&E5l;$HfX^7H0<21ji|e#UqEntD`19>28-aMvNR_0htNQGx7DBHc)_PWiCJLg~;Z zK<#`^&LXHPhjpaJ^B3{*>iT?Sa&d!|*c?*yMLXUKgI*^<8Bn&&3-7*ACS8A;xR2#4 zjri<@f$~BOD_138bQv1U?JZN)5qZE@jgvW2Sm6JefXP5A#7l2E_LBr=Z%AvcNpBZ+ z# H*R`#sU&l7zqUG ANT3dE}cyi$1dY9Cb|scLeMoJPVeG0#pz43p=Bi0MM+Nfi&y-LdOqKTIWitu z9 bR;A;%(M~)+gJ`Gp`q$fH`@m(hxz#u}pmg>sgdk>o5uLl)|J@t&h0H zKWeEP2;6r%=A5_R%^-DkQiVv^O5?asd)=`tEKYWAL;}L-Fj|gdDd((BLh6}e~+x+aJe)1$x{^G=xP1PQXJA?FqZBih{XAlucM*k z(%mq+!_#&Ho1yiEk*9Xb16Z)+-_B zdB$kF!d zSmA%nGL*CJi7qBdkiM?#=HXUvt;q4Z5FVZB$HmySdZ`OKsy1_Qn3Ka#cw6eY1_qqz zz-dQj5mjet(dvuGrZKd=Rz}w4t7*h)Q8>0EE?4*pfPDs+Yb6ts6cGKGi=H3G3{MRI zx&t3Z=^hZo%dBipd@x1^aO!Y;bp5He0G1pY>!u-0R2*<=Pnz)0hckl={M-@SuN}Rn zR@kQK g711E*XlFs2mKq2@C-!2+MIIi4dD8ps`a#8Q6fDMe}iPRTdDTsW7k|v8JNuZ zIXF@#PPxR+a$vQP^~Fh>Dg!7!Od_Q)?`E8s?f*W1JiMQ6XLEOw2;EthPPJ@!SqRF6 ziJP~0uFyQSQQ;(*-1xEjmsl{t!RmFC>=9bua~0h2Ydg=ex?)-7W6S|Nbi0Tn K5Iyi=LEynP#AWW126RQ%NiijOUU_t!c_4_@;5S zzZPWVP*~oZ(|0gXNvRbA9fUBWn>m!DkUCKQ`gYU$1-66n4Xv&MXZ;XsQ!b6*&X_Pl zXK>rUht8n7wj`IVEO#htS)EVrBY&TBP)=Cyojny4yxrCS*;}y*atd!Zmhr3d+-B@H zTjisW)@={wKLR9RVD zS?Z$H2D$%qnP5`#x(tv#pNKa%t)!yvno=}auhD9 n58l;&dHaap{@cFk|2VTdwg#=oK3Xe)3JN@0d;jYhR7{B3 zbX5d!p#N})i4)=yIXf@DbehKaaLBC&D~s}A>S=R3EZqztCe@Muq1n$AW%)s$aTio8 z8X6+4Wlnrw+c3>Hpi4+>A{|~J!{>8AB3vnW1qSPP?8i@|1YeHaxrj}50=sHcvfSXM zcTx?wY6hL63e@;*uzEi^4Zmk?Z`G)z9lKR9UV&UGzOh0YzaZum0ZSD6P1OIm(47xy zL6_uL7Q&G6cP$~;3kIRwc*L?A_$^3*`$ ilwH;zQu~0{)L7MZv|v zo)cAkZox~Ra~Jj^iN!<15n?aUy-2bTMZQ0~8H)YGuNcWx6;rlE1BDiBO$^8B{_t*^ zSN$!6^Y)^sZDvp7Z-mT%Jd~&<-wS6Wi_j*-(|Zc@2k%47O4^9cca_C
>o$&v|NaMl)$=%f_;|@@wpT5> MTJww&1g^9|CIM1*6zB8kEl!2{zDD zzRa==Cth(zSveJ3S%HZ--|#NLHh_nd-_739_9b$*UNo+)_fRp+FQFa;(d9oP- Tpt0H`XLK0x|LzMWrD@K%6w}y+$ z==assS%nJ4L;=B*Wkjhd=%6&t$0K))v8T%sd)I)Q!3p!I*2bt^dOw4-6#M!H9$d4* zzCF+m%gTCGmQ6wpWQN*CYdgchyW;Oh-n=5=GfNbfm-}tQ=UNvCs(YcdMV?WTbXBgi zanD~7aK9L-(}HoSHNhj=+z_GK*B(xcKPO{BuQ+2>A 23z#8fi@7YaYZ{CTg-U3D$Tk|h$YL}KJw__WyRsbG(A5wrRo!UgBDu>p-d4|2Mr z;5^aRNNC8N*j8glUogI1`8&Qaa)BMN1?3 >7;(r;ca9M23i f6w@`fo7GPRqJwO=Xc!pUiU#gIbEVZcABsQBQWPYATAI+tYPRt+F|flXpH8 zC0HPf@SO7P#IQvIse|&wtx^^ifYnK=w^L0c)HGk|^bSJ;ci@!`yW}%o8@i#o!_awK z3`z|3-0EA%CT}9d55FipwZzI3k~r)omB|r|H9vB-YBrXx#n6w3IkskgucOuidJ%M; zjcM!KJ-S?0$uGCd|17}&WK#>>FKc!C6WwL8VcmPx+eJxTo?UAJk(O2~YA)$UXrmr+ z6Wj|{>CE)F%^nBhI308{U^1BdPr^O|Rph}Tgu(uAIQM5D^mCy8_x4Xz_x~;X7p(ig z$G>DWpX+~VT%U+ `O2LB2C^=|`>&+7kM_}>_? ze;WL!=F)!~u#*4N;D1_8|Ed2^@!5at<5~X^rd5%LhWXbkn9peq4hEL3|F5V20?CIG A5&!@I literal 0 HcmV?d00001 diff --git a/Mofang/handlers/webssh.php b/Mofang/handlers/webssh.php new file mode 100644 index 0000000..887308a --- /dev/null +++ b/Mofang/handlers/webssh.php @@ -0,0 +1,384 @@ + + + + + + + WebSSH + + + + +正在连接...+ + + + diff --git a/Mofang/templates/info.html b/Mofang/templates/info.html new file mode 100644 index 0000000..d6d27b9 --- /dev/null +++ b/Mofang/templates/info.html @@ -0,0 +1,378 @@ + + +++ + diff --git a/Mofang/templates/nat.html b/Mofang/templates/nat.html new file mode 100644 index 0000000..9ba76b6 --- /dev/null +++ b/Mofang/templates/nat.html @@ -0,0 +1,328 @@ + + +++ +++实例名称+{$container.name|default='-'}+++运行状态+{$status_text|default='-'}+++SSH 地址+{$ssh_host|default='-'}:{$ssh_port|default='-'}+++IPv6+{$ipv6|default='-'}+++ ++ 状态 + + 更新于 - + + + ++++ +++0%+++CPU+-+++0%+++内存+-+++0%+++负载+-+++0%+++磁盘+-+++++月流量+{$traffic_used_text|default='-'} / {$traffic_limit_text|default='-'}++++入站 {$traffic_in_text|default='-'}+出站 {$traffic_out_text|default='-'}+++ +统计信息+++++CPU 使用率 -+ +++内存使用 -+ +++网络流量 0 B/s / 0 B/s+ +++磁盘 IO 0 B/s / 0 B/s+ +++ + +实例信息++ +
++ +IPv4 {$ipv4|default='-'} +用户名 root ++ +SSH 端口 {$ssh_port|default='-'} +SSH 密码 {$ssh_password|default='-'} ++ +CPU {$vcpu|default='-'} 核 +内存 {$ram_mb|default='-'} MB ++ +硬盘 {$disk_gb|default='-'} GB +带宽 {$bandwidth|default='-'} Mbps ++ + +到期时间 {$expires_at|default='-'} ++ + ++ +++ +++实例名称+{$container_name}+++公网地址+{$nat_host}+++SSH 端口+{$ssh_port}+添加端口映射+++ ++++ + +++ + +++ + +++ + +++ + ++现有端口映射++ {if condition="empty($port_mappings)"} ++ + +暂无端口映射+ {else/} + {foreach name="port_mappings" item="mapping"} +++ {/foreach} + {/if} ++++ ++{$mapping.index}++ ++{$nat_host}:{$mapping.host_port}++ + +++ + +++ + +++ + +++ + ++++++确认删除+确认删除该端口映射?++ + ++