Scramjet Proxy -
Scramjet Proxy is a lightweight, modular proxy server built on the Scramjet Framework — an open-source, reactive stream processing platform. Unlike traditional proxies (HTTP, SOCKS) that operate at the connection or request level, Scramjet Proxy leverages Scramjet’s data stream pipelines to intercept, transform, filter, and route data in real time.
Designed for edge computing, API gateways, and data-intensive microservices, Scramjet Proxy combines the low-latency characteristics of a forward/reverse proxy with the transform capabilities of a stream processor.
The true magic is data transformation during the proxy request. As the proxy fetches a webpage, the Scramjet stream can begin parsing HTML, extracting JSON, or hashing values before the request even finishes. This reduces memory usage by 70-90% compared to traditional scraping where you fetch the whole page, then parse.
npm install @scramjet/proxy
# or
yarn add @scramjet/proxy
Checking Google rankings for 100,000 keywords requires SERP scraping. With a Scramjet Proxy, you can integrate with proxy APIs (like BrightData or Oxylabs) and use Scramjet’s map function to enrich the stream with rank data before saving to PostgreSQL.
Choose it when you need a fast, simple proxy that adds minimal latency and resource overhead—especially for short, frequent requests or edge deployments. If you require heavy protocol translation or complex routing logic, consider pairing it with a more feature-rich gateway.
Would you like a short social media post, a detailed blog draft, or a technical README for this?
"suggestions":["suggestion":"scramjet proxy performance benchmarks","score":0.76,"suggestion":"edge proxy TLS tuning best practices","score":0.64,"suggestion":"sidecar vs gateway proxy comparison","score":0.59]
Scramjet is a high-performance web proxy designed for modern web sandboxing and bypassing internet censorship. It is often used by developers and hobbyists to create "unblocked" game sites or to browse the web without browser-imposed limitations, all while maintaining a secure, declarative environment. Core Features scramjet proxy
Web Sandboxing: Scramjet operates using a powerful library that creates a secure sandbox. This allows users to overcome browser restrictions and security features without compromising their local machine's safety.
Modern Interception: It is positioned as a successor to older tools like Aero, offering modern features for interception.
Performance: Users frequently highlight its speed and reliability, particularly in high-demand environments like gaming.
Integrations: It often appears in specialized "Web OS" environments, paired with tools like DuckDuckGo for private searching and GN Math for high-speed game calculations. Common Use Cases
Educational Settings: Students often use Scramjet-powered proxies on sites like DotGUI to access restricted games or websites on school Chromebooks.
Developer Tooling: It functions as a monorepo for developers looking to build their own interception proxies with specific features like URL persistence and custom service workers.
Privacy & Security: By sandboxing the browsing session, it prevents websites from directly interacting with the user's actual browser environment. Where to Find It Scramjet Proxy is a lightweight, modular proxy server
You can explore the source code or implement it yourself through major developer platforms:
GitHub: The bird-networks/scramjet repository (and associated forks) contains the primary documentation and source code.
NPM: Specialized packages like @petezah-games/scramjet-controller are available for managing coordination between the proxy and service workers. bird-networks/aero - GitHub
Create proxy-stream.js:
const DataStream = require('scramjet'); const fs = require('fs'); const axios = require('axios');// Load proxies into a reusable array (will cycle) const proxyList = fs.readFileSync('proxies.txt', 'utf-8') .split('\n') .filter(Boolean);
let proxyIndex = 0;
// Function to get next proxy (round-robin) const getNextProxy = () => const proxy = proxyList[proxyIndex % proxyList.length]; proxyIndex++; return proxy; ; The true magic is data transformation during the
// Create a stream of URLs to scrape const urlStream = DataStream.from([ 'https://httpbin.org/ip', 'https://httpbin.org/ip', 'https://httpbin.org/user-agent' ]);
// The actual Scramjet Proxy pipeline urlStream .setOptions( maxParallel: 5 ) // 5 concurrent requests .map(async (url) => const proxyUrl = getNextProxy(); try const response = await axios.get(url, proxy: host: proxyUrl.split(':')[1].replace('//', ''), port: proxyUrl.split(':')[2], auth: username: proxyUrl.split('@')[0].split(':')[1].replace('//', ''), password: proxyUrl.split('@')[0].split(':')[2] , timeout: 10000 ); return url, data: response.data, proxy: proxyUrl, status: 'success' ; catch (error) return url, error: error.message, proxy: proxyUrl, status: 'failed' ; ) .each(result => console.log(JSON.stringify(result, null, 2))) .run();
Run it: node proxy-stream.js
This is a basic example. A production Scramjet Proxy would use pipeline composition, retry streams, and health-check transforms.
You do not need to write your own from scratch. Several open-source projects embody Scramjet principles:
A minimal Scramjet Proxy in C using io_uring might look like this pseudocode:
// Simplified: Submit a splice operation from client_fd to server_fd
struct io_uring ring;
io_uring_queue_init(256, &ring, 0);
struct io_uring_sqe *sqe = io_uring_get_sqe(&ring);
io_uring_prep_splice(sqe, client_fd, -1, server_fd, -1, 65536, SPLICE_F_MOVE);
io_uring_submit(&ring);
// Wait for completion without copying data to userspace
For production, however, most engineers reach for Pingora (Cloudflare's Rust framework) or Tokio with splice syscalls.
In a standard web server, you open a port (e.g., port 80) and listen for requests. In Scramjet: