Keypair Generator: ECH and Both Keys for ML-KEM768

Hello again :smile:

My request is a little bit more than a simple copy and paste keys format for keys but they are somehow for better UX

1st on ML-KEM tab:

  1. A dropdown to choose between native/xorpub/random for second block of decryption default to native
  2. Followed by a textfield with default of 600s for 3rd block of decryption that is able to be changed manually to something like 100s-500s
  3. Next, a toggle for padding option (for advanced users), if disabled nothing will be append to final decryption string if enabled shows textfield(s) for it to be filled as user decides.
  4. Add a Both keys copiable block that adds creates the encryption/decryption blocks to be truly copied as one go based on the settings provided.

Currently for copying ML-KEM keys we need to copy each keys separately to a second editor/note/etc, append the prefixes then copy it back to config profile editor.

This is not a good approach for the UX that user expects and used to because it is completely different from X25519 and ML-DSA65 tabs.

2nd, on ECH keys:

  1. New tab on generator for ECH Keys
  2. A textfield that expects a domain name from user
  3. A toggle to choose between fixed ECHConfig string or DNS server (e.g. udp://1.1.1.1)
  4. A textfield if toggle was set to DNS server, to let user add the desired value for it
  5. Generates keys with xray tls ech --serverName %DOMAIN% that provides echServerKeys and echConfigList’s fixed string
  6. If toggle set to fixed config string, in copiable block it will be shown otherwise the dns server textfield will be applied.

Although it may introduce complications but it is for greater good and users will get used to it.

Let me know what you think.

Also consider these:

  1. On X25519 tab, add a ShortID generator too
  2. Add a SS password generator tab with two copiable fields of 16 and 32 lengths (like what ML-KEM is for now)