tlsurl
Rust-powered HTTP client with custom TLS fingerprints, one-step randomized JA3/JA4 configuration, HTTP/2, browser profiles, streaming and WebSocket support.
Development preview (0.1.0).
Prebuilt wheels target CPython 3.10–3.14 on Linux x64/ARM64, Windows x64 and macOS Intel/Apple Silicon. Supported installations do not need Rust or a C/C++ compiler.
Install a published wheel without compiling Rust:
python -m pip install --only-binary=:all: tlsurl
from tlsurl import Client
with Client() as client:
response = client.get("https://example.com")
response.raise_for_status()
print(response.text())
Use AsyncClient with async with for asyncio.
Enable randomized TLS configuration with one option:
with Client(random_tls=True) as client:
print(client.get("https://example.com").status)
Use random_tls_seed=42 alongside random_tls=True to reproduce a configuration in the same library version. A client generates its configuration once; create a new client to generate another. Random mode uses TLS 1.2/1.3 and is mutually exclusive with tls, profile and platform. JA3/JA4 describe the actual ClientHello; this API does not accept arbitrary target hashes or guarantee unique fingerprints.
For manual control, pass tls={"curves_list": "X25519:P-256", "grease": True} and configure cipher suites, signature algorithms and ALPN as needed. Browser presets such as profile="chrome_149" can also be customized with explicit tls and http2 fields.
Clients reuse connections; close clients and streaming responses when finished. TLS verification is enabled by default and proxies require explicit configuration.
See the API documentation, platform requirements and validation scope.
Based on the Apache-2.0 licensed wreq project. Original notices and licenses are retained in the source repository.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tlsurl-0.1.0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: tlsurl-0.1.0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d777136db94077d780931d12bfb95c7cb1eac2742745871f253a10f1fad0288
|
|
| MD5 |
39a89fe57bfb2bc507840a87dc755720
|
|
| BLAKE2b-256 |
648a129079fa5bcc42043a472afb80ee6b8a731f0ffe2544ae52fc6451fc3eb2
|
Provenance
The following attestation bundles were made for tlsurl-0.1.0-cp310-abi3-win_amd64.whl:
Publisher:
publish-native.yml on heiqishi666/tlsurl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tlsurl-0.1.0-cp310-abi3-win_amd64.whl -
Subject digest:
2d777136db94077d780931d12bfb95c7cb1eac2742745871f253a10f1fad0288 - Sigstore transparency entry: 2815297036
- Sigstore integration time:
-
Permalink:
heiqishi666/tlsurl@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/heiqishi666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-native.yml@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tlsurl-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tlsurl-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.10+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bf7e20bf29967a98537c3e0b6b76839e68eb9bb305917c21fe7bec581925c87
|
|
| MD5 |
ad990d1acbd5fbec090b6d8e5adc187a
|
|
| BLAKE2b-256 |
9c898e300d5cccfa622f8df433f52057d6f7c29394138355bdd6dbb2d3a07295
|
Provenance
The following attestation bundles were made for tlsurl-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl:
Publisher:
publish-native.yml on heiqishi666/tlsurl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tlsurl-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
8bf7e20bf29967a98537c3e0b6b76839e68eb9bb305917c21fe7bec581925c87 - Sigstore transparency entry: 2815297097
- Sigstore integration time:
-
Permalink:
heiqishi666/tlsurl@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/heiqishi666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-native.yml@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tlsurl-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: tlsurl-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 4.0 MB
- Tags: CPython 3.10+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bee5a6dfdc1bc2a2417cb4fa281c41d9fe82fefc8296a09802a20343b368234
|
|
| MD5 |
8c1da2f3aea4c405ef9da4cc7f241cc9
|
|
| BLAKE2b-256 |
ffb36f54c921fc47f745130d3f3c944b479f22b0bc7974198ea9650fa9ecdb31
|
Provenance
The following attestation bundles were made for tlsurl-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl:
Publisher:
publish-native.yml on heiqishi666/tlsurl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tlsurl-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
2bee5a6dfdc1bc2a2417cb4fa281c41d9fe82fefc8296a09802a20343b368234 - Sigstore transparency entry: 2815297135
- Sigstore integration time:
-
Permalink:
heiqishi666/tlsurl@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/heiqishi666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-native.yml@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tlsurl-0.1.0-cp310-abi3-macosx_11_0_x86_64.whl.
File metadata
- Download URL: tlsurl-0.1.0-cp310-abi3-macosx_11_0_x86_64.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.10+, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33ff3c7cd91f28b8fed0448d55cdd7f3c921999a8efa38370f03111dfc976fe1
|
|
| MD5 |
f2cfd6dc2b1260fea6d2354c6e813857
|
|
| BLAKE2b-256 |
b0e49a98cdea34da40ab1e6ed9adf4f235ceabdf4a254589542bcd1436d123ac
|
Provenance
The following attestation bundles were made for tlsurl-0.1.0-cp310-abi3-macosx_11_0_x86_64.whl:
Publisher:
publish-native.yml on heiqishi666/tlsurl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tlsurl-0.1.0-cp310-abi3-macosx_11_0_x86_64.whl -
Subject digest:
33ff3c7cd91f28b8fed0448d55cdd7f3c921999a8efa38370f03111dfc976fe1 - Sigstore transparency entry: 2815297166
- Sigstore integration time:
-
Permalink:
heiqishi666/tlsurl@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/heiqishi666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-native.yml@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tlsurl-0.1.0-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: tlsurl-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f49e02280aacac335225c5214e1d78020753280c1e140a00042185da794bbef
|
|
| MD5 |
595828b65105a28216eb73b5e3914d23
|
|
| BLAKE2b-256 |
e82815568c01ee4fe6b982b7644f99ef5a6f322fdb307637f434bced3a1f8b80
|
Provenance
The following attestation bundles were made for tlsurl-0.1.0-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
publish-native.yml on heiqishi666/tlsurl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tlsurl-0.1.0-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
5f49e02280aacac335225c5214e1d78020753280c1e140a00042185da794bbef - Sigstore transparency entry: 2815297070
- Sigstore integration time:
-
Permalink:
heiqishi666/tlsurl@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/heiqishi666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-native.yml@1911cb7d0e64bda0b68fb03761a8d69ad4a06173 -
Trigger Event:
workflow_dispatch
-
Statement type: