This commit is contained in:
Thomas Peterson 2024-11-07 22:24:26 +01:00
parent 6434ec06e1
commit 7e1dc0e283
5 changed files with 72 additions and 51 deletions

View File

@ -11,21 +11,10 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="95257dc5-08bd-4c50-8726-85956b3c2c92" name="Changes" comment=""> <list default="true" id="95257dc5-08bd-4c50-8726-85956b3c2c92" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/avalonia.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/avalonia.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/HetznerServer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/HetznerServer.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" afterDir="false" /> <change beforePath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml.cs" afterDir="false" /> <change beforePath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk.sln.DotSettings.user" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk.sln.DotSettings.user" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/PSCHelpdesk.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/PSCHelpdesk.csproj" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Services/PluginService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Services/PluginService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/ViewLocator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/ViewLocator.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/ViewModels/MainWindowViewModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/ViewModels/MainWindowViewModel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/ContentDisplay.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/ContentDisplay.axaml.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/MainWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/MainWindow.axaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/MainWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/MainWindow.axaml.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Shared/Plugin/Contract.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Shared/Plugin/Contract.cs" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -82,7 +71,7 @@
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent"><![CDATA[{
"keyToString": { "keyToString": {
".NET Project.PSCHelpdesk.Desktop ohne plugin.executor": "Run", ".NET Project.PSCHelpdesk.Desktop ohne plugin.executor": "Run",
".NET Project.PSCHelpdesk.Desktop.executor": "Debug", ".NET Project.PSCHelpdesk.Desktop.executor": "Run",
"Publish to folder.Build HetznerServer Plugin Debug.executor": "Run", "Publish to folder.Build HetznerServer Plugin Debug.executor": "Run",
"Publish to folder.Publish HetznerServer to folder.executor": "Run", "Publish to folder.Publish HetznerServer to folder.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true", "RunOnceActivity.ShowReadmeOnStart": "true",
@ -198,6 +187,7 @@
<workItem from="1730749692901" duration="5980000" /> <workItem from="1730749692901" duration="5980000" />
<workItem from="1730887536949" duration="12370000" /> <workItem from="1730887536949" duration="12370000" />
<workItem from="1730923358764" duration="8836000" /> <workItem from="1730923358764" duration="8836000" />
<workItem from="1731007273821" duration="2499000" />
</task> </task>
<servers /> <servers />
</component> </component>
@ -277,43 +267,30 @@
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints"> <line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/ContentDisplay.axaml.cs</url> <url>file://$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/ContentDisplay.axaml.cs</url>
<line>91</line> <line>92</line>
<properties documentPath="C:\Users\info\RiderProjects\pschelpdesk\PSCHelpdesk\PSCHelpdesk\Views\ContentDisplay.axaml.cs" containingFunctionPresentation="Method 'SelectionChanged'"> <properties documentPath="C:\Users\info\RiderProjects\pschelpdesk\PSCHelpdesk\PSCHelpdesk\Views\ContentDisplay.axaml.cs" containingFunctionPresentation="Method 'SelectionChanged'">
<startOffsets> <startOffsets>
<option value="2822" /> <option value="2938" />
</startOffsets> </startOffsets>
<endOffsets> <endOffsets>
<option value="2929" /> <option value="2939" />
</endOffsets> </endOffsets>
</properties> </properties>
<option name="timeStamp" value="167" /> <option name="timeStamp" value="167" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints"> <line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/ContentDisplay.axaml.cs</url> <url>file://$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk/Views/ContentDisplay.axaml.cs</url>
<line>80</line> <line>81</line>
<properties documentPath="C:\Users\info\RiderProjects\pschelpdesk\PSCHelpdesk\PSCHelpdesk\Views\ContentDisplay.axaml.cs" containingFunctionPresentation="Method 'SelectionChanged'"> <properties documentPath="C:\Users\info\RiderProjects\pschelpdesk\PSCHelpdesk\PSCHelpdesk\Views\ContentDisplay.axaml.cs" containingFunctionPresentation="Method 'SelectionChanged'">
<startOffsets> <startOffsets>
<option value="2404" /> <option value="2473" />
</startOffsets> </startOffsets>
<endOffsets> <endOffsets>
<option value="2464" /> <option value="2474" />
</endOffsets> </endOffsets>
</properties> </properties>
<option name="timeStamp" value="168" /> <option name="timeStamp" value="168" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs</url>
<line>82</line>
<properties documentPath="C:\Users\info\RiderProjects\pschelpdesk\HetznerServer\ViewModels\ServerViewModel.cs" containingFunctionPresentation="Method 'RunTheThing'">
<startOffsets>
<option value="2757" />
</startOffsets>
<endOffsets>
<option value="2904" />
</endOffsets>
</properties>
<option name="timeStamp" value="177" />
</line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
</component> </component>

View File

@ -2,6 +2,7 @@
using System.Diagnostics; using System.Diagnostics;
using System.Reactive; using System.Reactive;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Interactivity;
using CommunityToolkit.Mvvm.DependencyInjection; using CommunityToolkit.Mvvm.DependencyInjection;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using HetznerCloudApi; using HetznerCloudApi;
@ -16,13 +17,11 @@ namespace PSCHelpdesk.Plugins.HetznerServer.ViewModels;
public partial class ServerViewModel : ViewModelBase, IViewModelBase public partial class ServerViewModel : ViewModelBase, IViewModelBase
{ {
public ReactiveCommand<Server, Unit> OpenSSH { get; }
public ReactiveCommand<SelectionChangedEventArgs, Unit> SelectionChanged { get; } public ReactiveCommand<SelectionChangedEventArgs, Unit> SelectionChanged { get; }
private SettingsManager _settingsManager; private SettingsManager _settingsManager;
public ServerViewModel() public ServerViewModel()
{ {
OpenSSH = ReactiveCommand.Create<Server>(openSSH);
SelectionChanged = ReactiveCommand.Create<SelectionChangedEventArgs>(selectionChanged); SelectionChanged = ReactiveCommand.Create<SelectionChangedEventArgs>(selectionChanged);
Server = new ObservableCollection<Server>(); Server = new ObservableCollection<Server>();
SelectedServer = new Server(1,"","","","",""); SelectedServer = new Server(1,"","","","","");
@ -71,24 +70,24 @@ public partial class ServerViewModel : ViewModelBase, IViewModelBase
} }
} }
void openSSH(Server server)
{
//Process.Start(_settingsManager.CoreSettings.SSHClientExecutable,string.Format(_settingsManager.CoreSettings.SSHClientExecutableArgs, server.Ipv4));
}
public void RunTheThing(Server server)
{
Process.Start(_settingsManager.CoreSettings.SSHClientExecutable,string.Format(_settingsManager.CoreSettings.SSHClientExecutableArgs, server.Ipv4));
}
void selectionChanged(SelectionChangedEventArgs args) void selectionChanged(SelectionChangedEventArgs args)
{ {
this.SelectedServer = (args.Source as DataGrid).SelectedItem as Server; this.SelectedServer = (args.Source as DataGrid).SelectedItem as Server;
IsPagePaneOpen = true; IsPagePaneOpen = true;
} }
public void SSH(Server server)
{
Process.Start(_settingsManager.CoreSettings.SSHClientExecutable,string.Format(_settingsManager.CoreSettings.SSHClientExecutableArgs, server.Ipv4, _settingsManager.CoreSettings.PrivateSSHKeyPath));
}
public void SCP(Server server)
{
Process.Start(_settingsManager.CoreSettings.SCPClientExecutable,string.Format(_settingsManager.CoreSettings.SCPClientExecutableArgs, server.Ipv4, _settingsManager.CoreSettings.PrivateSSHKeyPath));
}
public UserControl GetViewControl() public UserControl GetViewControl()
{ {
return new ServerView(); return new ServerView();

View File

@ -38,7 +38,7 @@
HorizontalContentAlignment="Center" HorizontalContentAlignment="Center"
Background="#232323" Background="#232323"
Command="{Binding ShowServerDetails}" Command="{Binding ShowServerDetails}"
CommandParameter="{Binding .}" CommandParameter="{Binding $self}"
Content="View" Content="View"
Foreground="White" /> Foreground="White" />
</DataTemplate> </DataTemplate>
@ -51,8 +51,7 @@
HorizontalAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" HorizontalContentAlignment="Center"
Background="#232323" Background="#232323"
Command="{Binding Path=$parent[DataGrid].((vm:ServerViewModel)DataContext).OpenSSH}" Click="openSSH"
CommandParameter="{Binding .}"
Content="Open SSH" Content="Open SSH"
Foreground="White" /> Foreground="White" />
</DataTemplate> </DataTemplate>
@ -65,8 +64,7 @@
HorizontalAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" HorizontalContentAlignment="Center"
Background="#232323" Background="#232323"
Command="{Binding #ServerTable.((vm:ServerViewModel)DataContext).OpenSSH}" Click="openSCP"
CommandParameter="{Binding .}"
Content="Open SCP" Content="Open SCP"
Foreground="White" /> Foreground="White" />
</DataTemplate> </DataTemplate>

View File

@ -1,4 +1,6 @@
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Interactivity;
using PSCHelpdesk.Plugins.HetznerServer.Models;
using PSCHelpdesk.Plugins.HetznerServer.ViewModels; using PSCHelpdesk.Plugins.HetznerServer.ViewModels;
namespace PSCHelpdesk.Plugins.HetznerServer.Views; namespace PSCHelpdesk.Plugins.HetznerServer.Views;
@ -8,7 +10,15 @@ public partial class ServerView : UserControl
public ServerView() public ServerView()
{ {
InitializeComponent(); InitializeComponent();
}
this.DataContext = new ServerViewModel(); private void openSSH(object? sender, RoutedEventArgs e)
{
((ServerViewModel)DataContext).SSH(((Button)sender).DataContext as Server);
}
private void openSCP(object? sender, RoutedEventArgs e)
{
((ServerViewModel)DataContext).SCP(((Button)sender).DataContext as Server);
} }
} }

37
testdisk.log Normal file
View File

@ -0,0 +1,37 @@
Thu Nov 7 13:56:49 2024
Command line: TestDisk
TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
OS: Linux, kernel 6.8.0-48-generic (#48-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 14:04:52 UTC 2024) x86_64
Compiler: GCC 13.2
ext2fs lib: 1.47.0, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none, curses lib: ncurses 6.4
Warning: can't get size for Disk /dev/mapper/control - 0 B - 0 sectors, sector size=512
Warning: can't get size for Disk /dev/loop19 - 0 B - 0 sectors, sector size=512
Hard disk list
Disk /dev/loop0 - 4096 B - 8 sectors (RO), sector size=512
Disk /dev/loop1 - 1545 MB / 1474 MiB - 3019392 sectors (RO), sector size=512
Disk /dev/loop10 - 96 MB / 91 MiB - 187776 sectors (RO), sector size=512
Disk /dev/loop11 - 222 MB / 212 MiB - 434664 sectors (RO), sector size=512
Disk /dev/loop12 - 700 MB / 668 MiB - 1368944 sectors (RO), sector size=512
Disk /dev/loop13 - 813 MB / 775 MiB - 1588960 sectors (RO), sector size=512
Disk /dev/loop14 - 1019 MB / 972 MiB - 1990800 sectors (RO), sector size=512
Disk /dev/loop15 - 1949 MB / 1858 MiB - 3806848 sectors (RO), sector size=512
Disk /dev/loop16 - 40 MB / 38 MiB - 79520 sectors (RO), sector size=512
Disk /dev/loop17 - 107 MB / 102 MiB - 209168 sectors (RO), sector size=512
Disk /dev/loop18 - 107 MB / 102 MiB - 209616 sectors (RO), sector size=512
Disk /dev/loop2 - 58 MB / 55 MiB - 113384 sectors (RO), sector size=512
Disk /dev/loop3 - 77 MB / 74 MiB - 152056 sectors (RO), sector size=512
Disk /dev/loop4 - 77 MB / 73 MiB - 151296 sectors (RO), sector size=512
Disk /dev/loop5 - 58 MB / 55 MiB - 113992 sectors (RO), sector size=512
Disk /dev/loop6 - 71 MB / 67 MiB - 138768 sectors (RO), sector size=512
Disk /dev/loop7 - 71 MB / 67 MiB - 138776 sectors (RO), sector size=512
Disk /dev/loop8 - 172 MB / 164 MiB - 337560 sectors (RO), sector size=512
Disk /dev/loop9 - 529 MB / 505 MiB - 1034424 sectors (RO), sector size=512
Disk /dev/nvme0n1 - 1000 GB / 931 GiB - CHS 953869 64 32, sector size=512
TestDisk exited normally.