A TypeScript browser extension that records the screen and sends the recording data to a server.
- Screen recording with chrome.desktopCapture API
- Send recorded video to a configurable server
- Visual recording indicator
- TypeScript implementation with webpack bundling
-
Install dependencies:
pnpm install -
Set up environment variables: Create a
.envfile in the root directory:You can get your Server URL and API Key from asl-recognition-uhnrr/11 at Code Snippets's javascript code
Replace the values above with your API and URL
ROBOFLOW_API_URL="your_url_here" ROBOFLOW_API_KEY="your_api_key_here" -
Generate extension icons:
- Open
icon-generator.htmlin a browser - Right-click on each canvas and select "Save image as..."
- Save the icons to the
public/iconsdirectory as:icon16.png(16x16)icon48.png(48x48)icon128.png(128x128)
- Open
-
Build the extension:
pnpm run build -
For development with auto-rebuild:
pnpm run dev
- Open Chrome/Edge and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in the top-right corner)
- Click "Load unpacked" and select the
distdirectory from this project - The extension icon should appear in your browser's toolbar
- Click the extension icon in your browser toolbar
- Enter the server URL where recordings will be sent
- Click "Start Recording" and select the screen or tab you want to record
- Click "Stop Recording" when finished
- The recording will be sent to the specified server URL
The server should accept POST requests with form data containing a video file named "video".
src/: TypeScript source filesbackground.ts: Background service worker scriptcontent.ts: Content script injected into pagespopup.ts: Popup UI script
public/: Static filesmanifest.json: Extension manifestpopup.html: Popup UIicons/: Extension icons
dist/: Build output (created by webpack)
MIT