init commit
This commit is contained in:
commit
54c5ae2945
34 changed files with 468 additions and 0 deletions
77
Program.cs
Normal file
77
Program.cs
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
while (true)
|
||||
{
|
||||
Console.WriteLine("Select a server type:");
|
||||
Console.WriteLine("1. PostgreSQL (psql)");
|
||||
Console.WriteLine("2. Redis (redis)");
|
||||
Console.WriteLine("3. RabbitMQ (rabbitmq)");
|
||||
Console.WriteLine("4. Sandbox Web Server (sandbox)");
|
||||
Console.WriteLine("5. Staging Web Server (staging)");
|
||||
Console.WriteLine("q. Exit");
|
||||
Console.WriteLine();
|
||||
|
||||
Console.Write(
|
||||
"Enter a number (1-5) to select a server type, or 'q' to quit: "
|
||||
);
|
||||
string choice = Console.ReadLine();
|
||||
|
||||
if (choice?.ToLower() == "q")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
string prefix = choice switch
|
||||
{
|
||||
"1" => "psql",
|
||||
"2" => "redis",
|
||||
"3" => "rabbitmq",
|
||||
"4" => "sandbox",
|
||||
"5" => "staging",
|
||||
_ => null
|
||||
};
|
||||
|
||||
if (prefix == null)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.Write("Invalid choice. Please try again: ");
|
||||
Console.ResetColor();
|
||||
Console.WriteLine();
|
||||
continue;
|
||||
}
|
||||
|
||||
string randomUrl = GenerateRandomUrl(prefix);
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine($"Generated URL: {randomUrl}");
|
||||
Console.ResetColor();
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("Generate another URL? (y/n)");
|
||||
string another = Console.ReadLine();
|
||||
if (another?.ToLower() != "y")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
static string GenerateRandomUrl(string prefix, int length = 12)
|
||||
{
|
||||
const string alphabet = "abcdefghijklmnopqrstuvqxyz123456789";
|
||||
|
||||
var resultBuilder = new StringBuilder(length);
|
||||
|
||||
byte[] randomBytes = new byte[length];
|
||||
RandomNumberGenerator.Fill(randomBytes);
|
||||
|
||||
foreach (byte b in randomBytes)
|
||||
{
|
||||
resultBuilder.Append(alphabet[b % alphabet.Length]);
|
||||
}
|
||||
|
||||
string randomString = resultBuilder.ToString();
|
||||
return $"{prefix}-{randomString}.rideaware.org";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue