merge clint
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 606 B |
|
After Width: | Height: | Size: 977 B |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 460 B |
|
After Width: | Height: | Size: 712 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 1005 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Package
|
||||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||
xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10"
|
||||
IgnorableNamespaces="uap rescap iot">
|
||||
|
||||
<Identity
|
||||
Name="NetFoundryInc.ZitiTunnel"
|
||||
Publisher="CN=793EB682-E668-4D33-984F-2399413F3801"
|
||||
Version="1.0.0.0" />
|
||||
|
||||
<Properties>
|
||||
<DisplayName>Ziti Tunnel</DisplayName>
|
||||
<PublisherDisplayName>NetFoundry, Inc</PublisherDisplayName>
|
||||
<Logo>Images\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
|
||||
</Dependencies>
|
||||
|
||||
<Resources>
|
||||
<Resource Language="x-generate"/>
|
||||
</Resources>
|
||||
|
||||
<Applications>
|
||||
<Application Id="App"
|
||||
Executable="$targetnametoken$.exe"
|
||||
EntryPoint="$targetentrypoint$">
|
||||
<uap:VisualElements
|
||||
DisplayName="Ziti Tunnel"
|
||||
Description="Access Ziti Secured Networks using the Ziti Tunnel Client for Windows"
|
||||
BackgroundColor="transparent"
|
||||
Square150x150Logo="Images\Square150x150Logo.png"
|
||||
Square44x44Logo="Images\Square44x44Logo.png">
|
||||
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" ShortName="Tunnel" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png">
|
||||
<uap:ShowNameOnTiles>
|
||||
<uap:ShowOn Tile="wide310x150Logo"/>
|
||||
<uap:ShowOn Tile="square310x310Logo"/>
|
||||
<uap:ShowOn Tile="square150x150Logo"/>
|
||||
</uap:ShowNameOnTiles>
|
||||
</uap:DefaultTile >
|
||||
<uap:SplashScreen Image="Images\SplashScreen.png" />
|
||||
</uap:VisualElements>
|
||||
</Application>
|
||||
</Applications>
|
||||
|
||||
<Capabilities>
|
||||
<Capability Name="internetClient" />
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
<Capability Name="internetClientServer"/>
|
||||
<Capability Name="privateNetworkClientServer"/>
|
||||
<iot:Capability Name="systemManagement"/>
|
||||
</Capabilities>
|
||||
</Package>
|
||||
@@ -20,6 +20,22 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|AnyCPU">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>AnyCPU</Platform>
|
||||
@@ -34,32 +50,61 @@
|
||||
</PropertyGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>7b36fb31-5662-4f87-a376-bce564533d58</ProjectGuid>
|
||||
<TargetPlatformVersion>10.0.17763.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.15063.0</TargetPlatformMinVersion>
|
||||
<ProjectGuid>520e523a-1e9b-4983-aba9-0eb3b27b6420</ProjectGuid>
|
||||
<TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<PackageCertificateKeyFile>ZitiTunnelerSetup_TemporaryKey.pfx</PackageCertificateKeyFile>
|
||||
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
|
||||
<EntryPointProjectUniqueName>..\ZitiTunneler\ZitiTunneler.csproj</EntryPointProjectUniqueName>
|
||||
<PackageCertificateThumbprint>189AAD422A106DC81E8E79C7E0D2118CEB2E6321</PackageCertificateThumbprint>
|
||||
<PackageCertificateThumbprint>CE5A5576F865C9F01B29E3B813E1522B2D62993D</PackageCertificateThumbprint>
|
||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
|
||||
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
|
||||
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
||||
<AppxBundlePlatforms>neutral</AppxBundlePlatforms>
|
||||
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
<None Include="ZitiTunnelerSetup_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Images\BadgeLogo.scale-100.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-125.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-150.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-200.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-400.png" />
|
||||
<Content Include="Images\LargeTile.scale-100.png" />
|
||||
<Content Include="Images\LargeTile.scale-125.png" />
|
||||
<Content Include="Images\LargeTile.scale-150.png" />
|
||||
<Content Include="Images\LargeTile.scale-200.png" />
|
||||
<Content Include="Images\LargeTile.scale-400.png" />
|
||||
<Content Include="Images\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Images\SmallTile.scale-100.png" />
|
||||
<Content Include="Images\SmallTile.scale-125.png" />
|
||||
<Content Include="Images\SmallTile.scale-150.png" />
|
||||
@@ -69,12 +114,18 @@
|
||||
<Content Include="Images\SplashScreen.scale-125.png" />
|
||||
<Content Include="Images\SplashScreen.scale-150.png" />
|
||||
<Content Include="Images\SplashScreen.scale-200.png" />
|
||||
<Content Include="Images\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Images\SplashScreen.scale-400.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-100.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-125.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-150.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-200.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-400.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-16.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-24.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-256.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-32.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-48.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-16.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-256.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-32.png" />
|
||||
@@ -100,6 +151,8 @@
|
||||
<Content Include="Images\Wide310x150Logo.scale-150.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-400.png" />
|
||||
<None Include="Package.StoreAssociation.xml" />
|
||||
<None Include="ZitiInstaller_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ZitiTunneler\ZitiTunneler.csproj" />
|
||||
|
After Width: | Height: | Size: 46 KiB |
@@ -29,7 +29,9 @@
|
||||
<ColumnDefinition Width="70"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<local:Toggler x:Name="IdDetailToggle" Grid.Column="0" HorizontalAlignment="Left"></local:Toggler>
|
||||
<Label Name="IdDetailName" Grid.Column="1" Content="ID Name" HorizontalAlignment="Center" FontSize="14" FontWeight="SemiBold" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" Foreground="#0F0F23"></Label>
|
||||
<Label Name="IdDetailName" Grid.Column="1" HorizontalAlignment="Center" MaxWidth="160" FontSize="14" FontWeight="SemiBold" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" Foreground="#0F0F23">
|
||||
<TextBlock TextTrimming="CharacterEllipsis">Identity Name</TextBlock>
|
||||
</Label>
|
||||
<Image Grid.Column="2" Cursor="Hand" Source="/Assets/Images/x.png" Width="20" Height="20" Margin="0,0,0,0" HorizontalAlignment="Right" MouseDown="HideMenu"></Image>
|
||||
</Grid>
|
||||
<Rectangle HorizontalAlignment="Stretch" Height="1" Fill="#7d8faf" Opacity="0.2"></Rectangle>
|
||||
|
||||
@@ -26,8 +26,12 @@
|
||||
</Grid.RowDefinitions>
|
||||
<local:Toggler x:Name="ToggleSwitch" Grid.Column="0" Grid.Row="0" Margin="0,10,0,0"></local:Toggler>
|
||||
<Label Name="ToggleStatus" Grid.Column="0" Grid.Row="1" Margin="0,-5,0,0" Content="Enabled" Foreground="White" FontSize="11" Typography.Capitals="AllSmallCaps" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"></Label>
|
||||
<Label Name="IdName" MouseDown="OpenDetails" Grid.Column="1" Margin="10,6,0,0" Content="Identity Title" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" FontSize="18" Foreground="White" HorizontalAlignment="Left"></Label>
|
||||
<Label Name="IdUrl" MouseDown="OpenDetails" Grid.Column="1" Grid.Row="1" Content="serverUrl:8080" FontSize="11" Margin="10,-5,0,0" Typography.Capitals="AllSmallCaps" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" Foreground="White" HorizontalAlignment="Left"></Label>
|
||||
<Label Name="IdName" MouseDown="OpenDetails" MaxWidth="200" Grid.Column="1" Margin="0,6,0,0" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" FontSize="18" Foreground="White" HorizontalAlignment="Left">
|
||||
<TextBlock TextTrimming="CharacterEllipsis">Identity Name</TextBlock>
|
||||
</Label>
|
||||
<Label Name="IdUrl" MouseDown="OpenDetails" Grid.Column="1" Grid.Row="1" FontSize="11" Margin="0,-5,0,0" Typography.Capitals="AllSmallCaps" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" Foreground="White" HorizontalAlignment="Left">
|
||||
<TextBlock TextTrimming="CharacterEllipsis">https://serverUrl:8080</TextBlock>
|
||||
</Label>
|
||||
<Canvas Grid.Column="2" Grid.Row="0" Width="50" Height="40" MouseDown="OpenDetails">
|
||||
<Border Width="44" Height="26" Background="#0068F9" CornerRadius="12" Canvas.Top="10" Canvas.Left="3"></Border>
|
||||
<Label Name="ServiceCount" Width="50" Height="26" Canvas.Top="9" Padding="0,0,0,0" FontSize="17" Content="23" Foreground="White" HorizontalAlignment="Center" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"></Label>
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
<local:MenuItem Label="About" Icon="/Assets/Images/about.png" MouseUp="ShowAbout"></local:MenuItem>
|
||||
<local:MenuItem Label="Feedback" Icon="/Assets/Images/feedback.png" MouseUp="ShowFeedback"></local:MenuItem>
|
||||
<local:MenuItem Label="Support" Icon="/Assets/Images/support.png" MouseUp="ShowSupport"></local:MenuItem>
|
||||
<local:MenuItem Label="Reset Network" Icon="/Assets/Images/server.png" MouseUp="ResetNetwork"></local:MenuItem>
|
||||
<local:MenuItem x:Name="DetachButton" Label="Detach App" Icon="/Assets/Images/detach.png" MouseUp="DetachWindow"></local:MenuItem>
|
||||
<local:MenuItem x:Name="AttachButton" Label="Attach App" Icon="/Assets/Images/detach.png" MouseUp="RetachWindow" Visibility="Collapsed"></local:MenuItem>
|
||||
</StackPanel>
|
||||
@@ -81,7 +82,6 @@
|
||||
<TextBox Name="LicensesItems" Height="400" Width="{Binding ActualWidth, ElementName=MainStack}" TextWrapping="Wrap" Visibility="Collapsed"></TextBox>
|
||||
<TextBox Name="LogsItems" Height="400" Width="{Binding ActualWidth, ElementName=MainStack}" TextWrapping="Wrap" Visibility="Collapsed"></TextBox>
|
||||
|
||||
<Button Name="ConfigSaveButton" Cursor="Hand" Click="SaveConfig" Visibility="Collapsed" Content="SAVE" FontSize="10" FontWeight="SemiBold" Padding="20,7,20,7" Background="#0069FF" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" Foreground="White"></Button>
|
||||
<StackPanel Name="AboutItemsButton" Orientation="Vertical" HorizontalAlignment="Stretch" Visibility="Collapsed">
|
||||
<Image Grid.Column="0" Source="/Assets/Images/logo.png" Height="60" Width="240"></Image>
|
||||
<Label HorizontalAlignment="Center" Content="Version 1.0 (23)" FontSize="10" Foreground="#638190" Margin="0,-20,0,0" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"></Label>
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Diagnostics;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Management.Automation;
|
||||
|
||||
namespace ZitiTunneler
|
||||
{
|
||||
@@ -62,7 +65,6 @@ namespace ZitiTunneler
|
||||
AdvancedItems.Visibility = Visibility.Collapsed;
|
||||
LicensesItems.Visibility = Visibility.Collapsed;
|
||||
LogsItems.Visibility = Visibility.Collapsed;
|
||||
ConfigSaveButton.Visibility = Visibility.Collapsed;
|
||||
ConfigItems.Visibility = Visibility.Collapsed;
|
||||
|
||||
if (menuState=="About") {
|
||||
@@ -87,7 +89,6 @@ namespace ZitiTunneler
|
||||
} else if (menuState=="Config") {
|
||||
MenuTitle.Content = "Tunnel Configuration";
|
||||
ConfigItems.Visibility = Visibility.Visible;
|
||||
ConfigSaveButton.Visibility = Visibility.Visible;
|
||||
BackArrow.Visibility = Visibility.Visible;
|
||||
|
||||
ConfigIp.Value = Application.Current.Properties["ip"]?.ToString();
|
||||
@@ -123,6 +124,23 @@ namespace ZitiTunneler
|
||||
private void ShowSupport(object sender, MouseButtonEventArgs e) {
|
||||
Process.Start(new ProcessStartInfo("https://support.netfoundry.io") { UseShellExecute = true });
|
||||
}
|
||||
|
||||
private void RunScript(string scriptText) {
|
||||
using (PowerShell PowerShellInstance = PowerShell.Create()) {
|
||||
PowerShellInstance.AddScript(scriptText);
|
||||
IAsyncResult result = PowerShellInstance.BeginInvoke();
|
||||
while (result.IsCompleted==false) {
|
||||
Console.WriteLine("Waiting for pipeline to finish...");
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
System.Windows.MessageBox.Show("Network Reset");
|
||||
}
|
||||
}
|
||||
|
||||
private void ResetNetwork(object sender, MouseButtonEventArgs e) {
|
||||
RunScript("get-netipinterface|ForEach-Object { Set-DnsClientServerAddress-InterfaceIndex $_.ifIndex-ResetServerAddresses}");
|
||||
}
|
||||
|
||||
private void DetachWindow(object sender, MouseButtonEventArgs e) {
|
||||
Application.Current.MainWindow.ShowInTaskbar = true;
|
||||
DetachButton.Visibility = Visibility.Collapsed;
|
||||
@@ -141,9 +159,5 @@ namespace ZitiTunneler
|
||||
OnAttachmentChange(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveConfig(object sender, RoutedEventArgs e) {
|
||||
// Jeremy - this can just be removed - saving the config is not important to this client
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,10 +158,38 @@
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
<RowDefinition Height="60"></RowDefinition>
|
||||
<RowDefinition Height="30"></RowDefinition>
|
||||
<RowDefinition Height="30"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Label Foreground="White" Content="Service Not Started" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
|
||||
<Label Foreground="LightGray" Content="Start the Ziti Tunnel Service to get started" Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
|
||||
<Label Name="QuitButton" Grid.Row="3" Foreground="#F4044D" FontWeight="SemiBold" Content="Quit Ziti Tunneler" Cursor="Hand" MouseDown="CloseApp" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" HorizontalAlignment="Center"></Label>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid x:Name="ErrorView" Visibility="Collapsed" Width="350">
|
||||
<Rectangle RadiusX="10" RadiusY="10">
|
||||
<Rectangle.Fill>
|
||||
<SolidColorBrush Color="Black" Opacity="0.9"/>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
<RowDefinition Height="60"></RowDefinition>
|
||||
<RowDefinition Height="80"></RowDefinition>
|
||||
<RowDefinition Height="30"></RowDefinition>
|
||||
<RowDefinition Height="30"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Label Name="ErrorTitle" Foreground="White" Content="An Error Occurred" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
|
||||
<TextBlock x:Name="ErrorDetails" TextWrapping="WrapWithOverflow" Foreground="LightGray" Padding="10" Text="An Unknown Error Occurred, you could try restarting the service and the interface to continue" Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" FontSize="14" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
|
||||
<Label Grid.Row="3" Foreground="Gray" FontWeight="Light" Content="Check the Log for Details" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" HorizontalAlignment="Center"></Label>
|
||||
<Label Name="QuitErrorButton" Grid.Row="4" Foreground="#F4044D" FontWeight="SemiBold" Content="Close" Cursor="Hand" MouseDown="CloseError" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" HorizontalAlignment="Center"></Label>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
@@ -4,12 +4,15 @@ using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.IO;
|
||||
using ZitiTunneler.Models;
|
||||
using System.IO.Compression;
|
||||
|
||||
using ZitiTunneler.ServiceClient;
|
||||
using System.ServiceProcess;
|
||||
using System.Linq;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using System.Diagnostics;
|
||||
using System.Security.Principal;
|
||||
using System.Net;
|
||||
|
||||
namespace ZitiTunneler {
|
||||
|
||||
@@ -33,40 +36,54 @@ namespace ZitiTunneler {
|
||||
}
|
||||
}
|
||||
|
||||
private List<ZitiService> services = new List<ZitiService>();
|
||||
public MainWindow() {
|
||||
InitializeComponent();
|
||||
App.Current.MainWindow.WindowState = WindowState.Normal;
|
||||
App.Current.MainWindow.Closing += MainWindow_Closing;
|
||||
notifyIcon = new System.Windows.Forms.NotifyIcon();
|
||||
notifyIcon.Visible = true;
|
||||
notifyIcon.Click += TargetNotifyIcon_Click;
|
||||
notifyIcon.Visible = true;
|
||||
notifyIcon.ShowBalloonTip(5000, "Test", "Testing", System.Windows.Forms.ToolTipIcon.Info);
|
||||
public static bool IsAdministrator() {
|
||||
using (WindowsIdentity identity = WindowsIdentity.GetCurrent()) {
|
||||
WindowsPrincipal principal = new WindowsPrincipal(identity);
|
||||
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateServiceFiles() {
|
||||
if (!Directory.Exists(Path.Combine(Environment.CurrentDirectory, "Service"))) Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "Service"));
|
||||
string[] files = Directory.GetFiles(Path.Combine(Environment.CurrentDirectory, "Service"));
|
||||
foreach (string file in files) {
|
||||
File.Delete(file);
|
||||
Console.WriteLine($"{file} is deleted.");
|
||||
}
|
||||
WebClient webClient = new WebClient();
|
||||
webClient.DownloadFile("https://actieve.com/windows-tunneler.zip", Path.Combine(Environment.CurrentDirectory, "Service")+@"\windows-tunneler.zip");
|
||||
ZipFile.ExtractToDirectory(Path.Combine(Environment.CurrentDirectory, "Service")+@"\windows-tunneler.zip", Path.Combine(Environment.CurrentDirectory, "Service"));
|
||||
}
|
||||
|
||||
private void LaunchOrInstall() {
|
||||
ServiceController ctl = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName=="ziti");
|
||||
if (ctl==null) {
|
||||
ProcessStartInfo installService = new ProcessStartInfo();
|
||||
installService.CreateNoWindow = true;
|
||||
installService.UseShellExecute = false;
|
||||
installService.FileName = Path.Combine(Environment.CurrentDirectory, "Service")+@"\ziti-tunnel.exe";
|
||||
installService.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
installService.Arguments =" install";
|
||||
if (IsAdministrator()) {
|
||||
UpdateServiceFiles();
|
||||
ProcessStartInfo installService = new ProcessStartInfo();
|
||||
installService.CreateNoWindow = true;
|
||||
installService.UseShellExecute = false;
|
||||
installService.FileName = Path.Combine(Environment.CurrentDirectory, "Service") + @"\ziti-tunnel.exe";
|
||||
installService.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
installService.Arguments = "install";
|
||||
|
||||
try {
|
||||
using (Process exeProcess = Process.Start(installService)) {
|
||||
exeProcess.WaitForExit();
|
||||
}
|
||||
ctl = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName=="ziti");
|
||||
if (ctl.Status!=ServiceControllerStatus.Running) {
|
||||
try {
|
||||
ctl.Start();
|
||||
} catch (Exception e) {
|
||||
SetCantDisplay();
|
||||
try {
|
||||
using (Process exeProcess = Process.Start(installService)) {
|
||||
exeProcess.WaitForExit();
|
||||
ctl = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName == "ziti");
|
||||
if (ctl.Status != ServiceControllerStatus.Running) {
|
||||
try {
|
||||
ctl.Start();
|
||||
} catch (Exception e) {
|
||||
SetCantDisplay();
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ShowError("Error Installing Service", e.ToString());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
MessageBox.Show(e.ToString());
|
||||
} else {
|
||||
ShowError("Admin Account", "Unable to install service, Admin Account required.");
|
||||
}
|
||||
} else {
|
||||
if (ctl.Status!=ServiceControllerStatus.Running) {
|
||||
@@ -77,7 +94,20 @@ namespace ZitiTunneler {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<ZitiService> services = new List<ZitiService>();
|
||||
public MainWindow() {
|
||||
InitializeComponent();
|
||||
|
||||
App.Current.MainWindow.WindowState = WindowState.Normal;
|
||||
App.Current.MainWindow.Closing += MainWindow_Closing;
|
||||
notifyIcon = new System.Windows.Forms.NotifyIcon();
|
||||
notifyIcon.Visible = true;
|
||||
notifyIcon.Click += TargetNotifyIcon_Click;
|
||||
notifyIcon.Visible = true;
|
||||
|
||||
LaunchOrInstall();
|
||||
SetNotifyIcon("white");
|
||||
InitializeComponent();
|
||||
}
|
||||
@@ -112,18 +142,6 @@ namespace ZitiTunneler {
|
||||
private void TargetNotifyIcon_Click(object sender, EventArgs e) {
|
||||
this.Show();
|
||||
this.Activate();
|
||||
/*
|
||||
if (App.Current.MainWindow.WindowState==WindowState.Minimized) {
|
||||
App.Current.MainWindow.WindowState = WindowState.Normal;
|
||||
App.Current.MainWindow.BringIntoView();
|
||||
//this.Opacity = 1;
|
||||
//this.Activate();
|
||||
} else {
|
||||
App.Current.MainWindow.WindowState = WindowState.Minimized;
|
||||
this.Close();
|
||||
//this.Opacity = 0;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
private void MainWindow1_Loaded(object sender, RoutedEventArgs e) {
|
||||
@@ -154,95 +172,74 @@ namespace ZitiTunneler {
|
||||
IdentityMenu.OnForgot += IdentityForgotten;
|
||||
}
|
||||
|
||||
private void ServiceClient_OnClientConnected(object sender, object e)
|
||||
{
|
||||
this.Dispatcher.Invoke(() =>
|
||||
{
|
||||
private void ServiceClient_OnClientConnected(object sender, object e) {
|
||||
this.Dispatcher.Invoke(() => {
|
||||
//e is _ALWAYS_ null at this time use this to display something if you want
|
||||
NoServiceView.Visibility = Visibility.Collapsed;
|
||||
SetNotifyIcon("white");
|
||||
});
|
||||
}
|
||||
|
||||
private void ServiceClient_OnClientDisconnected(object sender, object e)
|
||||
{
|
||||
this.Dispatcher.Invoke(() =>
|
||||
{
|
||||
private void ServiceClient_OnClientDisconnected(object sender, object e) {
|
||||
this.Dispatcher.Invoke(() => {
|
||||
SetCantDisplay();
|
||||
});
|
||||
}
|
||||
|
||||
private void ServiceClient_OnIdentityEvent(object sender, IdentityEvent e)
|
||||
{
|
||||
private void ServiceClient_OnIdentityEvent(object sender, IdentityEvent e) {
|
||||
if (e == null) return;
|
||||
|
||||
ZitiIdentity zid = ZitiIdentity.FromClient(e.Id);
|
||||
Debug.WriteLine($"==== IdentityEvent : action:{e.Action} fingerprint:{e.Id.FingerPrint} name:{e.Id.Name} ");
|
||||
|
||||
this.Dispatcher.Invoke(() =>
|
||||
{
|
||||
if (e.Action == "added")
|
||||
{
|
||||
this.Dispatcher.Invoke(() => {
|
||||
if (e.Action == "added") {
|
||||
var found = identities.Find(i => i.Fingerprint == e.Id.FingerPrint);
|
||||
if (found == null)
|
||||
{
|
||||
if (found == null) {
|
||||
identities.Add(zid);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
IdentityForgotten(ZitiIdentity.FromClient(e.Id));
|
||||
}
|
||||
LoadIdentities();
|
||||
});
|
||||
MessageBox.Show($"IDENTITY EVENT. Action: {e.Action} fingerprint: {zid.Fingerprint}");
|
||||
Debug.WriteLine($"IDENTITY EVENT. Action: {e.Action} fingerprint: {zid.Fingerprint}");
|
||||
}
|
||||
|
||||
private void ServiceClient_OnMetricsEvent(object sender, List<Identity> ids)
|
||||
{
|
||||
if (ids != null)
|
||||
{
|
||||
private void ServiceClient_OnMetricsEvent(object sender, List<Identity> ids) {
|
||||
if (ids != null) {
|
||||
long totalUp = 0;
|
||||
long totalDown = 0;
|
||||
foreach (var id in ids)
|
||||
{
|
||||
foreach (var id in ids) {
|
||||
Debug.WriteLine($"==== MetricsEvent : id {id.Name} down: {id.Metrics.Down} up:{id.Metrics.Up}");
|
||||
if (id?.Metrics != null)
|
||||
{
|
||||
if (id?.Metrics != null) {
|
||||
totalDown += id.Metrics.Down;
|
||||
totalUp += id.Metrics.Up;
|
||||
}
|
||||
}
|
||||
this.Dispatcher.Invoke(() =>
|
||||
{
|
||||
this.Dispatcher.Invoke(() => {
|
||||
DownloadSpeed.Content = (totalDown / 1000).ToString();
|
||||
UploadSpeed.Content = (totalUp / 1000).ToString();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ServiceClient_OnServiceEvent(object sender, ServiceEvent e)
|
||||
{
|
||||
private void ServiceClient_OnServiceEvent(object sender, ServiceEvent e) {
|
||||
if (e == null) return;
|
||||
|
||||
Debug.WriteLine($"==== ServiceEvent : action:{e.Action} fingerprint:{e.Fingerprint} name:{e.Service.Name} ");
|
||||
this.Dispatcher.Invoke(() =>
|
||||
{
|
||||
this.Dispatcher.Invoke(() => {
|
||||
var found = identities.Find(id => id.Fingerprint == e.Fingerprint);
|
||||
|
||||
if (found == null)
|
||||
{
|
||||
if (found == null) {
|
||||
Debug.WriteLine($"{e.Action} service event for {e.Service.Name} but the provided identity fingerprint {e.Fingerprint} is not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Action == "added")
|
||||
{
|
||||
if (e.Action == "added") {
|
||||
ZitiService zs = new ZitiService(e.Service.Name, e.Service.HostName, e.Service.Port);
|
||||
found.Services.Add(zs);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
found.Services.RemoveAll(s => s.Name == e.Service.Name);
|
||||
}
|
||||
LoadIdentities();
|
||||
@@ -394,13 +391,12 @@ namespace ZitiTunneler {
|
||||
//MessageBox.Show("New identity added with fingerprint: " + createdId.FingerPrint);
|
||||
//updateViewWithIdentity(createdId);
|
||||
} else {
|
||||
// Jeremy buddy - error popup here
|
||||
MessageBox.Show("created id was null - wtf jeremy. your fault, um nope your fault clint, or probably Andrews");
|
||||
ShowError("Identity Error", "Identity Id was null, please try again");
|
||||
}
|
||||
} catch (ServiceException se) {
|
||||
MessageBox.Show(se.AdditionalInfo, se.Message);
|
||||
ShowError(se.AdditionalInfo, se.Message);
|
||||
} catch (Exception ex) {
|
||||
MessageBox.Show("Unexpected error 2", ex.Message);
|
||||
ShowError("Unexpected Error", "Code 2:" + ex.Message);
|
||||
}
|
||||
LoadIdentities();
|
||||
}
|
||||
@@ -413,9 +409,9 @@ namespace ZitiTunneler {
|
||||
ConnectButton.Visibility = Visibility.Collapsed;
|
||||
DisconnectButton.Visibility = Visibility.Visible;
|
||||
} catch (ServiceException se) {
|
||||
MessageBox.Show(se.AdditionalInfo, se.Message);
|
||||
ShowError(se.AdditionalInfo, se.Message);
|
||||
} catch (Exception ex) {
|
||||
MessageBox.Show("Unexpected error 3", ex.Message);
|
||||
ShowError("Unexpected Error", "Code 3:" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -447,9 +443,9 @@ namespace ZitiTunneler {
|
||||
ConnectButton.Visibility = Visibility.Visible;
|
||||
DisconnectButton.Visibility = Visibility.Collapsed;
|
||||
} catch (ServiceException se) {
|
||||
MessageBox.Show(se.AdditionalInfo, se.Message);
|
||||
ShowError(se.AdditionalInfo, se.Message);
|
||||
} catch (Exception ex) {
|
||||
MessageBox.Show("Unexpected error 4", ex.Message);
|
||||
ShowError("Unexpected Error", "Code 4:"+ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,5 +460,19 @@ namespace ZitiTunneler {
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowError(String title, String message) {
|
||||
ErrorTitle.Content = title;
|
||||
ErrorDetails.Text = message;
|
||||
ErrorView.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void CloseError(object sender, MouseButtonEventArgs e) {
|
||||
ErrorView.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void CloseApp(object sender, MouseButtonEventArgs e) {
|
||||
Application.Current.Shutdown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBox Name="MainLabel" MaxWidth="150" BorderThickness="0" Background="White" ClipToBounds="True" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="12" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" Foreground="Black"></TextBox>
|
||||
<TextBox Name="MainEdit" GotFocus="MainEdit_GotFocus" MaxWidth="150" Grid.Column="1" HorizontalAlignment="Right" BorderThickness="0" Background="White" TextAlignment="Right" Padding="12,12,12,12" FontSize="12" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" ></TextBox>
|
||||
<TextBox Name="MainEdit" GotFocus="MainEdit_GotFocus" MaxWidth="200" Grid.Column="1" HorizontalAlignment="Right" BorderThickness="0" Background="White" TextAlignment="Right" Padding="12,12,12,12" FontSize="12" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" ></TextBox>
|
||||
</Grid>
|
||||
<Rectangle HorizontalAlignment="Stretch" Height="1" Fill="#7d8faf" Opacity="0.2"></Rectangle>
|
||||
</StackPanel>
|
||||
|
||||
@@ -3,6 +3,4 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ZitiTunneler">
|
||||
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
||||
@@ -15,6 +15,29 @@
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<SupportUrl>https://support.netfoundry.io</SupportUrl>
|
||||
<TargetCulture>en-US</TargetCulture>
|
||||
<ProductName>Ziti Tunneler</ProductName>
|
||||
<PublisherName>NetFoundry</PublisherName>
|
||||
<SuiteName>Ziti</SuiteName>
|
||||
<AutorunEnabled>true</AutorunEnabled>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@@ -38,6 +61,22 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestCertificateThumbprint>189AAD422A106DC81E8E79C7E0D2118CEB2E6321</ManifestCertificateThumbprint>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestKeyFile>
|
||||
</ManifestKeyFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<GenerateManifests>false</GenerateManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignManifests>true</SignManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetZone>LocalIntranet</TargetZone>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
@@ -45,6 +84,19 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Management.Automation.dll.10.0.10586.0\lib\net40\System.Management.Automation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Management.Instrumentation" />
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Net.NetworkInformation, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Net.NetworkInformation.4.3.0\lib\net46\System.Net.NetworkInformation.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
@@ -175,6 +227,7 @@
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.manifest" />
|
||||
<None Include="ZitiTunneler_TemporaryKey.pfx" />
|
||||
<Resource Include="Assets\Fonts\open_sans.ttf">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
@@ -260,5 +313,28 @@
|
||||
<Resource Include="Assets\Images\ziti-white.ico" />
|
||||
<Resource Include="Assets\Images\Ziti-White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.8 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<FileAssociation Include=".ziti">
|
||||
<Visible>False</Visible>
|
||||
<Description>Ziti Identity</Description>
|
||||
<Progid>Ziti</Progid>
|
||||
<DefaultIcon>Assets\Images\ziti-white.ico</DefaultIcon>
|
||||
</FileAssociation>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Assets\Images\server.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
@@ -16,35 +16,32 @@
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<!--requestedExecutionLevel level="requireAdministrator" uiAccess="false" /-->
|
||||
<!--requestedExecutionLevel level="requireAdministrator" uiAccess="false" /-->
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
<applicationRequestMinimum>
|
||||
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
</applicationRequestMinimum>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on
|
||||
and is designed to work with. Uncomment the appropriate elements
|
||||
and Windows will automatically select the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
@@ -56,7 +53,6 @@
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<!--
|
||||
<dependency>
|
||||
@@ -72,5 +68,4 @@
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
||||
</assembly>
|
||||
@@ -1,4 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
|
||||
<package id="System.Management.Automation.dll" version="10.0.10586.0" targetFramework="net48" />
|
||||
<package id="System.Net.NetworkInformation" version="4.3.0" targetFramework="net48" />
|
||||
</packages>
|
||||
|
Before Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 117 B |
|
Before Width: | Height: | Size: 137 B |
|
Before Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 309 B |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 574 B |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |