mirror of
https://github.com/MaxiFan/TunnelX.git
synced 2026-05-17 21:14:37 +03:00
b713074ee2
Co-authored-by: Cursor <cursoragent@cursor.com>
339 lines
21 KiB
XML
339 lines
21 KiB
XML
<UserControl x:Class="AppTunnel.Views.HelpTabView"
|
||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:services="clr-namespace:AppTunnel.Services">
|
||
|
||
<UserControl.Resources>
|
||
<Style x:Key="HelpCard" TargetType="Border" BasedOn="{StaticResource CardPanel}">
|
||
<Setter Property="Padding" Value="14,12"/>
|
||
<Setter Property="Margin" Value="0,0,0,10"/>
|
||
</Style>
|
||
|
||
<Style x:Key="HelpTitle" TargetType="TextBlock">
|
||
<Setter Property="FontSize" Value="14"/>
|
||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}"/>
|
||
<Setter Property="Margin" Value="0,0,0,6"/>
|
||
</Style>
|
||
|
||
<Style x:Key="HelpBody" TargetType="TextBlock">
|
||
<Setter Property="FontSize" Value="11"/>
|
||
<Setter Property="LineHeight" Value="18"/>
|
||
<Setter Property="TextWrapping" Value="Wrap"/>
|
||
<Setter Property="Foreground" Value="{StaticResource TextSecondaryBrush}"/>
|
||
</Style>
|
||
|
||
<Style x:Key="HelpChip" TargetType="Border">
|
||
<Setter Property="Background" Value="#0EFFFFFF"/>
|
||
<Setter Property="BorderBrush" Value="#14FFFFFF"/>
|
||
<Setter Property="BorderThickness" Value="1"/>
|
||
<Setter Property="CornerRadius" Value="9"/>
|
||
<Setter Property="Padding" Value="10,8"/>
|
||
</Style>
|
||
|
||
<Style x:Key="HelpExpander" TargetType="Expander">
|
||
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}"/>
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="BorderBrush" Value="#14FFFFFF"/>
|
||
<Setter Property="BorderThickness" Value="0,1,0,0"/>
|
||
<Setter Property="Padding" Value="0"/>
|
||
<Setter Property="Margin" Value="0,4,0,0"/>
|
||
<Setter Property="FontSize" Value="12"/>
|
||
</Style>
|
||
</UserControl.Resources>
|
||
|
||
<ScrollViewer VerticalScrollBarVisibility="Auto"
|
||
HorizontalScrollBarVisibility="Disabled"
|
||
Padding="0,12,0,10">
|
||
<StackPanel Margin="14,0">
|
||
|
||
<!-- Header -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<StackPanel Grid.Column="0">
|
||
<TextBlock Text="راهنمای TunnelX"
|
||
FontSize="20"
|
||
FontWeight="Bold"
|
||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||
<TextBlock Text="شروع سریع، پروفایلها، بخشهای اپ و عیبیابی در یک صفحه ساده."
|
||
Style="{StaticResource HelpBody}"
|
||
Margin="0,4,0,0"/>
|
||
</StackPanel>
|
||
|
||
<Border Grid.Column="1"
|
||
Background="#14E8803A"
|
||
CornerRadius="8"
|
||
Padding="9,4"
|
||
VerticalAlignment="Top">
|
||
<TextBlock Text="{x:Static services:AppInfo.VersionText}"
|
||
FontSize="11"
|
||
FontWeight="SemiBold"
|
||
Foreground="{StaticResource AccentBrush}"
|
||
FlowDirection="LeftToRight"/>
|
||
</Border>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<!-- Primary Actions -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="10"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<StackPanel Grid.Column="0">
|
||
<TextBlock Text="پروژه و بروزرسانی" Style="{StaticResource HelpTitle}"/>
|
||
<TextBlock Text="{Binding UpdateStatusText}"
|
||
Style="{StaticResource HelpBody}"/>
|
||
<TextBlock Text="{Binding AppLicenseText, StringFormat=لایسنس: {0}}"
|
||
FontSize="10"
|
||
Foreground="{StaticResource TextSecondaryBrush}"
|
||
FlowDirection="LeftToRight"
|
||
Margin="0,5,0,0"/>
|
||
</StackPanel>
|
||
|
||
<StackPanel Grid.Column="2"
|
||
Orientation="Vertical"
|
||
MinWidth="145"
|
||
VerticalAlignment="Center">
|
||
<Button Style="{StaticResource PrimaryButton}"
|
||
Content="{Binding UpdateButtonText}"
|
||
Command="{Binding CheckForUpdatesCommand}"
|
||
FontSize="11"
|
||
Padding="12,7"/>
|
||
<Button Style="{StaticResource SecondaryButton}"
|
||
Content="صفحه انتشار"
|
||
Command="{Binding OpenLatestReleaseCommand}"
|
||
FontSize="11"
|
||
Padding="12,7"
|
||
Margin="0,6,0,0"/>
|
||
<Button Style="{StaticResource SecondaryButton}"
|
||
Content="GitHub"
|
||
Command="{Binding OpenGitHubCommand}"
|
||
FontSize="11"
|
||
Padding="12,7"
|
||
Margin="0,6,0,0"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<!-- Quick Start -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<StackPanel>
|
||
<TextBlock Text="شروع سریع" Style="{StaticResource HelpTitle}"/>
|
||
<UniformGrid Columns="2" Rows="2">
|
||
<Border Style="{StaticResource HelpChip}" Margin="0,0,5,5">
|
||
<StackPanel>
|
||
<TextBlock Text="۱. پروفایل" FontSize="12" FontWeight="SemiBold"
|
||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||
<TextBlock Text="کانفیگ را بسازید و نوع اتصال را انتخاب کنید."
|
||
Style="{StaticResource HelpBody}" FontSize="10" Margin="0,3,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Style="{StaticResource HelpChip}" Margin="5,0,0,5">
|
||
<StackPanel>
|
||
<TextBlock Text="۲. برنامهها" FontSize="12" FontWeight="SemiBold"
|
||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||
<TextBlock Text="برنامههای داخل تونل را انتخاب یا دستی اضافه کنید."
|
||
Style="{StaticResource HelpBody}" FontSize="10" Margin="0,3,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Style="{StaticResource HelpChip}" Margin="0,5,5,0">
|
||
<StackPanel>
|
||
<TextBlock Text="۳. قوانین" FontSize="12" FontWeight="SemiBold"
|
||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||
<TextBlock Text="مقصدهای مستقیم یا اجباری را مشخص کنید."
|
||
Style="{StaticResource HelpBody}" FontSize="10" Margin="0,3,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Style="{StaticResource HelpChip}" Margin="5,5,0,0">
|
||
<StackPanel>
|
||
<TextBlock Text="۴. اتصال" FontSize="12" FontWeight="SemiBold"
|
||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||
<TextBlock Text="وصل شوید و سلامت، IP و مصرف را بررسی کنید."
|
||
Style="{StaticResource HelpBody}" FontSize="10" Margin="0,3,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</UniformGrid>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- Profile Types -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<StackPanel>
|
||
<TextBlock Text="نوع پروفایل" Style="{StaticResource HelpTitle}"/>
|
||
<TextBlock Text="فقط فیلدهای مربوط به نوع انتخابشده را پر کنید. هر پروفایل برنامهها و قوانین مسیر خودش را نگه میدارد."
|
||
Style="{StaticResource HelpBody}"/>
|
||
|
||
<Expander Header="L2TP/IPsec" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="برای اتصال VPN ویندوز. آدرس سرور، نام کاربری، رمز عبور و Pre-Shared Key لازم است. اگر وصل نشد، PSK، فایروال و تنظیمات VPN ویندوز را بررسی کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="V2Ray / Xray" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="لینک یا JSON کانفیگ را وارد کنید یا از کلیپبورد پیست کنید. TunnelX معمولاً sing-box را اجرا میکند و برای قابلیتهایی مثل xhttp از Xray-core استفاده میکند."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="SOCKS5 / HTTP Proxy" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="برای پراکسی خارجی آماده. نوع پراکسی، آدرس، پورت و در صورت نیاز نام کاربری/رمز را وارد کنید. این با پراکسی داخلی 127.0.0.1 فرق دارد."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="OpenVPN" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="فایل ovpn را انتخاب کنید. OpenVPN Community باید جداگانه نصب باشد؛ OpenVPN Connect برای Split Tunneling مناسب نیست. اگر سرور رمز میخواهد، نام کاربری و رمز را در TunnelX وارد کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- App Areas -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<StackPanel>
|
||
<TextBlock Text="بخشهای اپ" Style="{StaticResource HelpTitle}"/>
|
||
|
||
<Expander Header="اتصال VPN" Style="{StaticResource HelpExpander}" IsExpanded="True">
|
||
<TextBlock Text="پروفایل فعال، تست سرور، اتصال/قطع اتصال، IP خروجی، پینگ، مصرف و راهنمای پراکسی دستی اینجاست."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="برنامهها" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="از لیست برنامههای پیدا شده انتخاب کنید یا فایل exe را دستی اضافه کنید. برای Store/MSIX/WebView2 برنامه را باز نگه دارید و بروزرسانی لیست را بزنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="قوانین مسیر" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="«مستقیم بماند» یعنی مقصد از تونل عبور نکند. «از تونل عبور کند» یعنی مقصد حتی بدون انتخاب برنامه وارد تونل شود. دامنهها زیردامنهها را هم پوشش میدهند."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="تنظیمات" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="پورت پراکسی محلی، MTU خودکار، DNS Optimization، Game Mode، اجرای خودکار ویندوز و اتصال خودکار اینجاست."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="ترافیک و تاریخچه" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="مدت اتصال، IP، مصرف تونل، مصرف خارج تونل، سلامت Split Tunnel، مصرف برنامهها و تاریخچه اتصالها را نشان میدهد."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="جزئیات و لاگها" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="از دکمه جزئیات، لاگها را با فیلتر خطا، هشدار، DNS یا Route ببینید. قبل از ارسال عمومی لاگ، رمزها، کلیدها، UUID و endpoint خصوصی را حذف کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- Essentials -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<StackPanel>
|
||
<TextBlock Text="نکات مهم" Style="{StaticResource HelpTitle}"/>
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="8"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="8"/>
|
||
<RowDefinition Height="Auto"/>
|
||
</Grid.RowDefinitions>
|
||
|
||
<Border Grid.Row="0" Grid.Column="0" Style="{StaticResource HelpChip}">
|
||
<TextBlock Text="حالت عادی: فقط برنامههای انتخابشده و مقصدهای لزومی وارد تونل میشوند."
|
||
Style="{StaticResource HelpBody}" FontSize="10"/>
|
||
</Border>
|
||
<Border Grid.Row="0" Grid.Column="2" Style="{StaticResource HelpChip}">
|
||
<TextBlock Text="Full Route: کل سیستم وارد تونل میشود؛ استثناها میتوانند مستقیم بمانند."
|
||
Style="{StaticResource HelpBody}" FontSize="10"/>
|
||
</Border>
|
||
<Border Grid.Row="2" Grid.Column="0" Style="{StaticResource HelpChip}">
|
||
<StackPanel>
|
||
<TextBlock Text="پراکسی داخلی"
|
||
FontSize="11"
|
||
FontWeight="SemiBold"
|
||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||
<TextBlock Text="برای ابزارهایی که آدرس محلی میخواهند:"
|
||
Style="{StaticResource HelpBody}" FontSize="10" Margin="0,3,0,0"/>
|
||
<TextBlock Text="127.0.0.1:1080"
|
||
FontSize="11"
|
||
FontFamily="Consolas"
|
||
Foreground="{StaticResource AccentBrush}"
|
||
FlowDirection="LeftToRight"
|
||
Margin="0,3,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Grid.Row="2" Grid.Column="2" Style="{StaticResource HelpChip}">
|
||
<TextBlock Text="سلامت: Leak باید صفر باشد. DNS، IPv6 و Route را بعد از اتصال بررسی کنید."
|
||
Style="{StaticResource HelpBody}" FontSize="10"/>
|
||
</Border>
|
||
</Grid>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- Troubleshooting -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<StackPanel>
|
||
<TextBlock Text="عیبیابی سریع" Style="{StaticResource HelpTitle}"/>
|
||
|
||
<Expander Header="اتصال برقرار نمیشود" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="برنامه را با Administrator اجرا کنید. فایروال، آنتیویروس، آدرس سرور، پورت، رمزها، PSK، نصب OpenVPN Community و اعتبار کانفیگ را بررسی کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="ترافیک برنامه از تونل عبور نمیکند" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="برنامه را در تب برنامهها فعال کنید. اگر چندپردازشی است، برنامه را باز نگه دارید و لیست برنامهها را دوباره بارگذاری کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="پراکسی کار نمیکند" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="برای پروفایل پراکسی، آدرس، پورت، نوع و اطلاعات ورود را بررسی کنید. برای ابزارهای محلی، آدرس 127.0.0.1 و پورت تنظیمات را وارد کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
|
||
<Expander Header="DNS، IPv6 یا Leak غیرعادی است" Style="{StaticResource HelpExpander}">
|
||
<TextBlock Text="یک بار قطع و وصل کنید تا مسیرها و قوانین DNS دوباره ساخته شوند. اگر مشکل ماند، لاگهای DNS و Route را بررسی کنید."
|
||
Style="{StaticResource HelpBody}" Margin="0,8,0,0"/>
|
||
</Expander>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- Support -->
|
||
<Border Style="{StaticResource HelpCard}">
|
||
<StackPanel>
|
||
<TextBlock Text="حمایت و تماس" Style="{StaticResource HelpTitle}"/>
|
||
<TextBlock Text="{Binding AppCreatorText}" Style="{StaticResource HelpBody}"/>
|
||
<TextBlock Text="{Binding AppGitHubUrl}"
|
||
FontSize="10"
|
||
Foreground="{StaticResource AccentBrush}"
|
||
FlowDirection="LeftToRight"
|
||
TextWrapping="Wrap"
|
||
Margin="0,5,0,0"/>
|
||
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||
<Button Style="{StaticResource SecondaryButton}"
|
||
Content="حمایت با پیپل"
|
||
Command="{Binding OpenDonateCommand}"
|
||
FontSize="11"
|
||
Padding="12,7"/>
|
||
<Button Style="{StaticResource SecondaryButton}"
|
||
Content="کپی اطلاعات حمایت"
|
||
Command="{Binding CopyDonationInfoCommand}"
|
||
FontSize="11"
|
||
Padding="12,7"
|
||
Margin="8,0,0,0"/>
|
||
</StackPanel>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
</StackPanel>
|
||
</ScrollViewer>
|
||
</UserControl>
|