SkillAgentSearch skills...

Utlsproxy

MITM Proxy with TLS mimicry

Install / Use

/learn @saucesteals/Utlsproxy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <img src="./assets/logo.png" alt="logo" height="250px" /> <h1 align="center">uTLS Proxy</h1> <h3>MITM Proxy with TLS mimicry</h3> </div>

Features

  • Man-in-the-middle TLS connections
  • Mimic TLS records from the client
  • Directly proxy all application data below TLS (for example, http2 frames will be exactly what the client sends)
  • SSL/TLS Keylog support (inspect TLS contents in wireshark)
  • Certificate server at utlsproxy.ws (certificates are created locally)

Installation

$ git clone https://github.com/saucesteals/utlsproxy
$ cd utlsproxy
$ go build
$ ./utlsproxy

Usage

$ ./utlsproxy
  -addr string
        Address to bind to (default ":8080")
  -http1
        Force HTTP/1.1 between client and proxy
  -keylog string
        TLS key log file
  -clientcert string
        mTLS client certificate file (pem)
  -clientkey string
        mTLS client key file (pem)
  -mtlsdomain string
        Enable mTLS for this domain

Why?

All (to my knowledge) MITM proxies replay requests to servers with stdlib transports, essentially letting the server fingerprint it. The goal of utlsproxy is to allow you to inspect TLS application data while mimicking the original client. The proxy will sniff the client's clienthello message and use it as its own when handshaking with the server.

Curious how? Most of the work is at saucesteals/goproxy (credits to elazarl/goproxy for the base proxy implementation)

Contributing

Contributions are welcome!

License

Distributed under the GNU GPL v3.0 License. See LICENSE for more information.

View on GitHub
GitHub Stars61
CategoryDevelopment
Updated8d ago
Forks5

Languages

Go

Security Score

95/100

Audited on Mar 19, 2026

No findings