Releases: atriganguly/ghostfetch-proxy
Releases · atriganguly/ghostfetch-proxy
Release list
Initial Public Beta: The Independent Stealth Relay (v1.0.0-beta)
Executive Overview
I'm excited to share the release of GhostFetch Proxy (v1.0.0-beta)!
I built GhostFetch Proxy as a high-performance API microservice engineered for deterministic TLS fingerprint spoofing. I wanted to directly solve the common architectural headaches of executing scraping architectures at scale—such as Cloudflare 403 blocks, DataDome Captcha loops, and underlying HTTP library identification—bringing a resilient, container-ready spoofing engine to modern data pipelines.
Key Capabilities & Engineering Highlights
🛡️ Core Protocol & TLS Identity Spoofing
- JA3 Hash Cloaking: Translates standard API calls into cryptographic TLS client hellos that mathematically perfectly match native browsers (like Google Chrome 110).
- HTTP/2 Frame Normalization: Perfectly mimics the multiplexing, window sizing, and frame settings of commercial browsers to bypass advanced HTTP/2 anomaly detection.
- Stateless Relay Architecture: Requires zero local persistent storage. You pass the target, headers, and cookies via JSON, and the proxy handles the rest, allowing infinite horizontal scaling.
🧠 Memory-Aware Resilience & Fallbacks
- Dynamic Binary Encoding: Automatically detects if the target server returns binary data (like an image or PDF) and cleanly converts it to Base64 to prevent JSON serialization crashes on the client side.
- Strict Pydantic Validation: Malformed client requests are instantly rejected at the boundary layer before the execution engine engages.
- Upstream Error Isolation: Target server timeouts and DNS failures are securely intercepted and returned as normalized HTTP 502 JSON responses.
📊 Transparent Telemetry & Output Schema
- Standardized Responses: Every request guarantees a strict return schema containing the HTTP status code, raw headers, MIME type, and the parsed body.
Technical Specifications & Stack
| Component | Technology | Role |
|---|---|---|
| Orchestration Layer | FastAPI / Uvicorn | Asynchronous HTTP routing, OpenAPI Swagger generation, and concurrency. |
| Execution Engine | curl_cffi | Low-level C-bindings for impersonating browser TLS and HTTP/2 characteristics. |
| Validation Layer | Pydantic | Strict type enforcement and persistent state management for incoming payloads. |
Quick Start & Verification
Run via Docker
docker build -t ghostfetch-proxy:latest .
docker run -d -p 8080:8080 ghostfetch-proxy:latestTest Configuration / Endpoint
curl -X 'POST' \
'http://localhost:8080/api/v1/fetch' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"url": "[https://tls.peet.ws/api/all](https://tls.peet.ws/api/all)",
"method": "GET",
"impersonate": "chrome110",
"timeout": 15
}'BETA Limitations & Feedback
As this is a BETA Release, I would love your help testing it out and gathering architectural feedback:
- Heavy binary payloads (like large video files) may cause local memory spikes during the Base64 conversion process.
- Please let me know if you run into any specific target environments (like strict Akamai setups) where the Chrome 110 profile requires further tuning.
💬 Report Bugs & Suggestions: https://github.com/atriganguly/support