File size: 1,983 Bytes
0f27de7
 
3337c5d
0f27de7
 
 
 
3337c5d
0f27de7
 
 
 
 
 
 
3337c5d
0f27de7
 
 
 
 
 
 
3337c5d
 
 
 
 
 
 
0f27de7
3337c5d
0f27de7
3337c5d
 
 
0f27de7
3337c5d
 
 
 
 
0f27de7
3337c5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0f27de7
 
 
3337c5d
 
0f27de7
3337c5d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Authrix Browser Extension

Detect deepfake videos on any webpage β€” no download required.

## Install (Chrome / Edge / Brave)

1. Open `chrome://extensions`
2. Enable **Developer Mode** (top-right toggle)
3. Click **Load unpacked**
4. Select this `extension/` folder
5. The Authrix icon appears in your toolbar

## Requirements

The Authrix backend must be running locally:

```bash
cd backend
python -m uvicorn main:app --host 0.0.0.0 --port 8000
```

## Usage

### Method 1 β€” Toolbar popup (recommended)
Click the Authrix icon β†’ **Capture & Analyze Video**

Records 12 seconds of the currently playing video, sends it to the local AI, and shows the verdict as an overlay on the page.

### Method 2 β€” Paste a URL
Click the Authrix icon β†’ paste a direct video URL β†’ **Analyze**

Works with direct `.mp4` / `.webm` links. For YouTube, Twitter, TikTok etc., `yt-dlp` must be installed on the backend (`pip install yt-dlp`).

### Method 3 β€” Right-click menu
- Right-click anywhere on a page β†’ **πŸ” Analyze with Authrix** (captures tab stream)
- Right-click a video link β†’ **πŸ”— Analyze video URL with Authrix**

## Architecture (MV3)

```
popup.js
  └─ sends START_CAPTURE / ANALYZE_URL β†’ background.js

background.js
  β”œβ”€ tabCapture.getMediaStreamId()     (stream ID for the tab)
  β”œβ”€ creates offscreen document
  └─ sends RECORD_OFFSCREEN β†’ offscreen.js

offscreen.js
  β”œβ”€ getUserMedia({ chromeMediaSource: 'tab' })
  β”œβ”€ MediaRecorder records for 12s
  └─ sends BLOB_READY β†’ background.js

background.js
  β”œβ”€ POST /analyze (blob) or POST /analyze-url (URL)
  └─ sends ANALYSIS_RESULT β†’ content.js

content.js
  └─ renders overlay with verdict, confidence, details
```

## Limitations

- **DRM-protected content** (Netflix, Disney+, Prime) cannot be captured
- **YouTube** tab capture works; URL analysis requires `yt-dlp` on the backend
- Backend must be running on `localhost:8000`
- Videos > 100 MB may time out