A solution for developers who want to capture HTTP requests made by Chromium/Chrome browser and save them to a local SQLite database for later analysis.
- A Chromium extension intercepts all HTTP/HTTPS requests using the
chrome.webRequestAPI - The logs (URL, method, status, IP, and timestamp) are sent to a local Node.js server
- The server stores the data in a SQLite database (
http_logs.db)
http-logger/
├─ extension/ # Chromium extension
│ ├─ manifest.json
│ └─ background.js
└─ server/ # Node.js server + SQLite
│ ├─ index.js
│ ├─ db.js
│ └─ package.json
cd server
npm install
npm startExpected output:
SQLite database ready.
Server running at http://localhost:3000
- Open browser →
chrome://extensions/ - Enable Developer mode
- Click Load unpacked
- Select the
extension/folder
-
REST API to list last 100 records:
curl http://localhost:3000/logs
-
Access database directly:
sqlite3 http_logs.db sqlite> SELECT * FROM logs ORDER BY id DESC LIMIT 10;
{
"id": 1,
"url": "https://example.com/api/data",
"method": "GET",
"statusCode": 200,
"ip": "93.184.216.34",
"timeStamp": "2025-08-18T20:45:12.123Z"
}- The server must be running at
http://localhost:3000for the extension to send logs - This solution is intended for developers, not recommended for production environments
- Compatible with Chromium/Chrome (Manifest V3)