From b27f76efe02c2514a03c4ce69f9648a81511c87d Mon Sep 17 00:00:00 2001 From: ProxySU Date: Thu, 12 Mar 2020 20:09:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=8A=E4=BC=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProxySU/MainWindow.xaml.cs | 54 ++++++++++++++++++++++++++++++-- ProxySU/bin/Release/ProxySU.exe | Bin 45568 -> 46592 bytes ProxySU/bin/Release/Release.zip | Bin 188430 -> 188829 bytes 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/ProxySU/MainWindow.xaml.cs b/ProxySU/MainWindow.xaml.cs index 166aa9c..91afeee 100644 --- a/ProxySU/MainWindow.xaml.cs +++ b/ProxySU/MainWindow.xaml.cs @@ -15,6 +15,7 @@ using Renci.SshNet; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; +using System.IO; namespace ProxySU { @@ -369,10 +370,43 @@ namespace ProxySU { currentStatus = "主机已登录"; textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus); + Thread.Sleep(2000); + } + //检测远程主机系统环境是否符合要求 + currentStatus = "检测系统是否符合安装要求......"; + textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus); + Thread.Sleep(2000); + currentStatus = "检测完毕,符合安装要求,布署中......"; + textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus); + Thread.Sleep(2000); + + //运行命令 + //client.RunCommand("apt update"); + //client.RunCommand("apt install curl -y"); + //client.RunCommand("bash <(curl -L -s https://install.direct/go.sh)"); + try + { + using (var sftpClient = new SftpClient(connectionInfo)) + { + sftpClient.Connect(); + MessageBox.Show("sftp信息1" + sftpClient.ConnectionInfo.ServerVersion.ToString()); + sftpClient.UploadFile(File.OpenRead("config\\config.json"),"/root/config.json", true); + MessageBox.Show("sftp信息"+sftpClient.ConnectionInfo.ServerVersion.ToString()); + } + + } + catch(Exception ex2) + { + MessageBox.Show("sftp"+ex2.ToString()); + MessageBox.Show("sftp出现未知错误"); } - client.RunCommand("echo 1111 >> test.json"); - MessageBox.Show(client.ConnectionInfo.ServerVersion.ToString()); + currentStatus = "安装成功"; + textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus); + //Thread.Sleep(2000); + MessageBox.Show("安装成功"); + MessageBox.Show("ssh信息"+client.ConnectionInfo.ServerVersion.ToString()); + //MessageBox.Show(client); client.Disconnect(); @@ -424,6 +458,21 @@ namespace ProxySU progressBar.IsIndeterminate = true; } else if (currentStatus.Contains("主机已登录") == true) + { + progressBar.IsIndeterminate = true; + //progressBar.Value = 100; + } + else if (currentStatus.Contains("检测系统是否符合安装要求") == true) + { + progressBar.IsIndeterminate = true; + //progressBar.Value = 100; + } + else if (currentStatus.Contains("布署中") == true) + { + progressBar.IsIndeterminate = true; + //progressBar.Value = 100; + } + else if (currentStatus.Contains("安装成功") == true) { progressBar.IsIndeterminate = false; progressBar.Value = 100; @@ -434,6 +483,7 @@ namespace ProxySU progressBar.Value = 0; } + } } } diff --git a/ProxySU/bin/Release/ProxySU.exe b/ProxySU/bin/Release/ProxySU.exe index 6bdb925c2a1b10da03c808f84b7ff1e072b7096b..4ecca255a32ad7c145912bc3e87ed7dbf27ca1a9 100644 GIT binary patch delta 4756 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 AA^-pY delta 3956 zcmbVP3vg7`8UD|?ch7z7BfA^2dBBEEV#pFOyn-eoZFrgh(O?KQB@UqV5$zC3LJCCO z-NvFTwGwVgjnxGxxjy z|DEsrk8{txdlUbV$4B_qTZ{MJxa>G(j$tY$H=9b-3F5*uxzXvpf4MK}5M3gP9Yohw zIS1B{aT9sq|8yHsm9u)?WT%;x+3^lg5uBaQZEO^Q-ovz|7EVXNzO)C(lwRzf$M&Q=#)R^XtHz5qi?f4Bz?<7~wS z)`Id&rP&B5=X&Q@G_nZ_op&odA-qza);O*HLZQrM&h7q5;nOpDHx@_6#xBo@o1B;Y zSJnTIN&?@gsl#nssk@*6C(TQYW;0XP?esF88#j9j<|zVYFC5OJt;7w z-adp_X-IrW*>9T4R(Ofk=MK>l_lUcIyzW|$ped9xLe%2!^!n%x?>>yqhi%j2;sPol z!;+c?XbPy$BkePx4^7WhH>;?*2tjje>Sic7T%j`FO^o({hu$0TPj+lAq zpj$}$6BKRJMvv@ikqW(x*Ln)*T!m3h+KXTd+Kps_Vnz&Qjj~QJO1C9`3fqp+A5f!B zhk+s5fp8(p_Kmm;Y1F+?6w-D};tl3PA?Qm@cCZB<6i}85{kbY@P|L%tHI@wek&5tu zvY%3zvSgwAp%L^WM8Fy=6uv<;w%{f7C-46z33#Q;KR=aPn`yym?>X;gYJ!I?i?RFc zQTuWV(-_G8G|N3|KjDlI<;3QDQ%s|i9*JFiAMjF5+PCt@fJcq}z+zM4UhyRG10hEz z`y?~blGscVuUFXMl@Z(uuT+r>6&_b{EEQ+elA0YV*A+39Y@bT@V<89b7Kea`4VmmN zAfw;VVHTiAjXwi-YJUN~z>hLP>)fvcL)I{Bh{$EwOpoBkF}hNDee{&^E@pS7$MW*9 zIT*#i<~Yh-vFD_{8SpfUX1rf{|IS==X~uhoea;NJHsj?%Y0;jH_Z@bO zxoJ;nI!X^bFIASMz5R5IWzjD)UJ=Fuq(@2SPtY(1v#Aq50@5Q4=FmvSo8l#&OGnGo zW6g$}7f|ga>AlBfzhPRhytkO!6NT4bA;)@DzvF2@d5*cs8pFraa~bb;tpMJO@Q~jz z`?Uz%*VSO3+2SeV5qd{?n^l+yeW1MFyh8h379oaD2`qPJ%u-$t9t1%V@Qkj(yN=U* z@h$Aww-Nncnozn3yjC?@0h`f$*j(8fy^J3kM!%5#b85ne6{AWa_p(KKHlqMgP(IM6 zi9kP1Q&_EVj>0;HOBFUNTn)^jwZH<}pqPZhUZ9|UU@;9S`(c`io7K$nVs-_sW^%X= zIFpieQp^UvZ_WowewRWI@DfV0YgiKyci^~Pw3Hi$0T#Xi$EL(|N* z;8XEh&(DEnqMwdXEAOHq#4o0azSMx_%KUK2=J`;>)UC1V~^UW^svoTu7 zKh^}zVZ-RDm+f{x5B$_UmmMRQoAj9^ zP<$*8Zu&Q#k{;}? ziF7wz#Vg27vw_*P5I9ybCA0?iBX=XmnGJ4S>h^XugchW(>dBo+=^lP zCxuT?J=3xKU3g6J^06l4Bkw_NICUTTs|LX9-HClXApO?pDFK5Zh*BK zl01{UlcoL(_uFr91MEgw4h)Hx<$^ITFReI+_Ja#t2E<7{!nn^BpN}$O$I$W8rb>jN5SuCW_LDw!4V?d_H7m zURA_SgHRkQ*F`Wf%|fNPV7i){s7_yIn*@46AW^51)T^e0iF!pZ4JMYF`!=>L&#xR# zn$z}IEr0O5i)Wfne0rG}MAZ0@^WgM3;|EoXL-^4}>qBxC#<)y0J*aRf<(;vWrFK+y z&I{eK@{cdc`-eTJ{{K0+jp$&fQ@*~~|LUP7wIBBkEWUNymeF$_Hane`^$o!WN2=4u fb<&RX7KM0=Olj diff --git a/ProxySU/bin/Release/Release.zip b/ProxySU/bin/Release/Release.zip index 108aa57d896d7c67403b18305a31d3d017bb6565..31417e83ff6dfa1b0f94ca7317358fdb9cb882f1 100644 GIT binary patch delta 12502 zcmY*=V{qSX&~9woX=61u8z+q$+qRuwY}>Z+kJXrsZ8Wx>oacRK&YU^3JFB^N_rrd= zXYMQZ4`R*$BA_S(355j)1_lR~oo}P~8*ya%km>7q zk9Clt;68mX`!t2Z*U1dYKpF+d2zPe6cSAek*T-0ocn%v5m9~{();chGzp~kM-l(+8 zeGg~;f-X~FWJGbG8cl^=)rIi@D%2}%AIx`MS`-Ij!pa&F>3$f?*LaXPOy9XpPx6rx z-j6KSJkC!qzxi}uy>;2gJ#IMQN`dVR9PNqwv+aD^`pbL~4^#7hoiOtkbT#fo*FU5{ zLl%W@#y3o&%gAsHHoL635QIL!&}Z2(&mj}9zY_j76S1$XRbzUxvAKd;p_BTy{dH^3 z(|H8!u$E(Ff)6KX9NjW*gynQq> ztP$%%9{@*SBJ3~^YJKX@1J8j(_+lMVMOj3?8wG8sUY;?K&^lH|`bnnRj@L#-8_PS+ z<@x)n#-d3j)PLIu>9g-_1e8jbVJLy4OJ`tP*Cw3QFV0k`$zL@=c69p;auhU>_PNfW z#m&w(p9`MPDS^(gX|oTJgqty%_7~3yhbf1ebBY4}r*2cazO~UlgGppeb2*LtxJGum z03nZ=Km+ySZwXr#V@q9Us5MF)??H*!>hZn58e)0e5e#`eVIrAP1}_JD#Tt_p*wlcp zc(&=B4VhV(mhl^d9u5Q4p7wiqieNX(dWSJj3NMO)Q<({M=?5 z*U7H#0UgRNBx`_K3G--awrgfr(*jw|QkIpicNI%mWdu9-e_z_$s}LiTT+@)SyCo;O zMt+%JIc|A_RyzAnI*C+Kpi;t#;Kc&bDGP@$H6p6ql~f|0&&6qkY?&lH?jZb`IBw|6 z>Tx=aIYi0)-Vn^18&+C;gonSGdc(7xmtbwAfO0Yk($IUdZ5KMs;1Amcz5_-dC`q8K z__|k+)|u;Itrm(kDu8K+}|KS@iKuqpw&s>C1`OtMBw{$_Z3wkPseJK08DJJy=ZhAI(os5iy_e3o@a9`i2#_9ILCL5++M7W+!MI-$*4A-k+%0Dolh3V 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 bw;`xt48xNf=bq9ow;>2%Mt30oBP{$Mp&p6` delta 12084 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