Skip to main content

A precision-engineered TLS/HTTP client for replicating authentic browser fingerprints

Project description

Velum Secure Python Library

Deutsch

Beschreibung

Velum Secure ist eine professionelle Python-Bibliothek für präzise TLS-Fingerprinting und HTTP-Client-Simulation. Die Bibliothek ermöglicht es, authentische Browser-Fingerprints zu replizieren und dabei JA3-Signaturen exakt nachzubilden.

Hauptfeatures

  • JA3-Fingerprint-Spoofing: Exakte Nachbildung von Browser-TLS-Signaturen
  • HTTP/2 und HTTP/1.1 Support: Vollständige Unterstützung beider Protokolle
  • Synchrone und asynchrone Requests: Flexible API für verschiedene Anwendungsfälle
  • Proxy-Unterstützung: HTTP- und SOCKS5-Proxy-Integration
  • Cookie-Management: Automatische Session-Verwaltung
  • Platform-spezifische Header: Authentische Browser-Header-Simulation

Installation

pip install vsec_tls

Lizenzierung

Diese Software ist proprietär und erfordert eine gültige Lizenz. Sie können eine Lizenz über unsere Website erwerben:

https://velum-secure.com

Nach dem Kauf erhalten Sie Ihren persönlichen license_key, welcher für die Nutzung der Bibliothek erforderlich ist.

Profile-Struktur

Velum Secure verwendet vordefinierte Browser-Profile für maximale Authentizität. Hier ist ein Beispiel des chrome_139_windows Profils:

PROFILES = {
    "chrome_139_windows": {
        # Chrome 139.0.7258.66 - Latest stable version
        "ja3": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21,29-23-24,0",
        "alpn": ["h2", "http/1.1"],
        "http_headers": {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.7258.66 Safari/537.36",
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
            "accept-language": "en-US,en;q=0.9",
            "accept-encoding": "gzip, deflate, br, zstd",
            "cache-control": "max-age=0",
            "sec-ch-ua": '"Chromium";v="139", "Google Chrome";v="139", "Not=A?Brand";v="99"',
            "sec-ch-ua-mobile": "?0",
            "sec-ch-ua-platform": '"Windows"',
            "sec-ch-ua-arch": '"x86"',
            "sec-ch-ua-bitness": '"64"',
            "sec-ch-ua-wow64": "?0",
            "sec-ch-ua-platform-version": '"15.0.0"',
            "sec-fetch-dest": "document",
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "none",
            "sec-fetch-user": "?1",
            "upgrade-insecure-requests": "1",
            "dnt": "1"
        },
        "http2_settings": {
            "header_table_size": 65536,
            "enable_push": False,
            "max_concurrent_streams": 1000,
            "initial_window_size": 6291456,
            "max_frame_size": 16384,
            "max_header_list_size": 262144
        },
        "pseudo_header_order": [":method", ":authority", ":scheme", ":path"],
        "connection_flow": 15663105,
        "tls_padding": 512,
        "force_http1": False,
        "enable_grease": True,
        "randomize_extension_order": False,
        "tcp_stealth": False,
        "http_version": "2",
        "platform": {
            "name": "Windows",
            "version": "15.0.0",
            "mobile": False
        }
    }
}

TlsSession Parameter

Die TlsSession Klasse unterstützt folgende Initialisierungsparameter:

session = TlsSession(
    license_key: str,                    # Ihr Lizenzschlüssel (erforderlich)
    api_key: str,                        # Ihr API-Schlüssel (erforderlich)
    ja3: Optional[str] = None,           # Custom JA3 String
    alpn: Optional[List[str]] = None,    # ALPN Protokolle
    proxy: Optional[Dict[str, Any]] = None,  # Proxy-Konfiguration
    http2_settings: Optional[Dict[str, Any]] = None,  # HTTP/2 Einstellungen
    tls_padding: Optional[int] = None,   # TLS Padding Größe
    headers: Optional[Dict[str, str]] = None,  # Standard-Header
    cookies: Optional[Dict[str, str]] = None,  # Standard-Cookies
    timeout: Optional[float] = 30.0,     # Request-Timeout
    verify: bool = True,                 # SSL-Zertifikat-Verifikation
    default_profile: str = "chrome_139_windows"  # Standard-Browser-Profil
)

Schnellstart

Wichtiger Hinweis: Ersetzen Sie YOUR_LICENSE_KEY durch Ihren eigenen Lizenzschlüssel von https://velum-secure.com.

Synchrone Requests

from vsec_tls import TlsSession

# Initialisierung der Session
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",  # Ersetzen Sie dies durch Ihren Lizenzschlüssel
    api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx"
)

# GET Request
response = session.get("https://tls.browserleaks.com/json", headers={
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.7258.66 Safari/537.36",
    "accept": "*/*",
    "accept-language": "en-US,en;q=0.9",
    "sec-ch-ua": '"Chromium";v="139", "Google Chrome";v="139", "Not=A?Brand";v="99"',
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": '"Windows"'
})

print(f"Status: {response.status_code}")
print(f"Headers: {list(response.headers.keys())}")
print(f"Body: {response.text}")

Asynchrone Requests

import asyncio
from vsec_tls import TlsSession

async def async_example():
    session = TlsSession(
        license_key="YOUR_LICENSE_KEY",  # Ersetzen Sie dies durch Ihren Lizenzschlüssel
        api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx"
    )

    response = await session.get_async("https://tls.browserleaks.com/json", headers={
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.7258.66 Safari/537.36",
        "accept": "*/*"
    })

    print(f"Status: {response.status_code}")
    print(f"Body: {response.text}")

# Ausführung
asyncio.run(async_example())

Proxy-Unterstützung

# HTTP Proxy
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",
    api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx",
    proxy={
        "type": "http",
        "host": "",
        "port": 8000,
        "username": "",
        "password": ""
    }
)

# SOCKS5 Proxy
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",
    api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx",
    proxy={
        "type": "socks5",
        "host": "",
        "port": 8000,
        "username": "",
        "password": ""
    }
)

Custom TLS-Konfiguration

# Benutzerdefinierte HTTP/2 Einstellungen
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",
    api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx",
    http2_settings={
        "header_table_size": 32768,
        "enable_push": False,
        "max_concurrent_streams": 500,
        "initial_window_size": 3145728,
        "max_frame_size": 8192,
        "max_header_list_size": 131072
    },
    tls_padding=256
)

English

Description

Velum Secure is a professional Python library for precise TLS fingerprinting and HTTP client simulation. The library enables replication of authentic browser fingerprints while accurately mimicking JA3 signatures.

Key Features

  • JA3 Fingerprint Spoofing: Exact replication of browser TLS signatures
  • HTTP/2 and HTTP/1.1 Support: Full support for both protocols
  • Synchronous and Asynchronous Requests: Flexible API for various use cases
  • Proxy Support: HTTP and SOCKS5 proxy integration
  • Cookie Management: Automatic session management
  • Platform-specific Headers: Authentic browser header simulation

Installation

pip install vsec_tls

Licensing

This software is proprietary and requires a valid license. You can purchase a license through our website:

https://velum-secure.com

After purchase, you will receive your personal license_key, which is required to use the library.

Profile Structure

Velum Secure uses predefined browser profiles for maximum authenticity. Here's an example of the chrome_139_windows profile:

PROFILES = {
    "chrome_139_windows": {
        # Chrome 139.0.7258.66 - Latest stable version
        "ja3": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21,29-23-24,0",
        "alpn": ["h2", "http/1.1"],
        "http_headers": {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.7258.66 Safari/537.36",
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
            "accept-language": "en-US,en;q=0.9",
            "accept-encoding": "gzip, deflate, br, zstd",
            "cache-control": "max-age=0",
            "sec-ch-ua": '"Chromium";v="139", "Google Chrome";v="139", "Not=A?Brand";v="99"',
            "sec-ch-ua-mobile": "?0",
            "sec-ch-ua-platform": '"Windows"',
            "sec-ch-ua-arch": '"x86"',
            "sec-ch-ua-bitness": '"64"',
            "sec-ch-ua-wow64": "?0",
            "sec-ch-ua-platform-version": '"15.0.0"',
            "sec-fetch-dest": "document",
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "none",
            "sec-fetch-user": "?1",
            "upgrade-insecure-requests": "1",
            "dnt": "1"
        },
        "http2_settings": {
            "header_table_size": 65536,
            "enable_push": False,
            "max_concurrent_streams": 1000,
            "initial_window_size": 6291456,
            "max_frame_size": 16384,
            "max_header_list_size": 262144
        },
        "pseudo_header_order": [":method", ":authority", ":scheme", ":path"],
        "connection_flow": 15663105,
        "tls_padding": 512,
        "force_http1": False,
        "enable_grease": True,
        "randomize_extension_order": False,
        "tcp_stealth": False,
        "http_version": "2",
        "platform": {
            "name": "Windows",
            "version": "15.0.0",
            "mobile": False
        }
    }
}

TlsSession Parameters

The TlsSession class supports the following initialization parameters:

session = TlsSession(
    license_key: str,                    # Your license key (required)
    api_key: str,                        # Your API key (required)
    ja3: Optional[str] = None,           # Custom JA3 string
    alpn: Optional[List[str]] = None,    # ALPN protocols
    proxy: Optional[Dict[str, Any]] = None,  # Proxy configuration
    http2_settings: Optional[Dict[str, Any]] = None,  # HTTP/2 settings
    tls_padding: Optional[int] = None,   # TLS padding size
    headers: Optional[Dict[str, str]] = None,  # Default headers
    cookies: Optional[Dict[str, str]] = None,  # Default cookies
    timeout: Optional[float] = 30.0,     # Request timeout
    verify: bool = True,                 # SSL certificate verification
    default_profile: str = "chrome_139_windows"  # Default browser profile
)

Quick Start

Important Note: Replace YOUR_LICENSE_KEY with your own license key from https://velum-secure.com.

Synchronous Requests

from vsec_tls import TlsSession

# Initialize session
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",  # Replace this with your license key
    api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx"
)

# GET Request
response = session.get("https://tls.browserleaks.com/json", headers={
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.7258.66 Safari/537.36",
    "accept": "*/*",
    "accept-language": "en-US,en;q=0.9",
    "sec-ch-ua": '"Chromium";v="139", "Google Chrome";v="139", "Not=A?Brand";v="99"',
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": '"Windows"'
})

print(f"Status: {response.status_code}")
print(f"Headers: {list(response.headers.keys())}")
print(f"Body: {response.text}")

Asynchronous Requests

import asyncio
from vsec_tls import TlsSession

async def async_example():
    session = TlsSession(
        license_key="YOUR_LICENSE_KEY",  # Replace this with your license key
        api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx"
    )

    response = await session.get_async("https://tls.browserleaks.com/json", headers={
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.7258.66 Safari/537.36",
        "accept": "*/*"
    })

    print(f"Status: {response.status_code}")
    print(f"Body: {response.text}")

# Execute
asyncio.run(async_example())

Proxy Support

# HTTP Proxy
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",
    api_key="YOUR_API_KEY",
    proxy={
        "type": "http",
        "host": "",
        "port": 8000,
        "username": "",
        "password": ""
    }
)

# SOCKS5 Proxy
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",
    api_key="YOUR_API_KEY",
    proxy={
        "type": "socks5",
        "host": "",
        "port": 8000,
        "username": "",
        "password": ""
    }
)

Custom TLS Configuration

# Custom HTTP/2 settings
session = TlsSession(
    license_key="YOUR_LICENSE_KEY",
    api_key="vsk_live_4zFJH1rM@8kq7XyPbUvdM9LrNcVtE#QeRWtZpBGY6La*JUfh2vSx",
    http2_settings={
        "header_table_size": 32768,
        "enable_push": False,
        "max_concurrent_streams": 500,
        "initial_window_size": 3145728,
        "max_frame_size": 8192,
        "max_header_list_size": 131072
    },
    tls_padding=256
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vsec_tls-0.6.4.tar.gz (10.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vsec_tls-0.6.4-py3-none-any.whl (10.3 MB view details)

Uploaded Python 3

File details

Details for the file vsec_tls-0.6.4.tar.gz.

File metadata

  • Download URL: vsec_tls-0.6.4.tar.gz
  • Upload date:
  • Size: 10.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for vsec_tls-0.6.4.tar.gz
Algorithm Hash digest
SHA256 b12b5dfa38bdbf7368e3d4bb0ad3b45e87cf142cde432a43e8e9198c455a28d4
MD5 0f3a596cf58dc8d5f815ba19288f658b
BLAKE2b-256 c80e14221d76b9e4fae4410dc8f7701b379582a2b41946ee86b3a2db4c4c53a2

See more details on using hashes here.

File details

Details for the file vsec_tls-0.6.4-py3-none-any.whl.

File metadata

  • Download URL: vsec_tls-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 10.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for vsec_tls-0.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5c90bf7ee2df1f5d52c071e7134867a5787735fab946d6dd27c05de9221341a7
MD5 236cfe5162cd4a3bfd18f39eb5d5011c
BLAKE2b-256 c0e42cc7f86aee205fa6b4cb87c7e845f037505ac7694a519144baefdbe2c33c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page