Compare commits

...

8 Commits

Author SHA1 Message Date
2dust
4875b37f70 up 7.12.5 2025-05-25 19:12:06 +08:00
2dust
2f3fba73de Bug fix
https://github.com/2dust/v2rayN/issues/7333
2025-05-25 19:11:42 +08:00
2dust
2ab1b9068f up 7.12.4 2025-05-21 20:00:41 +08:00
DHR60
b9613875ce Determine .exe suffix based on OS in GenRoutingDirectExe (#7322)
* Determine .exe suffix based on OS in GenRoutingDirectExe

* Uses Utils.GetExeName
2025-05-21 19:57:23 +08:00
2dust
5d2aea6b4f Change the inbound of the xray configuration file from socks to mixed 2025-05-17 14:51:18 +08:00
Pk-web6936
5824e18ed6 Update Persian translate (#7273) 2025-05-15 19:21:53 +08:00
2dust
4f8648cbc9 Fix
https://github.com/2dust/v2rayN/issues/7270
2025-05-12 20:29:34 +08:00
2dust
01b021b2c3 Bug fix
https://github.com/2dust/v2rayN/issues/7279
2025-05-12 20:28:28 +08:00
12 changed files with 35 additions and 51 deletions

View File

@@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<Version>7.12.3</Version>
<Version>7.12.5</Version>
</PropertyGroup>
<PropertyGroup>

View File

@@ -1417,6 +1417,6 @@
<value>صادر کردن سرور</value>
</data>
<data name="TbSettingsIPAPIUrl" xml:space="preserve">
<value>Current connection info test URL</value>
<value>URL آزمایش اطلاعات اتصال فعلی</value>
</data>
</root>
</root>

View File

@@ -1048,28 +1048,30 @@ public class CoreConfigSingboxService
private void GenRoutingDirectExe(out List<string> lstDnsExe, out List<string> lstDirectExe)
{
lstDnsExe = new();
lstDirectExe = new();
var coreInfo = CoreInfoHandler.Instance.GetCoreInfo();
foreach (var it in coreInfo)
var dnsExeSet = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
var directExeSet = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
var coreInfoResult = CoreInfoHandler.Instance.GetCoreInfo();
foreach (var coreConfig in coreInfoResult)
{
if (it.CoreType == ECoreType.v2rayN)
if (coreConfig.CoreType == ECoreType.v2rayN)
{
continue;
}
foreach (var it2 in it.CoreExes)
{
if (!lstDnsExe.Contains(it2) && it.CoreType != ECoreType.sing_box)
{
lstDnsExe.Add($"{it2}.exe");
}
if (!lstDirectExe.Contains(it2))
foreach (var baseExeName in coreConfig.CoreExes)
{
if (coreConfig.CoreType != ECoreType.sing_box)
{
lstDirectExe.Add($"{it2}.exe");
dnsExeSet.Add(Utils.GetExeName(baseExeName));
}
directExeSet.Add(Utils.GetExeName(baseExeName));
}
}
lstDnsExe = new List<string>(dnsExeSet);
lstDirectExe = new List<string>(directExeSet);
}
private async Task<int> GenRoutingUserRule(RulesItem item, List<Rule4Sbox> rules)

View File

@@ -328,7 +328,7 @@ public class CoreConfigV2rayService
{
listen = Global.Loopback,
port = port,
protocol = EInboundProtocol.socks.ToString(),
protocol = EInboundProtocol.mixed.ToString(),
};
inbound.tag = inbound.protocol + inbound.port.ToString();
v2rayConfig.inbounds.Add(inbound);
@@ -403,7 +403,7 @@ public class CoreConfigV2rayService
tag = $"{EInboundProtocol.socks}{port}",
listen = Global.Loopback,
port = port,
protocol = EInboundProtocol.socks.ToString(),
protocol = EInboundProtocol.mixed.ToString(),
});
ret.Msg = string.Format(ResUI.SuccessfulConfiguration, "");
@@ -507,7 +507,7 @@ public class CoreConfigV2rayService
}
inbound.tag = protocol.ToString();
inbound.port = inItem.LocalPort + (int)protocol;
inbound.protocol = EInboundProtocol.socks.ToString();
inbound.protocol = EInboundProtocol.mixed.ToString();
inbound.settings.udp = inItem.UdpEnabled;
inbound.sniffing.enabled = inItem.SniffingEnabled;
inbound.sniffing.destOverride = inItem.DestOverride;

View File

@@ -194,11 +194,11 @@ public class UpdateService
{
if (Utils.IsBase64String(result2))
{
result += Utils.Base64Decode(result2);
result += Environment.NewLine + Utils.Base64Decode(result2);
}
else
{
result += result2;
result += Environment.NewLine + result2;
}
}
}

View File

@@ -388,7 +388,7 @@ public partial class MainWindow : ReactiveWindow<MainWindowViewModel>
private async void MenuClose_Click(object? sender, RoutedEventArgs e)
{
if (await UI.ShowYesNo(this, ResUI.menuExitTips) == ButtonResult.No)
if (await UI.ShowYesNo(this, ResUI.menuExitTips) != ButtonResult.Yes)
{
return;
}

View File

@@ -138,7 +138,7 @@ public partial class ProfilesView : ReactiveUserControl<ProfilesViewModel>
break;
case EViewAction.ShowYesNo:
if (await UI.ShowYesNo(_window, ResUI.RemoveServer) == ButtonResult.No)
if (await UI.ShowYesNo(_window, ResUI.RemoveServer) != ButtonResult.Yes)
{
return false;
}

View File

@@ -80,14 +80,14 @@ public partial class RoutingRuleSettingWindow : ReactiveWindow<RoutingRuleSettin
break;
case EViewAction.ShowYesNo:
if (await UI.ShowYesNo(this, ResUI.RemoveServer) == ButtonResult.No)
if (await UI.ShowYesNo(this, ResUI.RemoveServer) != ButtonResult.Yes)
{
return false;
}
break;
case EViewAction.AddBatchRoutingRulesYesNo:
if (await UI.ShowYesNo(this, ResUI.AddBatchRoutingRulesYesNo) == ButtonResult.No)
if (await UI.ShowYesNo(this, ResUI.AddBatchRoutingRulesYesNo) != ButtonResult.Yes)
{
return false;
}

View File

@@ -68,7 +68,7 @@ public partial class RoutingSettingWindow : ReactiveWindow<RoutingSettingViewMod
break;
case EViewAction.ShowYesNo:
if (await UI.ShowYesNo(this, ResUI.RemoveRules) == ButtonResult.No)
if (await UI.ShowYesNo(this, ResUI.RemoveRules) != ButtonResult.Yes)
{
return false;
}

View File

@@ -45,7 +45,7 @@ public partial class SubSettingWindow : ReactiveWindow<SubSettingViewModel>
break;
case EViewAction.ShowYesNo:
if (await UI.ShowYesNo(this, ResUI.RemoveServer) == ButtonResult.No)
if (await UI.ShowYesNo(this, ResUI.RemoveServer) != ButtonResult.Yes)
{
return false;
}

View File

@@ -18,9 +18,6 @@
<UserControl.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
<conv:DelayColorConverter x:Key="DelayColorConverter" />
<Style x:Key="AccessibleMyChipListBoxItem" TargetType="ListBoxItem" BasedOn="{StaticResource MyChipListBoxItem}">
<Setter Property="AutomationProperties.Name" Value="{Binding Remarks}" />
</Style>
</UserControl.Resources>
<Grid>
<DockPanel>
@@ -28,10 +25,10 @@
<ListBox
x:Name="lstGroup"
MaxHeight="200"
AutomationProperties.Name="{x:Static resx:ResUI.menuSubscription}"
FontSize="{DynamicResource StdFontSize}"
ItemContainerStyle="{StaticResource AccessibleMyChipListBoxItem}"
Style="{StaticResource MaterialDesignChoiceChipPrimaryOutlineListBox}"
AutomationProperties.Name="{x:Static resx:ResUI.menuSubscription}">
ItemContainerStyle="{StaticResource MyChipListBoxItem}"
Style="{StaticResource MaterialDesignChoiceChipPrimaryOutlineListBox}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Remarks}" />

View File

@@ -92,12 +92,7 @@
AutomationProperties.Name="{x:Static resx:ResUI.menuRouting}"
DisplayMemberPath="Remarks"
FontSize="{DynamicResource StdFontSize}"
Style="{StaticResource MaterialDesignFloatingHintComboBox}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="AutomationProperties.Name" Value="{Binding Remarks}" />
</Style>
</ComboBox.ItemContainerStyle>
Style="{StaticResource MaterialDesignFloatingHintComboBox}">
</ComboBox>
</StackPanel>
@@ -190,12 +185,7 @@
AutomationProperties.Name="{x:Static resx:ResUI.menuRouting}"
DisplayMemberPath="Remarks"
FontSize="{DynamicResource StdFontSize}"
Style="{StaticResource MaterialDesignFilledComboBox}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="AutomationProperties.Name" Value="{Binding Remarks}" />
</Style>
</ComboBox.ItemContainerStyle>
Style="{StaticResource MaterialDesignFilledComboBox}">
</ComboBox>
</DockPanel>
</MenuItem.Header>
@@ -210,12 +200,7 @@
AutomationProperties.Name="{x:Static resx:ResUI.menuServers}"
DisplayMemberPath="Text"
FontSize="{DynamicResource StdFontSize}"
Style="{StaticResource MaterialDesignFilledComboBox}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="AutomationProperties.Name" Value="{Binding Text}" />
</Style>
</ComboBox.ItemContainerStyle>
Style="{StaticResource MaterialDesignFilledComboBox}">
</ComboBox>
</DockPanel>
</MenuItem.Header>