mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
Nuget package updates
- WindowsFirewallHelper
This commit is contained in:
parent
38691bc939
commit
4ac3fdc7d2
7 changed files with 22 additions and 20 deletions
|
|
@ -425,7 +425,7 @@ namespace ServerManagerTool.Lib
|
|||
ports.Add(this.ProfileSnapshot.RCONPort);
|
||||
}
|
||||
|
||||
if (!FirewallUtils.CreateFirewallRules(serverExe, ports, $"{Config.Default.FirewallRulePrefix} {this.ProfileSnapshot.ServerName}"))
|
||||
if (!FirewallUtils.CreateFirewallRules(serverExe, ports, $"{Config.Default.FirewallRulePrefix} {this.ProfileSnapshot.ServerName}", description: "", group: Config.Default.FirewallRulePrefix.Replace(":", "")))
|
||||
{
|
||||
var result = MessageBox.Show("Failed to automatically set firewall rules. If you are running custom firewall software, you may need to set your firewall rules manually. You may turn off automatic firewall management in Settings.\r\n\r\nWould you like to continue running the server anyway?", "Automatic Firewall Management Error", MessageBoxButton.YesNo, MessageBoxImage.Warning);
|
||||
if (result == MessageBoxResult.No)
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@
|
|||
<value>ConanServerManager</value>
|
||||
</setting>
|
||||
<setting name="FirewallRulePrefix" serializeAs="String">
|
||||
<value>ConanServer:</value>
|
||||
<value>Conan Server:</value>
|
||||
</setting>
|
||||
<setting name="DonationUrl" serializeAs="String">
|
||||
<value>https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=bletch1971%40hotmail%2ecom&lc=US&item_name=Server%20Manager&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted</value>
|
||||
|
|
|
|||
2
src/ConanServerManager/Config.Designer.cs
generated
2
src/ConanServerManager/Config.Designer.cs
generated
|
|
@ -1244,7 +1244,7 @@ namespace ServerManagerTool {
|
|||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("ConanServer:")]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Conan Server:")]
|
||||
public string FirewallRulePrefix {
|
||||
get {
|
||||
return ((string)(this["FirewallRulePrefix"]));
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@
|
|||
<Value Profile="(Default)">ConanServerManager</Value>
|
||||
</Setting>
|
||||
<Setting Name="FirewallRulePrefix" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">ConanServer:</Value>
|
||||
<Value Profile="(Default)">Conan Server:</Value>
|
||||
</Setting>
|
||||
<Setting Name="DonationUrl" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=bletch1971%40hotmail%2ecom&lc=US&item_name=Server%20Manager&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted</Value>
|
||||
|
|
|
|||
|
|
@ -432,7 +432,7 @@ namespace ServerManagerTool.Lib
|
|||
ports.Add(this.ProfileSnapshot.RconPort);
|
||||
}
|
||||
|
||||
if (!FirewallUtils.CreateFirewallRules(serverExe, ports, $"{Config.Default.FirewallRulePrefix} {this.ProfileSnapshot.ServerName}"))
|
||||
if (!FirewallUtils.CreateFirewallRules(serverExe, ports, $"{Config.Default.FirewallRulePrefix} {this.ProfileSnapshot.ServerName}", description: "", group: Config.Default.FirewallRulePrefix.Replace(":", "")))
|
||||
{
|
||||
var result = MessageBox.Show("Failed to automatically set firewall rules. If you are running custom firewall software, you may need to set your firewall rules manually. You may turn off automatic firewall management in Settings.\r\n\r\nWould you like to continue running the server anyway?", "Automatic Firewall Management Error", MessageBoxButton.YesNo, MessageBoxImage.Warning);
|
||||
if (result == MessageBoxResult.No)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<PackageReference Include="NLog" Version="4.7.2" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||
<PackageReference Include="TaskScheduler" Version="2.8.19" />
|
||||
<PackageReference Include="WindowsFirewallHelper" Version="1.6.3.40" />
|
||||
<PackageReference Include="WindowsFirewallHelper" Version="2.2.0.86" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Include="Controls\AnnotatedCheckBoxAndFloatSlider.xaml" />
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using WindowsFirewallHelper;
|
||||
using WindowsFirewallHelper.FirewallAPIv2.Rules;
|
||||
using WindowsFirewallHelper.FirewallRules;
|
||||
|
||||
/*
|
||||
WindowsFirewallHelper
|
||||
|
|
@ -39,12 +39,12 @@ namespace ServerManagerTool.Common.Utils
|
|||
/// </summary>
|
||||
public static class FirewallUtils
|
||||
{
|
||||
public static bool CreateFirewallRules(string exeName, List<int> ports, string ruleName, string description = "")
|
||||
public static bool CreateFirewallRules(string exeName, List<int> ports, string ruleName, string description = "", string group = "")
|
||||
{
|
||||
var firewallManager = FirewallManager.Instance;
|
||||
|
||||
if (firewallManager.IsSupported)
|
||||
if (FirewallWAS.IsSupported(new COMTypeResolver()))
|
||||
{
|
||||
var firewallManager = FirewallManager.Instance;
|
||||
|
||||
DeleteFirewallRules(exeName);
|
||||
|
||||
// create the TCP rule
|
||||
|
|
@ -54,10 +54,11 @@ namespace ServerManagerTool.Common.Utils
|
|||
rule.Direction = FirewallDirection.Inbound;
|
||||
rule.IsEnable = true;
|
||||
rule.LocalPorts = ports.Select(p => (ushort)p).ToArray();
|
||||
|
||||
if (rule is StandardRule)
|
||||
|
||||
if (rule is FirewallWASRule wasRule)
|
||||
{
|
||||
((StandardRule)rule).Description = description;
|
||||
wasRule.Description = description;
|
||||
wasRule.Grouping = group;
|
||||
}
|
||||
firewallManager.Rules.Add(rule);
|
||||
}
|
||||
|
|
@ -70,9 +71,10 @@ namespace ServerManagerTool.Common.Utils
|
|||
rule.IsEnable = true;
|
||||
rule.LocalPorts = ports.Select(p => (ushort)p).ToArray();
|
||||
|
||||
if (rule is StandardRule)
|
||||
if (rule is FirewallWASRule wasRule)
|
||||
{
|
||||
((StandardRule)rule).Description = description;
|
||||
wasRule.Description = description;
|
||||
wasRule.Grouping = group;
|
||||
}
|
||||
firewallManager.Rules.Add(rule);
|
||||
}
|
||||
|
|
@ -85,12 +87,12 @@ namespace ServerManagerTool.Common.Utils
|
|||
|
||||
public static bool DeleteFirewallRules(string exeName)
|
||||
{
|
||||
var firewallManager = FirewallManager.Instance;
|
||||
|
||||
if (firewallManager.IsSupported)
|
||||
if (FirewallWAS.IsSupported(new COMTypeResolver()))
|
||||
{
|
||||
var firewallManager = FirewallManager.Instance;
|
||||
|
||||
// check for existing rules
|
||||
var rulesToDelete = firewallManager.Rules.Cast<StandardRule>().Where(r => !string.IsNullOrWhiteSpace(r.ApplicationName) && r.ApplicationName.Equals(exeName, StringComparison.OrdinalIgnoreCase)).ToList();
|
||||
var rulesToDelete = firewallManager.Rules.Cast<IFirewallRule>().Where(r => !string.IsNullOrWhiteSpace(r.ApplicationName) && r.ApplicationName.Equals(exeName, StringComparison.OrdinalIgnoreCase)).ToList();
|
||||
|
||||
if (rulesToDelete != null && rulesToDelete.Count > 0)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue