- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Docker gaf de container 8.8.8.8/8.8.4.4 als fallback (de host resolvt via dnsmasq op 127.0.0.1, wat een container niet kan gebruiken). Publieke resolvers worden op het netwerk geblokkeerd -> Chromium kreeg 'This site can't be reached' op claude.ai. --dns 192.168.11.14 (saldc14) + 192.168.2.9 |
||
| applications | ||
| bin | ||
| custom-cont-init.d | ||
| .gitignore | ||
| claude-browser.env.example | ||
| install.sh | ||
| README.md | ||
claude-browser
Een lokale toggle die een Chromium-in-container start die ingelogd blijft op claude.ai. Zo kun je vanaf elke machine in het LAN verder werken in dezelfde sessie — zonder telkens opnieuw in te loggen — en kan een collega even meekijken/typen. Container/computer uit = niemand erbij.
Gebaseerd op de lscr.io/linuxserver/chromium image (Selkies-desktop), draaiend op
debian-p.
Wat het doet
- Toggle: 1× = container + Chromium + claude.ai starten, nog een keer = alles stoppen.
- Login blijft bewaard in
config/(Chromium-profiel + claude.ai-cookies). - Bereikbaar op het LAN zolang de host aan staat en de toggle aan is.
- "Home"-knop: opent claude.ai opnieuw als iemand is weggeklikt.
Bestanden
| Pad | Functie |
|---|---|
bin/claude-browser-toggle.sh |
start/stop de container (+ auto-launch Chromium op claude.ai) |
bin/claude-browser-home.sh |
opent claude.ai opnieuw in de draaiende container |
custom-cont-init.d/10-selkies-keepalive.sh |
verruimt de Selkies websocket-keepalive (30/120s) — draait bij elke container-start |
applications/*.desktop |
rofi-entries ("Claude Browser (toggle)" en "Claude → home") |
claude-browser.env |
login voor de web-UI (niet in git, zie .env.example) |
config/ |
live browserprofiel + login (niet in git) |
Installeren
git clone forgejo:ramon/claude-browser.git ~/claude-browser
cd ~/claude-browser
cp claude-browser.env.example claude-browser.env # en zet je wachtwoord erin
./install.sh
Vereisten:
- Docker (engine; geen compose nodig).
- Jezelf in de docker-groep:
sudo usermod -aG docker $USER→ daarna uit/inloggen. - Voor de rofi-entries: een desktop met rofi +
notify-send+xdg-open.
De repo hoort op
~/claude-browserte staan; de scripts vinden hun eigen pad, maar de paden in de.desktop-bestanden gaan uit van/home/ramon/.local/bin.
Gebruiken
| Actie | Hoe |
|---|---|
| Aan/uit | rofi "Claude Browser (toggle)" of ~/.local/bin/claude-browser-toggle.sh |
| Terug naar claude.ai | rofi "Claude → home" of de muis-terugknop in Chromium |
| Kijken op deze machine | http://localhost:3000 |
| Kijken vanaf andere machine | https://<ip-host>:3001 (https + 3001, self-signed cert accepteren) |
Web-login = WEB_USER + WEB_PASS uit claude-browser.env.
Eerste keer
De Selkies-image installeert Chromium on-demand. Bij de allereerste start: open de pagina,
installeer Chromium via het menu, log in op claude.ai. Daarna zit alles in config/ en
start Chromium voortaan vanzelf op claude.ai.
Troubleshooting
- Andere machine: zwart scherm ná inloggen (wel geluid). De video wordt als H264 via WebCodecs gestreamd; sommige browsers (met name Firefox op Linux) kunnen dat niet decoderen. → Gebruik een Chromium-based browser, of zet in de Selkies-zijbalk Video settings de encoder op JPEG.
- "This application requires a secure connection". Je gebruikt
http://vanaf een andere machine. → Gebruikhttps://<ip>:3001(localhost mag wel over http). - "Restore pages?"-balk in Chromium. Onderdrukt via
--hide-crash-restore-bubble(staat in de scripts). Kwam door onrein afsluiten bij verbindingsverlies. - Sessie viel weg bij korte hapering (
keepalive ping timeout). Opgelost: Selkies' hardcodedping_interval=20/ping_timeout=20wordt verruimd naar 30/120 viacustom-cont-init.d/10-selkies-keepalive.sh. - "Log opnieuw in" op claude.ai na een toggle-cyclus (
reason=elevated_auth,auth_kind=device_key_missing). De claude.ai-cookie is dan nog geldig; wat weg is, is de device-key die Claude Code in de IndexedDB van het profiel bewaart. Die raakte weg doordat Chromium bijdocker stopwerd gekilld voordat het zijn profiel had weggeschreven. → Het toggle-script stuurt Chromium nu eerstSIGTERMen wacht tot het weg is (chromium_quit), plusS6_KILL_GRACETIME=20000endocker stop -t 30. Zet 'm dus altijd uit via de toggle, niet metdocker kill.
Beveiliging
- Alleen LAN. Niet via Pangolin/reverse-proxy naar buiten ontsluiten — het is een open ingelogde sessie op je Anthropic-account. Eventueel wél achter NPM voor een interne hostname + net cert.
claude-browser.env(wachtwoord) enconfig/(login-cookies) staan bewust in.gitignore.