Compare commits

..

42 commits

Author SHA1 Message Date
DHR60
ea48dc5431 auto-disable DNS items with empty NormalDNS on startup 2025-08-03 11:55:00 +08:00
DHR60
dbe6f4083b Uses correct DNS strategy for direct connections 2025-08-03 11:55:00 +08:00
DHR60
774d6eeb8f Refactor DNS tags handling 2025-08-03 11:55:00 +08:00
DHR60
ef2728e248 Fix 2025-08-03 11:55:00 +08:00
DHR60
54d936fd3e Regional Preset 2025-08-03 11:55:00 +08:00
DHR60
ea1a7b6b46 Fixes Combobox for desktop 2025-08-03 11:55:00 +08:00
DHR60
a2c4d4e424 Compatible 2025-08-03 11:55:00 +08:00
DHR60
65de9349dd rename DNSItem to SimpleDNSItem 2025-08-03 11:54:59 +08:00
DHR60
bdf3616a8e Fixes geoip overrides rule_set when geosite is also set 2025-08-03 11:54:59 +08:00
DHR60
715a2b07a9 Optimize ExpectedIPs Logic 2025-08-03 11:54:59 +08:00
DHR60
e8590012c4 ExpectedIPs 2025-08-03 11:54:59 +08:00
DHR60
44634db5f4 fix 2025-08-03 11:54:59 +08:00
DHR60
0f46074283 Simplify DNS Settings 2025-08-03 11:54:59 +08:00
DHR60
7841c9fe84 Updates translations 2025-08-03 11:52:33 +08:00
DHR60
59e69b4d66 Updates sing-box documentation link 2025-08-03 11:51:03 +08:00
DHR60
be09e8bc5d Fixes 2025-08-03 11:51:03 +08:00
DHR60
257bf51ded Adds anytls reality support 2025-08-03 11:51:03 +08:00
DHR60
20883380d6 Deletes Duplicate Rules 2025-08-03 11:51:03 +08:00
DHR60
9bccdf1dac Adds sing-box DomainStrategy support 2025-08-03 11:51:03 +08:00
DHR60
3ed34eb02f Adds tag resolver supports 2025-08-03 11:51:03 +08:00
DHR60
83c862afea Support sing-box hosts 2025-08-03 11:51:03 +08:00
DHR60
8f0d4be095 Removes Wireguard listen port 2025-08-03 11:51:03 +08:00
DHR60
da8417165d Adds properties to Rule4Sbox class 2025-08-03 11:51:03 +08:00
DHR60
56b619de1c Improves DNS address parsing in Singbox
DNS type, host, port, and path
2025-08-03 11:51:03 +08:00
DHR60
0fbb2f6f32 Removes direct clash_mode domain strategy 2025-08-03 11:51:03 +08:00
DHR60
8756e078a7 Fixes wrong field 2025-08-03 11:51:03 +08:00
DHR60
4f4ca3cf91 fix singbox endpoints proxy chain not work 2025-08-03 11:51:03 +08:00
DHR60
0be355ae8c Fixes config generation 2025-08-03 11:51:03 +08:00
DHR60
9506e049e7 Refactors DNS address parsing 2025-08-03 11:51:03 +08:00
DHR60
9a56824db5 Adds IPv4 preference to DNS configurations
对应原dns.servers[].strategy = prefer_ipv4
2025-08-03 11:51:03 +08:00
DHR60
cfe56fad0c Adds Sing-box legacy DNS config support 2025-08-03 11:51:03 +08:00
DHR60
1bfd3e7d08 Utils.GetFreePort() default port to be zero 2025-08-03 11:51:03 +08:00
DHR60
aec8cb7e64 support Wireguard endpoint
Refactors Singbox config classes for dial fields
2025-08-03 11:51:03 +08:00
DHR60
0f96af3142 Fetches DNS strategy for domain resolution 2025-08-03 11:51:03 +08:00
DHR60
9030830575 Enables dhcp interface configuration 2025-08-03 11:51:02 +08:00
DHR60
fcdb46581b Simplifies local DNS address handling 2025-08-03 11:51:02 +08:00
DHR60
ddedde53ea add anytls support 2025-08-03 11:51:02 +08:00
DHR60
4f15452fe2 Improves geoip rule handling in singbox 2025-08-03 11:50:33 +08:00
DHR60
648fe837f5 Adds Google cn dns rules 2025-08-03 11:50:32 +08:00
DHR60
5cdaae0a7f Migrating to singbox 1.12 support 2025-08-03 11:50:32 +08:00
DHR60
1a75faaf4f Removes unnecessary sniffer 2025-08-03 11:50:32 +08:00
DHR60
563396031f Migrating to singbox 1.11 support 2025-08-03 11:50:32 +08:00
5 changed files with 36 additions and 43 deletions

View file

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<Version>7.13.7</Version>
<Version>7.13.6</Version>
</PropertyGroup>
<PropertyGroup>

View file

@ -5,10 +5,10 @@
<CentralPackageVersionOverrideEnabled>false</CentralPackageVersionOverrideEnabled>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.3.3" />
<PackageVersion Include="Avalonia.Desktop" Version="11.3.3" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.3" />
<PackageVersion Include="Avalonia.ReactiveUI" Version="11.3.3" />
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.3.2" />
<PackageVersion Include="Avalonia.Desktop" Version="11.3.2" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.2" />
<PackageVersion Include="Avalonia.ReactiveUI" Version="11.3.2" />
<PackageVersion Include="CliWrap" Version="3.9.0" />
<PackageVersion Include="Downloader" Version="4.0.2" />
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.3.0" />

View file

@ -107,7 +107,6 @@ public class ThemeSettingViewModel : MyReactiveObject
x.OfType<Button>(),
x.OfType<TextBox>(),
x.OfType<TextBlock>(),
x.OfType<SelectableTextBlock>(),
x.OfType<Menu>(),
x.OfType<ContextMenu>(),
x.OfType<DataGridRow>(),
@ -147,7 +146,6 @@ public class ThemeSettingViewModel : MyReactiveObject
x.OfType<Button>(),
x.OfType<TextBox>(),
x.OfType<TextBlock>(),
x.OfType<SelectableTextBlock>(),
x.OfType<Menu>(),
x.OfType<ContextMenu>(),
x.OfType<DataGridRow>(),

View file

@ -69,35 +69,34 @@
IsChecked="True"
Theme="{DynamicResource SimpleToggleSwitch}" />
</WrapPanel>
<ScrollViewer x:Name="msgScrollViewer" VerticalScrollBarVisibility="Auto">
<SelectableTextBlock
Name="txtMsg"
VerticalAlignment="Stretch"
Classes="TextArea"
TextAlignment="Left"
TextWrapping="Wrap">
<SelectableTextBlock.ContextMenu>
<ContextMenu>
<MenuItem
x:Name="menuMsgViewSelectAll"
Click="menuMsgViewSelectAll_Click"
Header="{x:Static resx:ResUI.menuMsgViewSelectAll}" />
<MenuItem
x:Name="menuMsgViewCopy"
Click="menuMsgViewCopy_Click"
Header="{x:Static resx:ResUI.menuMsgViewCopy}" />
<MenuItem
x:Name="menuMsgViewCopyAll"
Click="menuMsgViewCopyAll_Click"
Header="{x:Static resx:ResUI.menuMsgViewCopyAll}" />
<MenuItem
x:Name="menuMsgViewClear"
Click="menuMsgViewClear_Click"
Header="{x:Static resx:ResUI.menuMsgViewClear}" />
</ContextMenu>
</SelectableTextBlock.ContextMenu>
</SelectableTextBlock>
</ScrollViewer>
<TextBox
Name="txtMsg"
VerticalAlignment="Stretch"
BorderThickness="0"
Classes="TextArea"
IsReadOnly="True"
TextAlignment="Left"
TextWrapping="Wrap">
<TextBox.ContextMenu>
<ContextMenu>
<MenuItem
x:Name="menuMsgViewSelectAll"
Click="menuMsgViewSelectAll_Click"
Header="{x:Static resx:ResUI.menuMsgViewSelectAll}" />
<MenuItem
x:Name="menuMsgViewCopy"
Click="menuMsgViewCopy_Click"
Header="{x:Static resx:ResUI.menuMsgViewCopy}" />
<MenuItem
x:Name="menuMsgViewCopyAll"
Click="menuMsgViewCopyAll_Click"
Header="{x:Static resx:ResUI.menuMsgViewCopyAll}" />
<MenuItem
x:Name="menuMsgViewClear"
Click="menuMsgViewClear_Click"
Header="{x:Static resx:ResUI.menuMsgViewClear}" />
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
</DockPanel>
</UserControl>

View file

@ -1,5 +1,4 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.ReactiveUI;
using Avalonia.Threading;
@ -10,12 +9,9 @@ namespace v2rayN.Desktop.Views;
public partial class MsgView : ReactiveUserControl<MsgViewModel>
{
private readonly ScrollViewer _scrollViewer;
public MsgView()
{
InitializeComponent();
_scrollViewer = this.FindControl<ScrollViewer>("msgScrollViewer");
ViewModel = new MsgViewModel(UpdateViewHandler);
@ -47,14 +43,14 @@ public partial class MsgView : ReactiveUserControl<MsgViewModel>
txtMsg.Text = msg.ToString();
if (togScrollToEnd.IsChecked ?? true)
{
_scrollViewer?.ScrollToEnd();
txtMsg.CaretIndex = int.MaxValue;
}
}
public void ClearMsg()
{
ViewModel?.ClearMsg();
txtMsg.Text = "";
txtMsg.Clear();
}
private void menuMsgViewSelectAll_Click(object? sender, RoutedEventArgs e)