Compare commits

..

12 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
2dust 8ea76fd318 up 7.12.1 2025-05-04 17:44:36 +08:00
2dust 693a96fff2 Update Directory.Packages.props 2025-05-04 17:44:04 +08:00
DHR60 8b4e2f8f23 Fix DNS (#7233)
* Fix DNS

* Removes expectIPs from remote DNS
2025-05-04 17:28:57 +08:00
2dust 13b164acac Enhanced sorting function, can sort by statistics 2025-05-03 11:29:36 +08:00
2dust e590547b30 Revert "Bug fix"
This reverts commit 5a0fdd971a.
2025-05-02 10:44:20 +08:00
2dust 5a0fdd971a Bug fix
https://github.com/2dust/v2rayN/issues/7211
2025-04-30 14:12:02 +08:00
13 changed files with 98 additions and 57 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<Version>7.12.0</Version>
<Version>7.12.2</Version>
</PropertyGroup>
<PropertyGroup>
+4 -4
View File
@@ -5,10 +5,10 @@
<CentralPackageVersionOverrideEnabled>false</CentralPackageVersionOverrideEnabled>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.2.8" />
<PackageVersion Include="Avalonia.Desktop" Version="11.2.8" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.2.8" />
<PackageVersion Include="Avalonia.ReactiveUI" Version="11.2.8" />
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.3.0" />
<PackageVersion Include="Avalonia.Desktop" Version="11.3.0" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.0" />
<PackageVersion Include="Avalonia.ReactiveUI" Version="11.3.0" />
<PackageVersion Include="CliWrap" Version="3.8.2" />
<PackageVersion Include="Downloader" Version="3.3.4" />
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.3.0" />
+16 -1
View File
@@ -799,8 +799,11 @@ public class ConfigHandler
{
return -1;
}
var lstServerStat = (config.GuiItem.EnableStatistics ? StatisticsHandler.Instance.ServerStat : null) ?? [];
var lstProfileExs = await ProfileExHandler.Instance.GetProfileExs();
var lstProfile = (from t in lstModel
join t2 in lstServerStat on t.IndexId equals t2.IndexId into t2b
from t22 in t2b.DefaultIfEmpty()
join t3 in lstProfileExs on t.IndexId equals t3.IndexId into t3b
from t33 in t3b.DefaultIfEmpty()
select new ProfileItemModel
@@ -815,7 +818,11 @@ public class ConfigHandler
StreamSecurity = t.StreamSecurity,
Delay = t33?.Delay ?? 0,
Speed = t33?.Speed ?? 0,
Sort = t33?.Sort ?? 0
Sort = t33?.Sort ?? 0,
TodayDown = (t22?.TodayDown ?? 0).ToString("D16"),
TodayUp = (t22?.TodayUp ?? 0).ToString("D16"),
TotalDown = (t22?.TotalDown ?? 0).ToString("D16"),
TotalUp = (t22?.TotalUp ?? 0).ToString("D16"),
}).ToList();
Enum.TryParse(colName, true, out EServerColName name);
@@ -833,6 +840,10 @@ public class ConfigHandler
EServerColName.DelayVal => lstProfile.OrderBy(t => t.Delay).ToList(),
EServerColName.SpeedVal => lstProfile.OrderBy(t => t.Speed).ToList(),
EServerColName.SubRemarks => lstProfile.OrderBy(t => t.Subid).ToList(),
EServerColName.TodayDown => lstProfile.OrderBy(t => t.TodayDown).ToList(),
EServerColName.TodayUp => lstProfile.OrderBy(t => t.TodayUp).ToList(),
EServerColName.TotalDown => lstProfile.OrderBy(t => t.TotalDown).ToList(),
EServerColName.TotalUp => lstProfile.OrderBy(t => t.TotalUp).ToList(),
_ => lstProfile
};
}
@@ -849,6 +860,10 @@ public class ConfigHandler
EServerColName.DelayVal => lstProfile.OrderByDescending(t => t.Delay).ToList(),
EServerColName.SpeedVal => lstProfile.OrderByDescending(t => t.Speed).ToList(),
EServerColName.SubRemarks => lstProfile.OrderByDescending(t => t.Subid).ToList(),
EServerColName.TodayDown => lstProfile.OrderByDescending(t => t.TodayDown).ToList(),
EServerColName.TodayUp => lstProfile.OrderByDescending(t => t.TodayUp).ToList(),
EServerColName.TotalDown => lstProfile.OrderByDescending(t => t.TotalDown).ToList(),
EServerColName.TotalUp => lstProfile.OrderByDescending(t => t.TotalUp).ToList(),
_ => lstProfile
};
}
+2 -2
View File
@@ -6,9 +6,9 @@ public class VmessFmt : BaseFmt
{
msg = ResUI.ConfigurationFormatIncorrect;
ProfileItem? item;
if (str.IndexOf('?') > 0 && str.IndexOf('&') > 0)
if (str.IndexOf('@') > 0)
{
item = ResolveStdVmess(str);
item = ResolveStdVmess(str) ?? ResolveVmess(str, out msg);
}
else
{
+4 -4
View File
@@ -6,11 +6,10 @@
"servers": [
{
"address": "1.1.1.1",
"skipFallback": true,
"domains": [
"geosite:geolocation-!cn"
],
"expectIPs": [
"geoip:!cn"
"domain:googleapis.cn",
"domain:gstatic.com"
]
},
{
@@ -23,6 +22,7 @@
"geoip:cn"
]
},
"1.1.1.1",
"8.8.8.8",
"https://dns.google/dns-query"
]
@@ -979,26 +979,6 @@ public class CoreConfigSingboxService
try
{
var dnsOutbound = "dns_out";
if (!_config.Inbound.First().SniffingEnabled)
{
singboxConfig.route.rules.Add(new()
{
port = [53],
network = ["udp"],
outbound = dnsOutbound
});
}
singboxConfig.route.rules.Insert(0, new()
{
outbound = Global.DirectTag,
clash_mode = ERuleMode.Direct.ToString()
});
singboxConfig.route.rules.Insert(0, new()
{
outbound = Global.ProxyTag,
clash_mode = ERuleMode.Global.ToString()
});
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);
if (routing != null)
{
@@ -1087,14 +1088,11 @@ public class CoreConfigSingboxService
if (item.Port.IsNotEmpty())
{
if (item.Port.Contains("-"))
{
rule.port_range = new List<string> { item.Port.Replace("-", ":") };
}
else
{
rule.port = new List<int> { item.Port.ToInt() };
}
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 = portRanges.Count > 0 ? portRanges : null;
rule.port = ports.Count > 0 ? ports : null;
}
if (item.Network.IsNotEmpty())
{
+6 -6
View File
@@ -248,12 +248,12 @@ public class UpdateService
var downloadHandle = new DownloadService();
var time = await downloadHandle.RunAvailabilityCheck(null);
var ip = Global.None;
if (time > 0)
{
var result = await downloadHandle.TryDownloadString(Global.IPAPIUrl, true, Global.IPAPIUrl);
var ipInfo = JsonUtils.Deserialize<IPAPIInfo>(result);
ip = $"({ipInfo?.country_code}) {ipInfo?.ip}";
}
//if (time > 0)
//{
// var result = await downloadHandle.TryDownloadString(Global.IPAPIUrl, true, Global.IPAPIUrl);
// var ipInfo = JsonUtils.Deserialize<IPAPIInfo>(result);
// ip = $"({ipInfo?.country_code}) {ipInfo?.ip}";
//}
return string.Format(ResUI.TestMeOutput, time, ip);
}
+1 -1
View File
@@ -43,7 +43,7 @@ public partial class App : Application
{
if (e.ExceptionObject != null)
{
Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject!);
Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject);
}
}
@@ -52,9 +52,16 @@ public partial class ClashConnectionsView : ReactiveUserControl<ClashConnections
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);
}
}
@@ -345,9 +345,16 @@ public partial class ProfilesView : ReactiveUserControl<ProfilesViewModel>
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);
}
}
+1 -1
View File
@@ -56,7 +56,7 @@ public partial class App : Application
{
if (e.ExceptionObject != null)
{
Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject!);
Logging.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject);
}
}
@@ -55,9 +55,16 @@ public partial class ClashConnectionsView
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);
}
}
+9 -2
View File
@@ -323,9 +323,16 @@ public partial class ProfilesView
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);
}
}