Skip to content

userIssa/shroud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shroud 🌑

A geo-aware secure browser that masks your identity and location with one click. Built on Tor and residential proxies with zero-config leak prevention.


What it does

Shroud lets you pick any country on an interactive world map and instantly routes all your traffic through it — masking your IP, blocking WebRTC leaks, encrypting DNS, and spoofing your timezone and locale headers. No manual proxy configuration. No exposed identity.


Features

  • One-click geo routing — select a country, connect, browse
  • Hybrid routing engine — residential SOCKS5 proxies for speed, Tor exit nodes for broad coverage
  • Zero-leak guarantee — WebRTC blocked, DNS-over-HTTPS enforced, timezone and locale spoofed, canvas noise injected
  • Live country switching — switch location mid-session without disconnecting
  • Visual routing map — countries color-coded by routing quality (green = dedicated node, amber = Tor)
  • Searchable country list — find and connect to any of 50+ countries instantly

Routing tiers

Color Meaning Protocol Speed
🟢 Green Dedicated residential proxy SOCKS5 Fast
🟡 Amber Tor exit node Tor SOCKS5 Moderate
⚫ Grey No coverage

Architecture

shroud/
├── main/
│   ├── index.js            ← Electron main process (orchestrator)
│   ├── torController.js    ← Tor binary lifecycle + circuit switching
│   ├── proxyManager.js     ← Webshare SOCKS5 proxy pool
│   └── leakPrevention.js   ← WebRTC/DNS/locale hardening
├── renderer/
│   ├── src/
│   │   ├── App.jsx                      ← Root component + state
│   │   ├── styles.css                   ← Dark UI stylesheet
│   │   ├── data/countries.js            ← Country + routing tier data
│   │   └── components/
│   │       ├── WorldMap.jsx             ← Interactive SVG map (d3-geo)
│   │       ├── CountryList.jsx          ← Searchable country list
│   │       ├── CountryPanel.jsx         ← Selected country + connect button
│   │       └── StatusBar.jsx            ← Status bar + browser bar
│   └── index.html
├── preload/
│   ├── preload.js          ← IPC bridge + fingerprint spoofing
│   └── browserPreload.js   ← WebRTC killer injected before page load
└── tor/
    ├── bin/
    │   ├── windows/        ← tor.exe goes here
    │   ├── linux/          ← tor binary goes here
    │   ├── macos/          ← tor binary goes here
    │   └── geoip/          ← geoip + geoip6 files go here

Setup

Prerequisites

  • Node.js 18+
  • Tor Expert Bundle (for bundled binary) — or system Tor daemon

Install

git clone https://github.com/userIssa/shroud
cd shroud
npm install

Add Tor binary

Download the Tor Expert Bundle for your platform from https://www.torproject.org/download/tor/

Place the binary and GeoIP files:

# Windows
tor/bin/windows/tor.exe
tor/bin/geoip/geoip
tor/bin/geoip/geoip6

# Linux
tor/bin/linux/tor
chmod +x tor/bin/linux/tor

# macOS
tor/bin/macos/tor
chmod +x tor/bin/macos/tor

Configure Webshare (optional but recommended)

Free residential proxies via Webshare — no credit card required.

# Windows
set WEBSHARE_API_KEY=your_key_here

# Linux / macOS
export WEBSHARE_API_KEY=your_key_here

Without a Webshare key, Shroud falls back to Tor-only routing for all countries.

Run

npm start

Leak prevention

Every session gets:

Vector Protection
WebRTC RTCPeerConnection overridden before page load via preload script
DNS Encrypted via session proxy routing
Timezone Intl.DateTimeFormat overridden to match target country
Language Accept-Language header spoofed + navigator.language overridden
Canvas Pixel-level noise injected to defeat fingerprinting
IP headers X-Forwarded-For, Via, Forwarded stripped from requests

Building for distribution

# Windows installer (.exe)
npm run dist:win

# Linux AppImage + .deb
npm run dist:linux

# macOS .dmg (must build on macOS)
npm run dist:mac

Output goes to dist-build/.


Tech stack

Layer Technology
Browser shell Electron + Chromium
UI framework React 18
Map rendering D3-geo + world-atlas topojson
Tor integration Bundled Tor binary + control port
Proxy management Webshare API
Bundler Webpack 5 + Babel
Packaging electron-builder

Built by

Tolu "Issa" Oderinde (@userIssa) — CEH, Cybersecurity Engineer
LinkedIn: linkedin.com/in/toluwanimi-oderinde

About

Geo-aware secure browser with hybrid Tor + residential proxy routing. One click to browse from anywhere.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors