Files
Claude Code Bot 830cb5d679 Mode operatoire : session Claude Code persistante dans un navigateur
Stack ttyd + tmux + Caddy, reproduction d'une installation en production.
Inclut le frontend personnalise et les correctifs deja valides (FitAddon,
refit apres changement de police, double collage Ctrl+V, OSC 52, window.open).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 07:28:02 +00:00

1.7 KiB

claude-web-terminal

Mode operatoire pour exposer une session Claude Code persistante dans un navigateur, derriere un nom de domaine et un reverse proxy.

navigateur -> https://claude.mondomaine.fr -> Caddy (basic_auth) -> ttyd -> tmux -> claude

La session survit a la fermeture du navigateur, au redemarrage du poste client et au changement d'appareil : on retombe toujours sur le meme contexte Claude Code.

Contenu

Fichier Role
MODE-OPERATOIRE.md Le document complet, a donner tel quel a une instance Claude Code disposant d'un acces root sur le serveur cible
ttyd-custom.html Le frontend personnalise a injecter dans la page de ttyd (etape 6)

Utilisation

git clone https://gitea.8grangettes.fr/sylfrd/claude-web-terminal.git
cd claude-web-terminal
claude

Puis : lis MODE-OPERATOIRE.md et deroule l'installation.

Points notables

Le document ne se limite pas a l'installation. Sa section 9 documente les defauts rencontres en production et deja corriges dans ttyd-custom.html :

  • bas du terminal tronque : le padding du parent est compte comme espace disponible par le FitAddon, et tout changement de taille de police exige un refit explicite
  • Ctrl+V qui collait en double, faute de preventDefault()
  • copie depuis le terminal distant qui ne remontait pas (OSC 52, des deux cotes, en HTTPS)
  • liens cliquables qui ouvraient une page blanche

Ainsi qu'une methode de debug du frontend sans rien installer, en encodant les mesures dans des chemins HTTP journalises par ttyd.

Avertissement

Cette stack expose un shell root persistant sur internet. Lire la section 11 avant de rediriger le moindre port.