Initialer Commit

This commit is contained in:
christian 2026-06-04 16:25:55 +02:00
commit fc2a7b2ce0
3 changed files with 56 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*.log
.env
node_modules/

1
README.md Normal file
View file

@ -0,0 +1 @@
# Matrix_Get-Token_Toolbox

52
get-token.sh Executable file
View file

@ -0,0 +1,52 @@
#!/bin/bash
# --- EINGABE: SERVER-DATEN ---
read -p "Matrix-Domain [http://matrix-client.matrix.org]: " DOMAIN
DOMAIN=${DOMAIN:-http://matrix-client.matrix.org}
# Wenn du unterwegs bist, drücke hier einfach direkt Enter (leer lassen)
read -p "Lokale Server-IP (Leer lassen, wenn du unterwegs bist!): " SERVER_IP
# --- EINGABE: BENUTZER-DATEN ---
read -p "Matrix-Benutzername: " USERNAME
read -s -p "Matrix-Passwort: " PASSWORD
echo ""
echo "Verbinde mit Matrix-Server https://$DOMAIN ..."
# --- RESOLVE LOGIK PRÜFEN ---
# Wenn eine IP eingegeben wurde, nutzen wir --resolve. Wenn nicht, fragen wir direkt das Internet ab.
if [ -n "$SERVER_IP" ]; then
# Wichtig: Nur die reine IP eintragen (z.B. 192.168.10.118), ohne Port (:6167)!
RESOLVE_PARAM="--resolve ${DOMAIN}:443:${SERVER_IP}"
else
RESOLVE_PARAM=""
fi
# --- API-ABRUF ---
RESPONSE=$(curl -k -s -X POST \
$RESOLVE_PARAM \
"https://${DOMAIN}/_matrix/client/v3/login" \
-H "Content-Type: application/json" \
-d '{
"type": "m.login.password",
"identifier": { "type": "m.id.user", "user": "'"$USERNAME"'" },
"password": "'"$PASSWORD"'"
}')
# --- TOKEN EXTRAKTION ---
TOKEN=$(echo "$RESPONSE" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)
if [ -n "$TOKEN" ]; then
echo "✅ Login für @${USERNAME} auf ${DOMAIN} erfolgreich!"
echo "Dein Token lautet:"
echo "$TOKEN"
else
echo "❌ Fehler beim Login für @${USERNAME}!"
echo "Antwort vom Server war:"
if [ -z "$RESPONSE" ]; then
echo "[Keine Antwort vom Server Internetverbindung, IP oder Portfreigabe prüfen]"
else
echo "$RESPONSE"
fi
fi