Author SHA1 Message Date
fred 007aaf113a fix: argv bug 2026-09-13 11:55:58 +02:00
fred b4baaa2743 feat: filename not hardcoded
lancement d'apid : ajout des paramètres :
- nom fichier secret
- nom du script shell qui lance ttyd
2026-09-13 11:54:00 +02:00
nicolas 972e51dd39 Merge pull request 'feat: secret key to authorize ttyd only from w's wiki' (#4) from feat/add-key into main
Reviewed-on: #4
Reviewed-by: Nicolas Deville <nicolas@lanisys.fr>
2026-09-12 21:14:50 +02:00
fred f18dbe01f7 feat: secret key to authorize ttyd only from w's wiki 2026-09-12 21:09:05 +02:00
nicolas 6301b83d57 Merge pull request 'ttyd depuis wiki w' (#3) from features into main
Reviewed-on: #3
Reviewed-by: Nicolas<nicolas@lanisys.fr>
2026-07-12 19:18:04 +02:00
nicolas 5bee6269d4 Merge branch 'main' into features 2026-07-12 19:15:57 +02:00
fred 14e4b63f9b feat: appel ttyd depuis wiki php w 2026-07-12 19:06:10 +02:00
fred afba9c2200 fix 2026-07-12 18:05:29 +02:00
fred bbe362c65d fix 2026-07-12 17:07:57 +02:00
fred b702f8a548 fix 2026-07-12 17:04:03 +02:00
fred 352a4b3df0 fix: demon mode 2026-07-12 15:41:55 +02:00
fred 0dc02cb3e6 fix: add log 2026-07-12 14:22:04 +02:00
nicolas e3a6596e46 Merge pull request 'Supprimer test' (#2) from nicolas-patch-2 into main
Reviewed-on: #2
2026-07-11 21:29:40 +02:00
nicolas f557d1db92 Supprimer test 2026-07-11 21:28:42 +02:00
nicolas 02e166e1e5 Merge pull request 'test' (#1) from nicolas-patch-1 into main
Reviewed-on: #1
2026-07-11 21:27:52 +02:00
nicolas 1410df4f00 test2 2026-07-11 21:27:27 +02:00
nicolas d577060e87 test 2026-07-11 21:23:52 +02:00
3 changed files with 793 additions and 587 deletions

No files matched your search

+695 -587
View File
File diff suppressed because it is too large. Load diff
+70
View File
@@ -0,0 +1,70 @@
#!/bin/bash
# dans /root du serveur docker (avec apid et certificat/cle privee)
# duree est le nb de minute pour la session, par defaut 7200 mn
duree="${1:-7200}"
if (( duree < 15 || duree > 14400 )); then
echo "Duree de la session incorrecte."
exit 2
fi
cat /docker/registry/auth/password | docker login 192.168.10.10:5000/v2 -u nicolas --password-stdin
# Configuration
IMAGE_NAME="192.168.10.10:5000/ttyd_docker:latest"
BASE_PORT=9101
MAX_PORT=9105
# Générer un nom unique (apt install uuid-runtime)
USER_ID=$(uuidgen | cut -d'-' -f1)
CONTAINER_NAME="ttyd_docker_$USER_ID"
# Trouver un port disponible
find_free_port() {
for ((port=$BASE_PORT; port<=$MAX_PORT; port++)); do
if ! lsof -i :$port > /dev/null; then
echo $port
return 0
fi
done
return 1
}
PORT=$(find_free_port)
if [ -z "$PORT" ]; then
echo "Aucun port disponible entre $BASE_PORT et $MAX_PORT."
exit 1
fi
user=$(uuidgen | cut -d'-' -f1)
pass=$(uuidgen | cut -d'-' -f1)
# Lancer le conteneur ttyd
docker run -d \
--name "$CONTAINER_NAME" \
-p "$PORT":7681 \
-e TTYD_USER=$user \
-e TTYD_PASS=$pass \
--rm \
--stop-timeout=30 \
--memory="2g" \
--cpus="0.75" \
"$IMAGE_NAME"
( sleep $duree && docker stop "$CONTAINER_NAME" ) &
if [ $? -ne 0 ]; then
echo "Erreur lors du démarrage du conteneur."
exit 1
fi
PORT_URL=$(($PORT - $BASE_PORT + 1))
# Afficher l'URL d'accès
#echo "Session ttyd créée avec succès !"
#echo "Nom du conteneur : $CONTAINER_NAME"
#echo "Conteneur lancé pour 2 heures : <a href=\"https://user:pass@w-$PORT_URL.lanisys.fr\">URL</a>"
#echo "User: $user / Password: $pass"
#echo "Termine avec succes"
echo "https://$user:$pass@w-$PORT_URL.lanisys.fr/"
+28
View File
@@ -0,0 +1,28 @@
<?php
// dans /var/www/w.lanisys.fr sur le serveur ionos
$data = file_get_contents('/etc/wapi/data');
$ctx = stream_context_create([
'http' => [
'timeout' => 4,
'header' => [
'X-data: '.$data
]
],
]);
$rep = file_get_contents(
"https://api.lanisys.fr:50000/",
false,
$ctx
);
$pos = strpos($rep, "https://");
if ($pos !== false)
{
header("Location: ".substr($rep, $pos));
exit;
}
else
echo $rep;