From 9534b28bb9ac2fd2cbe47e5514759b80f9256f15 Mon Sep 17 00:00:00 2001 From: Ronni Skansing Date: Mon, 10 Nov 2025 22:11:51 +0100 Subject: [PATCH] ja4builder Signed-off-by: Ronni Skansing --- frontend/src/routes/tools/+page.svelte | 548 +++++++++++++++++++++++++ 1 file changed, 548 insertions(+) diff --git a/frontend/src/routes/tools/+page.svelte b/frontend/src/routes/tools/+page.svelte index f2fbdd9..7686661 100644 --- a/frontend/src/routes/tools/+page.svelte +++ b/frontend/src/routes/tools/+page.svelte @@ -1,15 +1,336 @@ @@ -56,6 +455,155 @@
+ +
+

+ JA4 Fingerprint Builder +

+ + {#if ja4Result} +
{ + navigator.clipboard.writeText(ja4Result); + }} + role="button" + tabindex="0" + on:keypress={(e) => { + if (e.key === 'Enter' || e.key === ' ') { + navigator.clipboard.writeText(ja4Result); + } + }} + > +

+ JA4 Fingerprint (click to copy): +

+

+ {ja4Result} +

+

+ [protocol][version][sni][cipher_count][ext_count][alpn]_[sorted_cipher_hash]_[sorted_ext+sigalg_hash] +

+
+ {/if} + +
+
+ + Protocol + + + + TLS Version + +
+ +
+ + SNI + + + + ALPN + +
+ + + Cipher Suites ({selectedCiphers.length} selected) + + + {#if selectedCiphers.some((c) => c.startsWith('custom'))} + + Custom Cipher Hex Codes (comma-separated) + + {/if} + + + Extensions ({selectedExtensions.length} selected) + + + {#if selectedExtensions.some((e) => e.startsWith('custom'))} + + Custom Extension Hex Codes (comma-separated) + + {/if} + + + Signature Algorithms ({selectedSignatureAlgorithms.length} selected) + + + {#if selectedSignatureAlgorithms.some((s) => s.startsWith('custom'))} + + Custom Signature Algorithm Hex Codes (comma-separated) + + {/if} +
+ + +
+