XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

LumaTunnel

【WinUI】LumaTunnel 是一个面向个人多设备的 Windows 代理系统。客户端在本机提供 HTTP/HTTPS CONNECT 与 SOCKS5 TCP 代理,并通过一个受信任 TLS 证书保护的 WSS 会话,将多个 TCP 流复用到自建 Windows Server 节点。

公开
关注 0 Fork 0 Star 0
UTF-8
<?xml version="1.0" encoding="utf-8"?>
<Page x:Class="LumaTunnel.Client.Views.DashboardPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Loaded="OnLoaded" Unloaded="OnUnloaded">
  <ScrollViewer>
    <StackPanel Padding="32,24" Spacing="18" MaxWidth="900" HorizontalAlignment="Center">
      <TextBlock Text="仪表盘" FontSize="30" FontWeight="SemiBold" />
      <Border CornerRadius="20" Padding="28" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}" BorderBrush="{ThemeResource CardStrokeColorDefaultBrush}" BorderThickness="1">
        <Grid ColumnSpacing="24">
          <Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions>
          <StackPanel Spacing="8">
            <TextBlock Text="{x:Bind ViewModel.StatusText, Mode=OneWay}" FontSize="25" FontWeight="SemiBold" />
            <TextBlock Text="{x:Bind ViewModel.CurrentNodeText, Mode=OneWay}" Opacity="0.72" />
            <TextBlock Text="{x:Bind ViewModel.TrafficText, Mode=OneWay}" FontFamily="Consolas" FontSize="16" />
          </StackPanel>
          <Button Grid.Column="1" Command="{x:Bind ViewModel.ToggleCommand}" Content="{x:Bind ViewModel.ActionText, Mode=OneWay}" Padding="24,12" />
        </Grid>
      </Border>
      <InfoBar x:Name="ErrorBar" IsOpen="False" Severity="Error" Title="操作失败" />
      <Grid ColumnSpacing="14">
        <Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="*"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions>
        <Border Padding="18" CornerRadius="14" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}"><StackPanel><TextBlock Text="HTTP 代理" Opacity=".7"/><TextBlock x:Name="HttpEndpointText" FontSize="20"/></StackPanel></Border>
        <Border Grid.Column="1" Padding="18" CornerRadius="14" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}"><StackPanel><TextBlock Text="SOCKS5" Opacity=".7"/><TextBlock x:Name="SocksEndpointText" FontSize="20"/></StackPanel></Border>
        <Border Grid.Column="2" Padding="18" CornerRadius="14" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}"><StackPanel><TextBlock Text="活动连接" Opacity=".7"/><TextBlock x:Name="ConnectionCountText" FontSize="20"/></StackPanel></Border>
      </Grid>
      <Border Padding="20" CornerRadius="16" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}">
        <StackPanel Spacing="10">
          <TextBlock Text="最近 60 秒流量" FontSize="18" FontWeight="SemiBold" />
          <Canvas x:Name="TrafficCanvas" Height="150">
            <Polyline x:Name="UploadLine" Stroke="#39E8DA" StrokeThickness="2" />
            <Polyline x:Name="DownloadLine" Stroke="#9568F2" StrokeThickness="2" />
          </Canvas>
          <StackPanel Orientation="Horizontal" Spacing="20"><TextBlock Text="● 上传" Foreground="#39E8DA"/><TextBlock Text="● 下载" Foreground="#9568F2"/></StackPanel>
        </StackPanel>
      </Border>
    </StackPanel>
  </ScrollViewer>
</Page>