Fix help donation actions and remove internal docs

This commit is contained in:
MaxFan
2026-05-11 19:55:26 +03:30
parent 290083e809
commit 7438458237
8 changed files with 46 additions and 17 deletions
+2
View File
@@ -29,6 +29,8 @@ create-ico.ps1
# Personal notes and exported documents
*.docx
docs/PRIVACY_REVIEW.md
docs/PUBLISHING_CHECKLIST.md
# Logs and temporary files
*.log
+2 -1
View File
@@ -377,7 +377,8 @@ public partial class MainWindow : Window
{
var helpWindow = new AppTunnel.Views.HelpWindow
{
Owner = this
Owner = this,
DataContext = _viewModel
};
helpWindow.ShowDialog();
}
+3 -3
View File
@@ -9,9 +9,9 @@ public static class AppInfo
public const string PayPalEmail = "gallafan@gmail.com";
public const string PayPalDonateUrl = "https://www.paypal.com/donate/?business=gallafan%40gmail.com&currency_code=USD";
public const string CryptoDonationText =
"TRON / USDT-TRC20: TNWV867fQDT6zpLunHgbeMjrN6ic63LQSu\n" +
"Bitcoin: bc1qgx3g47c458fu6smnpqpu0l05hha82rq2xjet4y\n" +
"Ethereum / USDT-ERC20: 0x72d94Bb250E8802441a0ED05686Ee925BC99Fef5\n" +
"ترون / USDT روی TRC20: TNWV867fQDT6zpLunHgbeMjrN6ic63LQSu\n" +
"بیت‌کوین: bc1qgx3g47c458fu6smnpqpu0l05hha82rq2xjet4y\n" +
"اتریوم / USDT روی ERC20: 0x72d94Bb250E8802441a0ED05686Ee925BC99Fef5\n" +
"TON: UQD65oL2Vu2OJDSrwQ0wLLSw3g668SREMJ3VPW9k8b6Sy-Yf\n" +
"BNB Smart Chain: 0xE2a5b01cE2b3713D435Bc16d92eAdd88A82159f0\n" +
"Dogecoin: DSZRNY65yF679uvjAh6sUAt6YiEEQHwKGb";
+21 -1
View File
@@ -64,6 +64,7 @@ public partial class MainViewModel : INotifyPropertyChanged
ClearConfigCommand = new RelayCommand(_ => SelectedV2RayConfig = "", _ => !IsConnected && CurrentTunnelType == TunnelType.V2Ray);
OpenGitHubCommand = new RelayCommand(_ => OpenExternalLink(AppInfo.GitHubUrl));
OpenDonateCommand = new RelayCommand(_ => OpenExternalLink(AppInfo.PayPalDonateUrl));
CopyDonationInfoCommand = new RelayCommand(_ => CopyDonationInfoToClipboard());
_trafficRouter.TrafficUpdated += OnTrafficUpdated;
@@ -247,7 +248,7 @@ public partial class MainViewModel : INotifyPropertyChanged
public string AppCreatorText => AppInfo.CreatorText;
public string AppGitHubUrl => AppInfo.GitHubUrl;
public string AppLicenseText => AppInfo.LicenseName;
public string DonatePayPalText => $"PayPal: {AppInfo.PayPalEmail}";
public string DonatePayPalText => $"پی‌پل: {AppInfo.PayPalEmail}";
public string CryptoDonationText => AppInfo.CryptoDonationText;
public string ConnectButtonText => _connectionState switch
@@ -617,6 +618,7 @@ public partial class MainViewModel : INotifyPropertyChanged
public ICommand ClearConfigCommand { get; }
public ICommand OpenGitHubCommand { get; }
public ICommand OpenDonateCommand { get; }
public ICommand CopyDonationInfoCommand { get; }
#endregion
@@ -638,6 +640,24 @@ public partial class MainViewModel : INotifyPropertyChanged
}
}
private void CopyDonationInfoToClipboard()
{
try
{
var text =
$"{AppInfo.AppName} - حمایت از پروژه\n" +
$"PayPal: {AppInfo.PayPalEmail}\n" +
$"PayPal link: {AppInfo.PayPalDonateUrl}\n\n" +
AppInfo.CryptoDonationText;
System.Windows.Clipboard.SetText(text);
Logger.Info("[UI] Donation info copied to clipboard");
}
catch (Exception ex)
{
Logger.Warning($"[UI] Copy donation info failed: {ex.Message}");
}
}
private void PasteConfigFromClipboard()
{
try
+14 -8
View File
@@ -61,7 +61,7 @@
Foreground="{StaticResource AccentBrush}"
FlowDirection="LeftToRight"
TextWrapping="Wrap"/>
<TextBlock Text="{Binding AppLicenseText, StringFormat=License: {0}}"
<TextBlock Text="{Binding AppLicenseText, StringFormat=لایسنس: {0}}"
FontSize="10"
Foreground="{StaticResource TextSecondaryBrush}"
FlowDirection="LeftToRight"
@@ -81,17 +81,23 @@
</StackPanel>
<StackPanel Grid.Column="2"
Orientation="Horizontal"
VerticalAlignment="Center">
Orientation="Vertical"
VerticalAlignment="Center"
MinWidth="150">
<Button Style="{StaticResource SecondaryButton}"
Content="GitHub"
Content="باز کردن گیت‌هاب"
Command="{Binding OpenGitHubCommand}"
Padding="14,8"
Margin="0,0,8,0"/>
Padding="14,8"/>
<Button Style="{StaticResource PrimaryButton}"
Content="Donate"
Content="حمایت با پی‌پل"
Command="{Binding OpenDonateCommand}"
Padding="16,8"/>
Padding="16,8"
Margin="0,8,0,0"/>
<Button Style="{StaticResource SecondaryButton}"
Content="کپی اطلاعات حمایت"
Command="{Binding CopyDonationInfoCommand}"
Padding="14,8"
Margin="0,8,0,0"/>
</StackPanel>
</Grid>
</Border>
+1 -1
View File
@@ -2,7 +2,7 @@
## Unreleased
- Prepared open-source repository documentation and GitHub release checklist.
- Prepared open-source repository documentation and release guidance.
- Added in-app GitHub and donation links.
- Added project metadata for MaxFan and GPL-3.0-or-later licensing.
- Improved leak logging and traffic accounting in recent internal builds.
+2 -2
View File
@@ -2,7 +2,7 @@
TunnelX is a free and open-source Windows split-tunneling client built by **MaxFan**. It routes selected apps, selected destinations, or the whole system through supported tunnel cores while keeping local and excluded destinations on the normal network path.
> Status: pre-release. Review `docs/PUBLISHING_CHECKLIST.md` before publishing a public repository or release artifact.
> Status: pre-release. Review the release notes in `docs/BUILD.md` before publishing a public artifact.
## Features
@@ -15,7 +15,7 @@ TunnelX is a free and open-source Windows split-tunneling client built by **MaxF
## Download
Public downloads should be attached to GitHub Releases after the checklist is complete:
Public downloads should be attached to GitHub Releases after release validation is complete:
[GitHub project](https://github.com/MaxiFan/TunnelX)
+1 -1
View File
@@ -30,7 +30,7 @@ TunnelX-v1.2.21-standalone-compressed.exe
## Before Publishing
- Run the leak test plan in `docs/PUBLISHING_CHECKLIST.md`.
- Run leak, DNS, full-route, split-route, app toggle, and reconnect tests before attaching a public artifact.
- Confirm third-party license notices are current.
- Confirm the app version in `AppTunnel/AppTunnel.csproj`.
- Attach release artifacts only to GitHub Releases; do not commit generated `publish/` or `Releases/` output.