Initialer Commit
This commit is contained in:
commit
fc2a7b2ce0
3 changed files with 56 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
*.log
|
||||
.env
|
||||
node_modules/
|
||||
1
README.md
Normal file
1
README.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Matrix_Get-Token_Toolbox
|
||||
52
get-token.sh
Executable file
52
get-token.sh
Executable 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
|
||||
Loading…
Add table
Reference in a new issue