Compare commits

..

34 commits

Author SHA1 Message Date
DHR60
47779e433d Updates translations 2025-08-07 17:38:00 +08:00
DHR60
c5f222bf58 Updates sing-box documentation link 2025-08-07 17:38:00 +08:00
DHR60
1945d9b798 Fixes 2025-08-07 17:38:00 +08:00
DHR60
2e283eb00e Adds anytls reality support 2025-08-07 17:38:00 +08:00
DHR60
00505c7c17 Deletes Duplicate Rules 2025-08-07 17:38:00 +08:00
DHR60
9229b491c5 Adds sing-box DomainStrategy support 2025-08-07 17:38:00 +08:00
DHR60
d9b0aff8da Adds tag resolver supports 2025-08-07 17:38:00 +08:00
DHR60
8ea39d7475 Support sing-box hosts 2025-08-07 17:38:00 +08:00
DHR60
f14f39f5a1 Removes Wireguard listen port 2025-08-07 17:38:00 +08:00
DHR60
228069f499 Adds properties to Rule4Sbox class 2025-08-07 17:38:00 +08:00
DHR60
645e4e7711 Improves DNS address parsing in Singbox
DNS type, host, port, and path
2025-08-07 17:38:00 +08:00
DHR60
d1c16ecb72 Removes direct clash_mode domain strategy 2025-08-07 17:38:00 +08:00
DHR60
dca737bdad Fixes wrong field 2025-08-07 17:38:00 +08:00
DHR60
7f5489c5f7 fix singbox endpoints proxy chain not work 2025-08-07 17:38:00 +08:00
DHR60
3be0b312d6 Fixes config generation 2025-08-07 17:38:00 +08:00
DHR60
b290a38ef4 Refactors DNS address parsing 2025-08-07 17:38:00 +08:00
DHR60
70bdb3de16 Adds IPv4 preference to DNS configurations
对应原dns.servers[].strategy = prefer_ipv4
2025-08-07 17:38:00 +08:00
DHR60
8f9d1951a2 Adds Sing-box legacy DNS config support 2025-08-07 17:38:00 +08:00
DHR60
e2faf61a8b Utils.GetFreePort() default port to be zero 2025-08-07 17:38:00 +08:00
DHR60
3824879d38 support Wireguard endpoint
Refactors Singbox config classes for dial fields
2025-08-07 17:38:00 +08:00
DHR60
d54433aeb3 Fetches DNS strategy for domain resolution 2025-08-07 17:37:59 +08:00
DHR60
26b2240779 Enables dhcp interface configuration 2025-08-07 17:37:59 +08:00
DHR60
98a5caa47f Simplifies local DNS address handling 2025-08-07 17:37:59 +08:00
DHR60
d77c25aef5 add anytls support 2025-08-07 17:37:59 +08:00
DHR60
7affcf97b1 Improves geoip rule handling in singbox 2025-08-07 17:37:59 +08:00
DHR60
9e1e5eb2aa Adds Google cn dns rules 2025-08-07 17:37:59 +08:00
DHR60
d1928d80c7 Migrating to singbox 1.12 support 2025-08-07 17:37:59 +08:00
DHR60
ea55dfb6c5 Removes unnecessary sniffer 2025-08-07 17:37:59 +08:00
DHR60
b3acb89c29 Migrating to singbox 1.11 support 2025-08-07 17:37:59 +08:00
DHR60
922cf54d93 Revert "Temporary addition to support proper use of sing-box v1.12"
This reverts commit 508eb24fc3.
2025-08-07 17:37:48 +08:00
2dust
c669e72189 up 7.13.7
Some checks failed
release Linux / build (Release) (push) Has been cancelled
release macOS / build (Release) (push) Has been cancelled
release Windows desktop (Avalonia UI) / build (Release) (push) Has been cancelled
release Windows / build (Release) (push) Has been cancelled
2025-08-07 13:35:16 +08:00
2dust
46db5efef3 Update Directory.Packages.props 2025-08-07 13:30:36 +08:00
2dust
610418b42b In the Desktop version, the information box uses SelectableTextBlock to replace TextBox
Some checks are pending
release Linux / build (Release) (push) Waiting to run
release macOS / build (Release) (push) Waiting to run
release Windows desktop (Avalonia UI) / build (Release) (push) Waiting to run
release Windows / build (Release) (push) Waiting to run
https://github.com/2dust/v2rayN/issues/7644
2025-08-06 21:01:06 +08:00
2dust
508eb24fc3 Temporary addition to support proper use of sing-box v1.12
Some checks failed
release Linux / build (Release) (push) Has been cancelled
release macOS / build (Release) (push) Has been cancelled
release Windows desktop (Avalonia UI) / build (Release) (push) Has been cancelled
release Windows / build (Release) (push) Has been cancelled
https://github.com/2dust/v2rayN/issues/7698
2025-08-05 19:31:48 +08:00
5 changed files with 43 additions and 36 deletions

View file

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

View file

@ -5,10 +5,10 @@
<CentralPackageVersionOverrideEnabled>false</CentralPackageVersionOverrideEnabled>
</PropertyGroup>
<ItemGroup>
<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="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="CliWrap" Version="3.9.0" />
<PackageVersion Include="Downloader" Version="4.0.2" />
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.3.0" />

View file

@ -107,6 +107,7 @@ 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>(),
@ -146,6 +147,7 @@ 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,15 +69,15 @@
IsChecked="True"
Theme="{DynamicResource SimpleToggleSwitch}" />
</WrapPanel>
<TextBox
<ScrollViewer x:Name="msgScrollViewer" VerticalScrollBarVisibility="Auto">
<SelectableTextBlock
Name="txtMsg"
VerticalAlignment="Stretch"
BorderThickness="0"
Classes="TextArea"
IsReadOnly="True"
TextAlignment="Left"
TextWrapping="Wrap">
<TextBox.ContextMenu>
<SelectableTextBlock.ContextMenu>
<ContextMenu>
<MenuItem
x:Name="menuMsgViewSelectAll"
@ -96,7 +96,8 @@
Click="menuMsgViewClear_Click"
Header="{x:Static resx:ResUI.menuMsgViewClear}" />
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
</SelectableTextBlock.ContextMenu>
</SelectableTextBlock>
</ScrollViewer>
</DockPanel>
</UserControl>

View file

@ -1,4 +1,5 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.ReactiveUI;
using Avalonia.Threading;
@ -9,9 +10,12 @@ 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);
@ -43,14 +47,14 @@ public partial class MsgView : ReactiveUserControl<MsgViewModel>
txtMsg.Text = msg.ToString();
if (togScrollToEnd.IsChecked ?? true)
{
txtMsg.CaretIndex = int.MaxValue;
_scrollViewer?.ScrollToEnd();
}
}
public void ClearMsg()
{
ViewModel?.ClearMsg();
txtMsg.Clear();
txtMsg.Text = "";
}
private void menuMsgViewSelectAll_Click(object? sender, RoutedEventArgs e)