Rammerhead is a self-hostable web proxy built on top of testcafe-hammerhead. It lets you deploy a fully configurable proxy server that works across a wide range of websites, with support for persistent sessions that preserve cookies and localStorage — even across devices.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/binary-person/rammerhead/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Clone the repo, install dependencies, and have a proxy running in minutes
Configuration
Customize ports, SSL, sessions, caching, password protection, and more
Core Concepts
Understand sessions, URL shuffling, and the JS caching system
API Reference
Explore the full public API — classes, utilities, and HTTP endpoints
What Rammerhead does
Rammerhead proxies web traffic through your server, rewriting all URLs and JavaScript on the fly so that the original site’s scripts run in the context of your proxy domain. Each user gets an isolated session that tracks cookies, localStorage, and optionally a custom upstream proxy.Session management
Persistent sessions with cookie and localStorage sync across devices
URL shuffling
Per-session character-map encoding to obfuscate proxied URLs
JS caching
Disk and memory caches for rewritten JavaScript to reduce CPU load
Multi-threading
Sticky-session cluster support for multi-core production deployments
Getting started
Build client scripts
Build the minified client-side hammerhead scripts that get injected into proxied pages.
Configure
Edit
src/config.js to set your binding address, port, password, and other options. For persistent customizations that survive upstream updates, create a config.js in the project root to override defaults.The default password for creating new sessions is
sharkie4life. Change the password field in src/config.js before deploying publicly, or set it to null to disable password protection.