A secure containerized browser solution that provides isolated web browsing sessions through Docker containers with VNC access.
- Browse websites safely in isolated Docker containers
- Each session runs in its own secure environment
- Access browser sessions remotely via VNC
- Track and log all browsing activities for security
- Clone the repo and install dependencies:
git clone https://github.com/fal4782/secure-browser.git
cd secure-browser/backend
npm install
- Install backend dependencies:
cd backend
npm install
- Install frontend dependencies:
cd ../frontend
npm install
- Build the Docker image for browser containers:
cd ../backend
docker build -t vnc-browser-chrome:latest .
- Set up your database URL in
backend/.env
:
DATABASE_URL="postgresql://username:password@localhost:5432/your_db_name"
- Run database migrations:
npx prisma migrate dev --name init
- Start the backend server:
npm run dev
- Start the frontend (in a new terminal):
cd ../frontend
npm run dev
- Frontend Interface:
http://localhost:3000
- Main web interface for managing browser sessions - Backend API:
http://localhost:3001
- REST API server - VNC Sessions: Dynamic ports assigned per container for secure browsing
- Frontend: React + TypeScript + Tailwind CSS + Vite
- Backend: Node.js + Express + TypeScript
- Database: PostgreSQL + Prisma
- Containers: Docker
- Security: Rate limiting, CORS, Helmet
- Remote Access: VNC + noVNC web client