A web application for recording browsing sessions and replaying them later.
- Record web browsing sessions
- View recorded sessions
- Proxy handling for cross-origin resources
- Support for HTML, CSS, and other file types
- Automatic handling for Content Security Policy restrictions
- MongoDB storage for session data
- AWS S3 integration for large files (optional)
- Node.js (v14 or higher)
- MongoDB
- (Optional) AWS S3 account for storing large files
- Clone the repository
git clone https://github.com/baradon/web-recorder.git
cd web-recorder
- Install dependencies
npm install
cd src/client
npm install
cd ../..
- Create a
.env
file in the root directory with the following variables:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/webrecorder
# Optional S3 configuration
AWS_REGION=your-region
AWS_S3_BUCKET=your-bucket
AWS_ACCESS_KEY_ID=your-key-id
AWS_SECRET_ACCESS_KEY=your-secret-key
- Start the server
npm start
- Start the client in development mode
cd src/client
npm run dev
- Access the application at
http://localhost:3000
- Enter a URL to record a browsing session
- Click "Start Recording"
- Browse the website
- Click "Stop Recording" when finished
- View your recorded sessions in the list
- Click on a session to replay it
The application consists of:
- Express.js backend
- React frontend
- Puppeteer for web recording
- MongoDB for data storage
- AWS S3 for large file storage (optional)
MIT