Skip to content

Commit ea42246

Browse files
committed
Improved AmazTool
1 parent 3f19958 commit ea42246

File tree

1 file changed

+73
-11
lines changed

1 file changed

+73
-11
lines changed

v2rayN/AmazTool/Program.cs

Lines changed: 73 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,83 @@ internal static class Program
55
[STAThread]
66
private static void Main(string[] args)
77
{
8-
if (args.Length == 0)
8+
try
99
{
10-
Console.WriteLine(Resx.Resource.Guidelines);
11-
Thread.Sleep(5000);
12-
return;
13-
}
10+
// If no arguments are provided, display usage guidelines and exit
11+
if (args.Length == 0)
12+
{
13+
ShowHelp();
14+
return;
15+
}
16+
17+
// Log all arguments for debugging purposes
18+
foreach (var arg in args)
19+
{
20+
Console.WriteLine(arg);
21+
}
22+
23+
// Parse command based on first argument
24+
switch (args[0].ToLowerInvariant())
25+
{
26+
case "rebootas":
27+
// Handle application restart
28+
HandleRebootAsync();
29+
break;
30+
31+
case "help":
32+
case "--help":
33+
case "-h":
34+
case "/?":
35+
// Display help information
36+
ShowHelp();
37+
break;
1438

15-
var argData = Uri.UnescapeDataString(string.Join(" ", args));
16-
if (argData.Equals("rebootas"))
39+
default:
40+
// Default behavior: handle as upgrade data
41+
// Maintain backward compatibility with existing usage pattern
42+
var argData = Uri.UnescapeDataString(string.Join(" ", args));
43+
HandleUpgrade(argData);
44+
break;
45+
}
46+
}
47+
catch (Exception ex)
1748
{
18-
Thread.Sleep(1000);
19-
Utils.StartV2RayN();
20-
return;
49+
// Global exception handling
50+
Console.WriteLine($"An error occurred: {ex.Message}");
51+
Console.WriteLine("Press any key to exit...");
52+
Console.ReadKey();
2153
}
54+
}
2255

23-
UpgradeApp.Upgrade(argData);
56+
/// <summary>
57+
/// Display help information and usage guidelines
58+
/// </summary>
59+
private static void ShowHelp()
60+
{
61+
Console.WriteLine(Resx.Resource.Guidelines);
62+
Console.WriteLine("Available commands:");
63+
Console.WriteLine(" rebootas - Restart the application");
64+
Console.WriteLine(" help - Display this help information");
65+
Thread.Sleep(5000);
66+
}
67+
68+
/// <summary>
69+
/// Handle application restart
70+
/// </summary>
71+
private static void HandleRebootAsync()
72+
{
73+
Console.WriteLine("Restarting application...");
74+
Thread.Sleep(1000);
75+
Utils.StartV2RayN();
76+
}
77+
78+
/// <summary>
79+
/// Handle application upgrade with the provided data
80+
/// </summary>
81+
/// <param name="upgradeData">Data for the upgrade process</param>
82+
private static void HandleUpgrade(string upgradeData)
83+
{
84+
Console.WriteLine("Upgrading application...");
85+
UpgradeApp.Upgrade(upgradeData);
2486
}
2587
}

0 commit comments

Comments
 (0)