{"id":48892069,"url":"https://github.com/gofman5/lux-antidetect","last_synced_at":"2026-04-28T09:06:50.692Z","repository":{"id":351433908,"uuid":"1210982816","full_name":"GofMan5/lux-antidetect","owner":"GofMan5","description":"Advanced antidetect browser manager with 16-vector fingerprint engine, proxy management, and per-launch unique identity generation","archived":false,"fork":false,"pushed_at":"2026-04-15T00:43:07.000Z","size":308,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-15T02:32:57.656Z","etag":null,"topics":["antidetect","browser","electron","fingerprint","privacy","proxy","react","sqlite","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GofMan5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T00:40:04.000Z","updated_at":"2026-04-15T00:43:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/GofMan5/lux-antidetect","commit_stats":null,"previous_names":["gofman5/lux-antidetect"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/GofMan5/lux-antidetect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GofMan5%2Flux-antidetect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GofMan5%2Flux-antidetect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GofMan5%2Flux-antidetect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GofMan5%2Flux-antidetect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GofMan5","download_url":"https://codeload.github.com/GofMan5/lux-antidetect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GofMan5%2Flux-antidetect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31878830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T07:36:03.521Z","status":"ssl_error","status_checked_at":"2026-04-16T07:35:53.576Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antidetect","browser","electron","fingerprint","privacy","proxy","react","sqlite","tailwindcss","typescript"],"created_at":"2026-04-16T09:00:16.945Z","updated_at":"2026-04-16T09:00:33.637Z","avatar_url":"https://github.com/GofMan5.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/icon.png\" alt=\"Lux Antidetect\" width=\"128\" height=\"128\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eLux Antidetect Browser\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Advanced antidetect browser manager with per-profile fingerprint isolation, proxy management, and real browser automation.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Electron-39-47848F?logo=electron\u0026logoColor=white\" alt=\"Electron\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-19-61DAFB?logo=react\u0026logoColor=black\" alt=\"React\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-5.9-3178C6?logo=typescript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/SQLite-WAL-003B57?logo=sqlite\u0026logoColor=white\" alt=\"SQLite\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tailwind_CSS-4-06B6D4?logo=tailwindcss\u0026logoColor=white\" alt=\"Tailwind CSS\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Platform-Windows-0078D6?logo=windows\u0026logoColor=white\" alt=\"Windows\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-green\" alt=\"License\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Fingerprint_Engine-16_Vectors-blueviolet\" alt=\"Fingerprint Vectors\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/GPU_Configs-39-orange\" alt=\"GPU Configs\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Timezone_Pool-70%2B-yellow\" alt=\"Timezones\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Chrome_Versions-12-blue\" alt=\"Chrome Versions\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Overview\n\nLux Antidetect is a desktop application that launches real browsers (Chrome, Edge, Firefox) with fully spoofed, unique fingerprints per profile. Each profile gets its own isolated browser data directory, proxy configuration, and fingerprint identity — making every session appear as a completely different user.\n\nUnlike browser extensions or simple UA switchers, Lux injects fingerprint overrides at the **content script level** (Chromium MV3 `MAIN` world) before any page JavaScript executes, covering **16 independent fingerprint vectors** with `toString()` cloaking to defeat detection.\n\n## Key Features\n\n### Fingerprint Engine\n\n| Vector | Technique |\n|--------|-----------|\n| **Canvas** | Seeded PRNG noise on `toDataURL`, `toBlob`, `getImageData` |\n| **WebGL** | Vendor/renderer spoofing, extension list, shader precision |\n| **AudioContext** | Channel data noise, frequency data perturbation, oscillator detune |\n| **Fonts** | `FontFaceSet.check()` filtering against randomized font subsets |\n| **ClientRects** | Sub-pixel noise on `getBoundingClientRect` / `getClientRects` |\n| **Navigator** | UA, platform, hardware concurrency, device memory, languages |\n| **Screen** | Resolution, color depth, pixel ratio, inner/outer dimensions |\n| **Timezone** | `getTimezoneOffset`, `Intl.DateTimeFormat`, constructor hook |\n| **WebRTC** | ICE candidate filtering, SDP stripping, STUN/TURN policy |\n| **Media Devices** | Deterministic device IDs, configurable input/output counts |\n| **Plugins** | Realistic PDF plugin array matching real Chrome |\n| **Permissions** | Consistent permission states for all queried APIs |\n| **Battery** | Static battery API response |\n| **Connection** | Spoofed `navigator.connection` properties |\n| **Chrome Object** | Full `window.chrome` with `runtime`, `csi`, `loadTimes`, `app` |\n| **Misc** | `webdriver=false`, `doNotTrack`, speech synthesis, notifications |\n\nAll hooks are **cloaked**: `Function.prototype.toString` returns the original native code string for every patched function.\n\n### Browser Management\n\n- **Multi-browser support** — Chrome, Edge, Firefox with auto-detection\n- **Isolated profiles** — Each profile has its own `--user-data-dir` (Chromium) or `-profile` (Firefox)\n- **State machine** — `ready → starting → running → stopping → ready` with error recovery\n- **Crash recovery** — Stale \"running\" profiles auto-reset to \"ready\" on app restart\n- **Graceful shutdown** — All browser processes killed cleanly on app exit\n- **Process health monitoring** — Periodic PID probing to detect orphaned processes\n- **Session history** — Every launch/stop is logged with timestamps and exit codes\n\n### Network \u0026 Security\n\n- **Proxy support** — HTTP, HTTPS, SOCKS4, SOCKS5 with per-profile assignment\n- **Proxy auth extension** — MV3 background service worker handles `username:password` auth automatically\n- **DNS-over-HTTPS** — Enabled by default via `--dns-over-https-mode=automatic`\n- **TLS fingerprint randomization** — Shuffled TLS 1.3 cipher suite ordering per launch\n- **WebRTC leak protection** — Configurable ICE policy with SDP candidate filtering\n- **Start URL** — Configurable per-profile URL to open on launch\n\n### Profile Tooling\n\n- **Bulk operations** — Select multiple profiles, launch/stop/delete in batch\n- **Group color tags** — Assign colors to profiles, filter by group\n- **Profile templates** — Save profile configs as reusable templates\n- **Profile duplication** — One-click clone with fresh fingerprint seeds\n- **Cookie import/export** — Read/write cookies from profile data directories\n- **Fingerprint validation** — Cross-check UA/platform/GPU/screen consistency\n\n### Fingerprint Generation\n\nEvery launch generates a **unique, coherent fingerprint** from realistic data pools:\n\n- **12 Chrome major versions** (122–133) with randomized build/patch numbers\n- **39 GPU configurations** — NVIDIA (17), AMD (12), Intel (10) for Windows; Apple Silicon (15) for Mac\n- **25 screen resolutions** — 15 Windows, 10 Mac with appropriate pixel ratios\n- **70+ timezones** — Weighted by real-world usage, with timezone→language mapping\n- **9 hardware configs** — Weighted CPU core / memory combinations\n- **60+ fonts** — OS-appropriate subsets (Windows fonts vs Mac fonts)\n- **OS distribution** — ~65% Windows / ~35% Mac matching real browser stats\n\n### UI \u0026 Theming\n\n- **Compact dashboard** — Split-panel layout with collapsible sidebar\n- **5 theme presets** — Midnight Blue, Midnight Purple, Emerald Dark, Crimson Dark, Ocean Teal\n- **Custom themes** — Full color picker for 12 color tokens\n- **Responsive** — Adapts to window resizing with flexible column layouts\n\n### Portable Mode\n\nPlace a `data/` directory next to the executable — Lux will use it instead of `%APPDATA%`, making the entire app portable on a USB drive.\n\n## Architecture\n\n```\nsrc/\n├── main/                    # Electron main process\n│   ├── index.ts             # App entry, window creation, crash recovery\n│   ├── db.ts                # SQLite schema + migrations (WAL mode)\n│   ├── ipc.ts               # 30+ IPC handlers\n│   ├── browser.ts           # Browser launch/stop, extension writing\n│   ├── fingerprint.ts       # Generation engine + injection script builder\n│   ├── profile.ts           # Profile CRUD\n│   ├── proxy.ts             # Proxy CRUD + connectivity test\n│   ├── sessions.ts          # In-memory session tracking + history logging\n│   └── models.ts            # TypeScript interfaces\n├── preload/\n│   ├── index.ts             # contextBridge API exposure\n│   └── index.d.ts           # Type declarations for renderer\n└── renderer/src/\n    ├── App.tsx               # Router setup\n    ├── components/\n    │   └── Layout.tsx        # Sidebar navigation\n    ├── pages/\n    │   ├── ProfilesPage.tsx  # Split-panel profiles dashboard\n    │   ├── ProfileEditorPage.tsx  # Profile editor panel\n    │   ├── ProxiesPage.tsx   # Proxy management\n    │   └── SettingsPage.tsx  # Themes, fingerprint settings, history\n    ├── stores/\n    │   ├── profiles.ts       # Zustand store with reactive session events\n    │   ├── proxies.ts        # Proxy store\n    │   └── settings.ts       # Theme + settings store\n    └── lib/\n        ├── themes.ts         # Theme system (presets + custom)\n        ├── types.ts          # Shared TypeScript types\n        ├── ui.ts             # Shared UI class constants\n        └── api.ts            # Window API reference\n```\n\n### Database Schema\n\n| Table | Purpose |\n|-------|---------|\n| `profiles` | Browser profiles with status, group, proxy, start URL |\n| `fingerprints` | 20-field fingerprint per profile (1:1) |\n| `proxies` | Proxy server configurations |\n| `templates` | Reusable profile templates |\n| `session_history` | Launch/stop audit log with duration and exit codes |\n| `settings` | Key-value store for app settings |\n\n## Getting Started\n\n### Prerequisites\n\n- **Node.js** 18+\n- **npm** 9+\n- At least one supported browser installed (Chrome, Edge, or Firefox)\n\n### Install\n\n```bash\ngit clone https://github.com/GofMan5/lux-antidetect.git\ncd lux-antidetect\nnpm install\n```\n\n### Development\n\n```bash\nnpm run dev\n```\n\n### Build\n\n```bash\n# Windows installer (NSIS)\nnpm run build:win\n\n# macOS\nnpm run build:mac\n\n# Linux (AppImage, Snap, Deb)\nnpm run build:linux\n```\n\n### Type Check\n\n```bash\nnpm run typecheck\n```\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Runtime | Electron 39 |\n| Frontend | React 19, React Router 7, Zustand 5 |\n| Styling | Tailwind CSS 4 with CSS custom properties |\n| Forms | React Hook Form + Zod validation |\n| Database | better-sqlite3 (WAL mode, foreign keys) |\n| Build | electron-vite 5, Vite 7 |\n| Language | TypeScript 5.9 (strict) |\n| Packaging | electron-builder (NSIS, DMG, AppImage) |\n\n## Security Considerations\n\n- **Sandbox enabled** — Renderer runs with `sandbox: true`, `contextIsolation: true`, `nodeIntegration: false`\n- **No remote code** — All fingerprint injection is local, no external calls\n- **Passwords isolated** — Proxy passwords stored in local SQLite, never sent to renderer (only `has_password: boolean`)\n- **Process isolation** — Each browser runs as a detached child process\n\n## Roadmap\n\n- [ ] Real fingerprint database from browser telemetry\n- [ ] Electron auto-updater with GitHub Releases\n- [ ] Cookie editor with domain-level management\n- [ ] Playwright/Puppeteer automation API per profile\n- [ ] Multi-platform browser path detection (Linux, macOS)\n- [ ] Profile import/export (JSON bundles)\n- [ ] Team collaboration with encrypted profile sharing\n\n## License\n\nMIT\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with Electron, React, and an unhealthy obsession with fingerprint vectors.\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgofman5%2Flux-antidetect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgofman5%2Flux-antidetect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgofman5%2Flux-antidetect/lists"}