userIssa/shroud

GitHub: userIssa/shroud

Shroud 是一款通过混合 Tor 与住宅代理实现一键地理路由、内置多重泄漏防护的隐私安全浏览器。

Stars: 1 | Forks: 1

# Shroud 🌑 ## 功能介绍 Shroud 让您在世界交互式地图上选择任意国家,并立即将所有流量路由通过该国家 — 隐藏您的 IP、阻止 WebRTC 泄漏、加密 DNS 以及伪造时区和语言区域标头。无需手动代理配置,不会暴露身份。 ## 功能特性 - **一键地理路由** — 选择一个国家,连接,即可浏览 - **混合路由引擎** — 住宅 SOCKS5 代理保证速度,Tor 出口节点保证广泛覆盖 - **零泄漏保障** — 阻止 WebRTC、强制使用 DNS-over-HTTPS、伪造时区和语言区域、注入画布噪声 - **实时切换国家** — 会话中途切换位置无需断开连接 - **可视化路由地图** — 国家按路由质量颜色编码(绿色 = 专用节点,琥珀色 = Tor) - **可搜索的国家列表** — 快速查找并连接 50+ 个国家中的任意一个 ## 路由等级 | 颜色 | 含义 | 协议 | 速度 | |-------|---------|----------|-------| | 🟢 绿色 | 专用住宅代理 | SOCKS5 | 快 | | 🟡 琥珀色 | Tor 出口节点 | Tor SOCKS5 | 中等 | | ⚫ 灰色 | 无覆盖 | — | — | ## 架构 ``` 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 ``` ## 安装设置 ### 前置条件 - Node.js 18+ - Tor Expert Bundle(用于捆绑二进制文件)— 或系统 Tor 守护进程 ### 安装 ``` git clone https://github.com/userIssa/shroud cd shroud npm install ``` ### 添加 Tor 二进制文件 从 https://www.torproject.org/download/tor/ 下载适用于您平台的 **Tor Expert Bundle** 放置二进制文件和 GeoIP 文件: ``` # 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 ``` ### 配置 Webshare(可选但推荐) 通过 [Webshare](https://proxy.webshare.io) 获取免费住宅代理 — 无需信用卡。 ``` # Windows set WEBSHARE_API_KEY=your_key_here # Linux / macOS export WEBSHARE_API_KEY=your_key_here ``` 没有 Webshare 密钥的情况下,Shroud 将回退到所有国家仅使用 Tor 路由。 ### 运行 ``` npm start ``` ## 泄漏防护 每次会话都会获得以下防护: | 向量 | 防护措施 | |--------|-----------| | WebRTC | 通过预加载脚本在页面加载前覆盖 RTCPeerConnection | | DNS | 通过会话代理路由加密 | | 时区 | 覆盖 `Intl.DateTimeFormat` 以匹配目标国家 | | 语言 | 伪造 `Accept-Language` 标头 + 覆盖 `navigator.language` | | 画布 | 注入像素级噪声以对抗指纹识别 | | IP 标头 | 从请求中移除 `X-Forwarded-For`、`Via`、`Forwarded` | ## 打包分发 ``` # Windows 安装程序 (.exe) npm run dist:win # Linux AppImage + .deb npm run dist:linux # macOS .dmg(必须在 macOS 上构建) npm run dist:mac ``` 输出到 `dist-build/`。 ## 技术栈 | 层级 | 技术 | |-------|-----------| | 浏览器外壳 | Electron + Chromium | | UI 框架 | React 18 | | 地图渲染 | D3-geo + world-atlas topojson | | Tor 集成 | 捆绑 Tor 二进制文件 + 控制端口 | | 代理管理 | Webshare API | | 打包工具 | Webpack 5 + Babel | | 打包发布 | electron-builder | ## 开发者 Tolu "Issa" Oderinde ([@userIssa](https://github.com/userIssa)) — CEH,网络安全工程师 LinkedIn:[linkedin.com/in/toluwanimi-oderinde](https://linkedin.com/in/toluwanimi-oderinde/)
标签:Canvas噪声注入, d3-geo, dark UI, DNS-over-HTTPS, DNS加密, Electron应用, Geo-aware浏览器, IP伪装, IP隐藏, React前端, SOCKS5代理, SOCKS5代理池, Tor浏览器, Tor电路切换, WebRTC屏蔽, WebRTC防护, Webshare代理池, 一键切换, 代理浏览器, 代理管理, 住宅代理, 匿名工具, 匿名浏览, 反指纹, 反追踪, 国家切换, 在线安全, 地理位置欺骗, 地理感知安全浏览器, 安全浏览, 安全通信, 时区欺骗, 混合代理路由, 混合路由, 网络安全, 自定义脚本, 跨浏览器隐私, 路由质量可视化, 隐私保护, 隐私增强, 隐私浏览器, 零泄漏