Compare commits

...

6 Commits

Author SHA1 Message Date
2dust
8381fefb78 up 7.12.2 2025-05-11 10:39:02 +08:00
2dust
d3b95d781a Removed the function of displaying the current connection IP
https://github.com/2dust/v2rayN/discussions/7268
2025-05-11 10:38:48 +08:00
2dust
3a4a96f87a Fix
https://github.com/2dust/v2rayN/issues/7258
2025-05-09 14:33:41 +08:00
2dust
3d462c4be3 Fix
https://github.com/2dust/v2rayN/issues/7247
2025-05-08 15:56:52 +08:00
2dust
82b366cd9b Fix
https://github.com/2dust/v2rayN/issues/7244
2025-05-07 14:28:55 +08:00
DHR60
897a4e5635 Move exe direct rule before clash_mode (#7236) 2025-05-05 13:59:14 +08:00
10 changed files with 73 additions and 47 deletions

View File

@@ -1,7 +1,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<Version>7.12.1</Version> <Version>7.12.2</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>

View File

@@ -6,9 +6,9 @@ public class VmessFmt : BaseFmt
{ {
msg = ResUI.ConfigurationFormatIncorrect; msg = ResUI.ConfigurationFormatIncorrect;
ProfileItem? item; ProfileItem? item;
if (str.IndexOf('?') > 0 && str.IndexOf('&') > 0) if (str.IndexOf('@') > 0)
{ {
item = ResolveStdVmess(str); item = ResolveStdVmess(str) ?? ResolveVmess(str, out msg);
} }
else else
{ {

View File

@@ -979,26 +979,6 @@ public class CoreConfigSingboxService
try try
{ {
var dnsOutbound = "dns_out"; var dnsOutbound = "dns_out";
if (!_config.Inbound.First().SniffingEnabled)
{
singboxConfig.route.rules.Add(new()
{
port = [53],
network = ["udp"],
outbound = dnsOutbound
});
}
singboxConfig.route.rules.Add(new()
{
outbound = Global.DirectTag,
clash_mode = ERuleMode.Direct.ToString()
});
singboxConfig.route.rules.Add(new()
{
outbound = Global.ProxyTag,
clash_mode = ERuleMode.Global.ToString()
});
if (_config.TunModeItem.EnableTun) if (_config.TunModeItem.EnableTun)
{ {
@@ -1025,6 +1005,27 @@ public class CoreConfigSingboxService
}); });
} }
if (!_config.Inbound.First().SniffingEnabled)
{
singboxConfig.route.rules.Add(new()
{
port = [53],
network = ["udp"],
outbound = dnsOutbound
});
}
singboxConfig.route.rules.Add(new()
{
outbound = Global.DirectTag,
clash_mode = ERuleMode.Direct.ToString()
});
singboxConfig.route.rules.Add(new()
{
outbound = Global.ProxyTag,
clash_mode = ERuleMode.Global.ToString()
});
var routing = await ConfigHandler.GetDefaultRouting(_config); var routing = await ConfigHandler.GetDefaultRouting(_config);
if (routing != null) if (routing != null)
{ {
@@ -1087,14 +1088,11 @@ public class CoreConfigSingboxService
if (item.Port.IsNotEmpty()) if (item.Port.IsNotEmpty())
{ {
if (item.Port.Contains("-")) var portRanges = item.Port.Split(',').Where(it => it.Contains('-')).Select(it => it.Replace("-", ":")).ToList();
{ var ports = item.Port.Split(',').Where(it => !it.Contains('-')).Select(it => it.ToInt()).ToList();
rule.port_range = new List<string> { item.Port.Replace("-", ":") };
} rule.port_range = portRanges.Count > 0 ? portRanges : null;
else rule.port = ports.Count > 0 ? ports : null;
{
rule.port = new List<int> { item.Port.ToInt() };
}
} }
if (item.Network.IsNotEmpty()) if (item.Network.IsNotEmpty())
{ {

View File

@@ -248,12 +248,12 @@ public class UpdateService
var downloadHandle = new DownloadService(); var downloadHandle = new DownloadService();
var time = await downloadHandle.RunAvailabilityCheck(null); var time = await downloadHandle.RunAvailabilityCheck(null);
var ip = Global.None; var ip = Global.None;
if (time > 0) //if (time > 0)
{ //{
var result = await downloadHandle.TryDownloadString(Global.IPAPIUrl, true, Global.IPAPIUrl); // var result = await downloadHandle.TryDownloadString(Global.IPAPIUrl, true, Global.IPAPIUrl);
var ipInfo = JsonUtils.Deserialize<IPAPIInfo>(result); // var ipInfo = JsonUtils.Deserialize<IPAPIInfo>(result);
ip = $"({ipInfo?.country_code}) {ipInfo?.ip}"; // ip = $"({ipInfo?.country_code}) {ipInfo?.ip}";
} //}
return string.Format(ResUI.TestMeOutput, time, ip); return string.Format(ResUI.TestMeOutput, time, ip);
} }

View File

@@ -43,7 +43,7 @@ public partial class App : Application
{ {
if (e.ExceptionObject != null) if (e.ExceptionObject != null)
{ {
Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject!); Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject);
} }
} }

View File

@@ -52,9 +52,16 @@ public partial class ClashConnectionsView : ReactiveUserControl<ClashConnections
private void AutofitColumnWidth() private void AutofitColumnWidth()
{ {
foreach (var it in lstConnections.Columns) try
{ {
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); foreach (var it in lstConnections.Columns)
{
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);
}
}
catch (Exception ex)
{
Logging.SaveLog("ClashConnectionsView", ex);
} }
} }

View File

@@ -345,9 +345,16 @@ public partial class ProfilesView : ReactiveUserControl<ProfilesViewModel>
private void AutofitColumnWidth() private void AutofitColumnWidth()
{ {
foreach (var it in lstProfiles.Columns) try
{ {
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); foreach (var it in lstProfiles.Columns)
{
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);
}
}
catch (Exception ex)
{
Logging.SaveLog("ProfilesView", ex);
} }
} }

View File

@@ -56,7 +56,7 @@ public partial class App : Application
{ {
if (e.ExceptionObject != null) if (e.ExceptionObject != null)
{ {
Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject!); Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject);
} }
} }

View File

@@ -55,9 +55,16 @@ public partial class ClashConnectionsView
private void AutofitColumnWidth() private void AutofitColumnWidth()
{ {
foreach (var it in lstConnections.Columns) try
{ {
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); foreach (var it in lstConnections.Columns)
{
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);
}
}
catch (Exception ex)
{
Logging.SaveLog("ClashConnectionsView", ex);
} }
} }

View File

@@ -323,9 +323,16 @@ public partial class ProfilesView
private void AutofitColumnWidth() private void AutofitColumnWidth()
{ {
foreach (var it in lstProfiles.Columns) try
{ {
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); foreach (var it in lstProfiles.Columns)
{
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);
}
}
catch (Exception ex)
{
Logging.SaveLog("ProfilesView", ex);
} }
} }