Skip to main content

🏗️ Architect

High-performance network orchestration engine for protocol research & client emulation.


PyPI version Python License Stars Research


Move beyond the rigid defaults of standard libraries.
Architect gives you surgical control over TLS, HTTP/2, and TCP/IP — down to the byte.


Install · Quick Start · Capabilities · Custom Profiles


✨ Why Architect?

Most HTTP clients are black boxes. You send a request; something happens on the wire; you get a response. Architect exposes everything in between.

By separating a clean Python API from a specialized Go sidecar, Architect lets you precisely control:

  • 🔐 TLS fingerprints — spoof or study JA3/JA4 signatures with native uTLS
  • 📡 HTTP/2 internals — frame ordering, header normalization, SETTINGS parameters
  • 🌐 OS-level TCP stack — TTL, window size, and ECH for deep emulation fidelity
  • 🍪 Session state — cookie-aware persistence + TLS session resumption

🔬 Capabilities

🟦 Layer 7 — Application

Full control over HTTP/2 header normalization and frame ordering to match specific client specifications (Chrome, Firefox, Safari, curl…)

🟨 Layer 4 — Transport

Native uTLS integration for accurate JA3 / JA4 fingerprinting and Encrypted Client Hello (ECH) testing.

🟩 Layer 3 — Network

Granular TTL and TCP Window Size adjustment for operating system-level emulation.

🟪 Persistence

Built-in cookie-aware sessions and TLS session resumption across requests.


🚀 Technical Highlights

Feature Detail
⚡ Zero-dependency core Pre-compiled Go binaries ship with the package — no Go toolchain needed
🔄 Async-first Designed from the ground up for asyncio and high-scale concurrency
🛠️ Full HTTP methods GET POST PUT DELETE PATCH HEAD OPTIONS
🔍 Deep visibility Real-time engine logs expose every handshake, frame, and negotiation
🔀 Flexible proxying SOCKS5 & HTTP proxies with per-session isolated connection pools

📦 Installation

pip install architect-net

Requirements: Python 3.10+


⚡ Quick Start

Session-based client emulation

import asyncio
import architect

async def main():
    # Emulate a Chrome 124 network environment
    session = architect.AsyncSession(architect.CHROME_124)

    response = await session.get("https://tls.peet.ws/api/all")

    if response.status_code == 200:
        data = response.json()
        print(f"✅ Verified JA3 Hash: {data['tls']['ja3_hash']}")

asyncio.run(main())

🧪 Custom Protocol Profiles

Define your own network fingerprint for granular testing and research:

import architect

RESEARCH_PROFILE = {
    "ID":         "custom_research_node",
    "TLSID":      1,        # Maps to an internal TLS profile
    "TTL":        128,      # Custom hop limit (128 = Windows)
    "TCPWindow":  65535,    # Initial TCP window size
    "UserAgent":  "Mozilla/5.0 (Windows NT 10.0; Win64; x64)..."
}

async def run_test():
    # AsyncClient is stateless — no session/cookie persistence
    client = architect.AsyncClient(profile=RESEARCH_PROFILE)
    response = await client.get("https://tls.peet.ws/api/all")
    print(response.json())
📋 Profile field reference
Field Type Description
ID str Human-readable identifier for this profile
TLSID int Index into internal TLS client hello profiles
TTL int IP time-to-live value (64 = Linux, 128 = Windows)
TCPWindow int Initial TCP receive window size
UserAgent str HTTP User-Agent header value

🔄 AsyncSession vs AsyncClient

AsyncSession AsyncClient
Cookie persistence ✅ Yes ❌ No
TLS session resumption ✅ Yes ❌ No
Stateless requests ❌ ✅ Yes
Best for Multi-request flows, login flows One-off probes, benchmarking

⚖️ Responsible Use

Architect is built for authorized security research, protocol analysis, and educational use. It exists to help engineers understand network behavior and build more resilient systems.

⚠️ Users are solely responsible for ensuring their use of this tool complies with all applicable laws and ethical standards. Do not use Architect against systems you do not own or have explicit permission to test.


🤝 Contributing

Contributions, issues, and feature requests are welcome! Check the issues page to get started.


Made with 🖤 by Hiericho


⭐ Star this repo if Architect saved you time ⭐

Metadata

Release files for architect-net 1.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for architect-net 1.1.7
File Size Uploaded Provenance Actions
architect_net-1.1.7.tar.gz 17.0 MB Without provenance Details for architect_net-1.1.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for architect-net 1.1.7
File Interpreter ABI Platform Actions
architect_net-1.1.7-py3-none-any.whl Python 3 none any Details for architect_net-1.1.7-py3-none-any.whl

Total release size: 34.1 MB

Release files / architect_net-1.1.7.tar.gz

Download URL architect_net-1.1.7.tar.gz
Size 17.0 MB
Tags Source
SHA-256 checksum
How to use checksums
b77024dbfd7f9a4aaafc6e5b57063ce9c4d513373ad6c8fccd3d725f9ad751a6
BLAKE2b-256 checksum
How to use checksums
ea71af2bd712106d7f0889e583334eb60a226eb71e953dc64479ea61be51926a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / architect_net-1.1.7-py3-none-any.whl

Download URL architect_net-1.1.7-py3-none-any.whl
Size 17.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
551d1543db027da91917c77b81c6ddca181fdb6786887c5909e75b965bad7062
BLAKE2b-256 checksum
How to use checksums
3b49405d7f3addf618e9a3b6d65dca43c3c42ba88ae0c7d49d30447ac85e379e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Security for architect-net 1.1.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page