Implement autostart functionality, ZIP packaging, and related installation scripts; update documentation and tests
This commit is contained in:
+5
-2
@@ -12,16 +12,18 @@ Console.OutputEncoding = Encoding.UTF8;
|
||||
Console.Title = "MusicBridge Agent";
|
||||
var lan = false;
|
||||
var tray = false;
|
||||
var minimized = false;
|
||||
var port = 8765;
|
||||
for (var i = 0; i < args.Length; i++)
|
||||
{
|
||||
if (args[i] == "--lan") lan = true;
|
||||
else if (args[i] == "--tray") tray = true;
|
||||
else if (args[i] == "--minimized") { minimized = true; tray = true; }
|
||||
else if (args[i] == "--port" && i + 1 < args.Length && int.TryParse(args[++i], out var parsed) && parsed is > 0 and <= 65535)
|
||||
port = parsed;
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Запуск: dotnet run -- [--tray] [--lan] [--port 8765]");
|
||||
Console.WriteLine("Запуск: dotnet run -- [--tray] [--minimized] [--lan] [--port 8765]");
|
||||
Console.WriteLine("Без --lan соединения разрешены только с этого ПК. Веб-интерфейса нет.");
|
||||
return;
|
||||
}
|
||||
@@ -48,7 +50,8 @@ try
|
||||
using var qrWindow = new PairingWindowHost(pairing, fingerprint, () => Volatile.Read(ref qrEndpoints));
|
||||
string networkStatus = lan ? "Подключение к домашней сети…" : "Локальный режим. Для iPhone запусти с --lan.";
|
||||
using var desktop = tray ? new DesktopHost(() => server.Latest, media, pairing,
|
||||
() => Volatile.Read(ref networkStatus), qrWindow.Open, shutdown.Cancel) : null;
|
||||
() => Volatile.Read(ref networkStatus), qrWindow.Open, shutdown.Cancel,
|
||||
startup: new StartupSettings(Path.Combine(AppContext.BaseDirectory, "MusicBridge.Agent.exe"), lan, port), minimized: minimized) : null;
|
||||
if (desktop is not null)
|
||||
{
|
||||
await desktop.StartAsync();
|
||||
|
||||
Reference in New Issue
Block a user