git404hub

what is sharptls fr?

danikishin/sharptls — explained in plain English

Analysis updated 2026-05-18

2C#Audience · developerComplexity · 3/5Setup · easy

tl;dr

SharpTls is a C# library for crafting custom TLS handshakes, the secure-connection protocol used across the internet, without relying on built-in system libraries. It lets developers mimic browser fingerprints and control every detail of the connection.

vibe map

mindmap
  root((repo))
  What it does
    Custom TLS handshakes
    Browser fingerprint imitation
    TLS client and server
  Tech stack
    C sharp
    dotNET 9
    NuGet package
  Key features
    ClientHello control
    TLS 1.3 and 1.2
    Privacy features
    QUIC adapters
  Use cases
    Security research
    Network testing
    Anti-blocking tools
  Audience
    Developers
    Security researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Build a TLS client that mimics a specific browser's handshake to avoid being blocked by fingerprinting systems.

VIBE 2

Create a custom TLS 1.3 or 1.2 client or server with full control over cipher suites, extensions, and key shares.

VIBE 3

Import a captured TLS handshake, inspect it as JSON, and replay or modify it for security testing.

VIBE 4

Test how servers respond to TLS connections using post-quantum key exchange, encrypted client hello, or delegated credentials.

what's the stack?

C#.NET 9NuGet

how it stacks up fr

danikishin/sharptlsatum-borg-interactive/road-sdkbabelive/windows
Stars222
LanguageC#C#C#
Setup difficultyeasymoderatemoderate
Complexity3/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 5min

Install the prerelease NuGet package into a .NET 9 project, the basic connect-and-send sample takes about five minutes to run.

The license type is not specified in the explanation, so permission terms are unknown.

in plain english

SharpTls is a C# library that lets a program speak TLS, the protocol that secures most internet connections, without relying on the built-in .NET TLS plumbing or any native system library. It is written entirely in managed C# and targets .NET 9 and newer. The project describes itself as pre-1.0, meaning the public API may still change, and it points readers to a security policy, threat model, and platform matrix before any serious deployment. The main selling point is byte-exact control over the ClientHello, the first message a client sends when opening a TLS connection. A normal TLS library hides that message. SharpTls exposes nearly every part of it: cipher suites, extension order, key shares, SNI, ALPN, padding, and record fragmentation. It also ships a catalog of uTLS-style fingerprints that imitate the handshakes produced by Chrome, Firefox, Edge, Safari, iOS, Android, 360, and QQ, plus version-bound "Auto" aliases for each family. Beyond fingerprinting, the library includes working TLS 1.3 and a deliberately restricted TLS 1.2 client and server core, with certificate validation, session resumption, 0-RTT, KeyUpdate, and exporters. It supports newer privacy features such as Encrypted Client Hello (ECH), HTTPS SVCB discovery, hybrid post-quantum key exchange, delegated credentials, and certificate compression. There are also adapters for the TLS layer used inside QUIC, without claiming to implement QUIC transport or HTTP/3. Developers install it from NuGet as a prerelease package. A five-minute sample shows connecting to a host, sending a simple HTTP request over the negotiated stream, and reading the response. More advanced examples cover building a custom ClientHello profile from raw and built-in extensions, importing a captured handshake, serializing it to JSON, and rebuilding it later. A "Roller" helper retries connections only on explicit negotiation alerts, never masking certificate, hostname, or transport failures. The README also stresses that wire fidelity does not weaken security. Every executable profile still passes authentication and state-machine checks, and disabling certificate validation requires an explicitly named dangerous opt-in intended for lab use. The full README is longer than what was shown.

prompts (copy fr)

prompt 1
Help me write a C# console app using SharpTls that connects to a website using the Chrome Auto fingerprint, sends an HTTP GET request, and prints the response body.
prompt 2
Show me how to build a custom TLS ClientHello profile in SharpTls with specific cipher suites, SNI, and ALPN extensions.
prompt 3
Write a SharpTls example that imports a captured TLS handshake from JSON and rebuilds it to replay the connection.
prompt 4
Create a C# script using SharpTls that demonstrates TLS 1.3 session resumption and 0-RTT data sending.
prompt 5
Help me set up a SharpTls TLS 1.2 server that accepts connections with a deliberately restricted set of cipher suites and validates client certificates.

Frequently asked questions

what is sharptls fr?

SharpTls is a C# library for crafting custom TLS handshakes, the secure-connection protocol used across the internet, without relying on built-in system libraries. It lets developers mimic browser fingerprints and control every detail of the connection.

What language is sharptls written in?

Mainly C#. The stack also includes C#, .NET 9, NuGet.

What license does sharptls use?

The license type is not specified in the explanation, so permission terms are unknown.

How hard is sharptls to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is sharptls for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.