init commit
This commit is contained in:
commit
54c5ae2945
34 changed files with 468 additions and 0 deletions
76
README.md
Normal file
76
README.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# Random URL Generator
|
||||
|
||||
A simple, cross-platform command-line utility for generating cryptographically secure, random URLs. This project is a C# port of an original Python script, designed to provide unique, non-guessable hostnames for development and testing environments.
|
||||
|
||||
## Features
|
||||
|
||||
- **Interactive Menu**: Simple menu to select the desired server type.
|
||||
- **Secure by Default**: Uses `System.Security.Cryptography.RandomNumberGenerator` for cryptographically strong randomness, equivalent to Python's `secrets` module.
|
||||
- **Customizable Prefixes**: Easily generates URLs for different services (PostgreSQL, Redis, RabbitMQ, etc.).
|
||||
- **Modern C#**: Written using modern C# features like top-level statements and switch expressions for clean, concise code.
|
||||
- **Cross-Platform**: Runs anywhere the .NET SDK is installed (Windows, macOS, Linux).
|
||||
|
||||
## Purpose
|
||||
|
||||
In development and cloud environments, there is often a need to create temporary resources with unique hostnames. This tool solves that problem by generating random, hard-to-guess URLs, which helps:
|
||||
|
||||
1. **Prevent Naming Collisions**: The random string ensures each generated URL is unique.
|
||||
2. **Enhance Security through Obscurity**: While not a replacement for proper authentication, a non-guessable hostname makes it harder for unauthorized users to discover or access temporary services.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To run this project, you will need the **.NET 6 SDK** or later installed on your system.
|
||||
|
||||
- [Download the .NET SDK](https://dotnet.microsoft.com/download)
|
||||
|
||||
## How to Run
|
||||
|
||||
1. **Clone or Download the Code**
|
||||
Clone this repository to your local machine or simply download the `Program.cs` file.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/rideaware/url_gen.git
|
||||
cd url_gen
|
||||
```
|
||||
|
||||
2. **Run from the Command Line**
|
||||
Navigate to the project's root directory in your terminal and use the `dotnet run` command. The .NET SDK will automatically compile and execute the application.
|
||||
|
||||
```bash
|
||||
dotnet run
|
||||
```
|
||||
|
||||
3. **Follow the Prompts**
|
||||
The application will present you with a menu. Enter the number corresponding to your choice and press Enter.
|
||||
|
||||
### Example Session
|
||||
|
||||
```
|
||||
Select a server type:
|
||||
1. PostgreSQL (psql)
|
||||
2. Redis (redis)
|
||||
3. RabbitMQ (rabbitmq)
|
||||
4. Sandbox Web Server (sandbox)
|
||||
5. Staging Web Server (staging)
|
||||
|
||||
Enter a number (1-5) to select a server type, or 'q' to quit: 1
|
||||
Generated URL: psql-4t9wz1qj.rideaware.org
|
||||
|
||||
Generate another URL? (y/n): y
|
||||
|
||||
Select a server type:
|
||||
1. PostgreSQL (psql)
|
||||
2. Redis (redis)
|
||||
3. RabbitMQ (rabbitmq)
|
||||
4. Sandbox Web Server (sandbox)
|
||||
5. Staging Web Server (staging)
|
||||
|
||||
Enter a number (1-5) to select a server type, or 'q' to quit: 4
|
||||
Generated URL: sandbox-k8m3v7b2.rideaware.org
|
||||
|
||||
Generate another URL? (y/n): n
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License. See the `LICENSE` file for details.
|
||||
Loading…
Add table
Add a link
Reference in a new issue