Eagle Browser

Project Summary

  • Date: March 2023
  • Description: A RESTful API backend for managing browser profiles with proxy, fingerprint, and data directory configuration (the core backend for an anti-detect/multi-account browser management system).

Motivation

Managing multiple social accounts using the same browser fingerprint has the risk of accounts being suspended. So the goal was to build a clean, layered backend for managing multiple isolated browser environments, each with its own proxy settings, fingerprint parameters (CPU, memory, user agent), and profile data directory.

Links

Github repo: https://github.com/benlhachemi/eagle-browser

Tech Stack

  • Runtime: Node.js, Express 4, Mongoose 7, MongoDB
  • Security: Helmet, express-rate-limit, xss-clean, hpp, express-mongo-sanitize
  • Validation: express-validator, Joi
  • Dev: ESLint + Airbnb style, nodemon, Yarn
  • Config: dotenv

Key Features

  • CRUD API for browser profiles (name, proxy, dataDir, fingerprints)
  • Layered architecture: routes - controllers - services - models
  • Security middleware stack (Helmet, rate limiting, NoSQL/XSS/HPP protection)
  • Auto-discovery route registration
  • Input validation via express-validator

What I Learned

  • Structuring a production-grade Express.js API with separation of concerns
  • MongoDB/Mongoose schema design for nested objects (proxy, fingerprints)
  • Implementing security best practices: rate limiting, input sanitization, HTTP headers
  • Middleware patterns (global, route-level, guard stubs)
  • Request validation strategies and common pitfalls (mismatched validators vs schema)
  • How anti-detect browsers model browser profiles with fingerprints and proxies