OpenVPN Runner

This commit is contained in:
2011-01-26 23:35:09 +00:00
parent 475a235837
commit 973ac92433
17 changed files with 751 additions and 0 deletions
+1
View File
@@ -46,6 +46,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="SetService.cs" />
<Compile Include="Service1.cs">
<SubType>Component</SubType>
</Compile>
+2
View File
@@ -43,6 +43,8 @@ namespace NetMonitorServer
Console.WriteLine(data);
if (data.Substring(0, 3).ToLower() == "net")
new SetNetworks(data);
if (data.Substring(0, 7).ToLower() == "service")
new SetService(data);
}
protected override void OnStart(string[] args)
+3
View File
@@ -120,6 +120,9 @@
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>143, 71</value>
</metadata>
<metadata name="serviceController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>230, 71</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
+77
View File
@@ -0,0 +1,77 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
namespace NetMonitorServer
{
class SetService
{
UdpClient net_send = new UdpClient();
IPEndPoint net_send_port = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34524);
System.ServiceProcess.ServiceController serviceController;
public SetService(string data)
{
this.serviceController = new System.ServiceProcess.ServiceController();
if (data.Substring(0, 13).ToLower() == "service start")
this.setServiceStart(data);
if (data.Substring(0, 12).ToLower() == "service stop")
this.setServiceStop(data);
if (data.Substring(0, 14).ToLower() == "service status")
this.getServiceStatus(data);
}
private void setServiceStart(string data)
{
String[] par = data.Split(' ');
if (par.Length != 3)
return;
this.serviceController.ServiceName = par[2];
this.serviceController.Start();
this.serviceController.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Running,new TimeSpan(0,0,10));
String ret;
if (this.serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Running)
ret = "true";
else
ret = "false";
byte[] answ = Encoding.UTF8.GetBytes(ret);
net_send.Send(answ, answ.Length, net_send_port);
}
private void setServiceStop(string data)
{
String[] par = data.Split(' ');
if (par.Length != 3)
return;
this.serviceController.ServiceName = par[2];
this.serviceController.Stop();
this.serviceController.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
String ret;
if (this.serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Stopped)
ret = "true";
else
ret = "false";
byte[] answ = Encoding.UTF8.GetBytes(ret);
net_send.Send(answ, answ.Length, net_send_port);
}
private void getServiceStatus(string data)
{
String[] par = data.Split(' ');
if (par.Length != 3)
return;
this.serviceController.ServiceName = par[2];
String ret;
if (this.serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Running)
ret = "true";
else
ret = "false";
byte[] answ = Encoding.UTF8.GetBytes(ret);
net_send.Send(answ, answ.Length, net_send_port);
}
}
}