67 lines
1.9 KiB
Bash
67 lines
1.9 KiB
Bash
#!/bin/sh
|
|
|
|
LOG=/tmp/android-wifi.log
|
|
echo "===== $(date) =====" >> "$LOG"
|
|
|
|
# Vérifier adb
|
|
if ! command -v adb >/dev/null 2>&1; then
|
|
echo "adb non trouvé dans le PATH" >> "$LOG"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier scrcpy
|
|
if ! command -v scrcpy >/dev/null 2>&1; then
|
|
echo "scrcpy non trouvé dans le PATH" >> "$LOG"
|
|
exit 1
|
|
fi
|
|
|
|
# Chercher device TCP existant
|
|
TCP_DEVICE=$(adb devices | awk '$1 ~ /^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:5555$/ {print $1}')
|
|
|
|
if [ -n "$TCP_DEVICE" ]; then
|
|
# Device Wi-Fi déjà actif
|
|
echo "Device TCP déjà actif: $TCP_DEVICE" >> "$LOG"
|
|
IP="$TCP_DEVICE"
|
|
else
|
|
# Récupérer un device USB
|
|
USB_ID=$(adb devices | awk 'NR>1 && $2=="device" && $1 !~ /:/ {print $1; exit}')
|
|
if [ -z "$USB_ID" ]; then
|
|
echo "Aucun device USB détecté" >> "$LOG"
|
|
exit 1
|
|
fi
|
|
echo "Device USB détecté: $USB_ID" >> "$LOG"
|
|
|
|
# Récupérer IP via USB
|
|
IP=$(adb -s "$USB_ID" shell ip addr show wlan0 2>>"$LOG" | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
|
|
if [ -z "$IP" ]; then
|
|
echo "Impossible de récupérer l'IP du téléphone (wlan0 introuvable)" >> "$LOG"
|
|
exit 1
|
|
fi
|
|
echo "IP détectée: $IP" >> "$LOG"
|
|
|
|
# Passer en mode TCP
|
|
echo "[+] Passage en mode TCP 5555" >> "$LOG"
|
|
adb -s "$USB_ID" tcpip 5555 >> "$LOG" 2>&1
|
|
|
|
# Connexion Wi-Fi
|
|
echo "[+] Connexion à $IP:5555" >> "$LOG"
|
|
adb connect "$IP:5555" >> "$LOG" 2>&1
|
|
|
|
# Déconnecter USB pour éviter conflit multiple devices
|
|
echo "[+] Déconnexion du device USB $USB_ID" >> "$LOG"
|
|
adb disconnect "$USB_ID" >> "$LOG" 2>&1
|
|
fi
|
|
|
|
# Attendre que le device TCP soit prêt
|
|
echo "[+] Attente du device TCP $IP" >> "$LOG"
|
|
while ! adb devices | grep -q "$IP.*device"; do
|
|
sleep 1
|
|
done
|
|
echo "[+] Device TCP prêt" >> "$LOG"
|
|
|
|
# Lancer scrcpy
|
|
echo "[+] Lancement de scrcpy sur $IP" >> "$LOG"
|
|
scrcpy -s "$IP" >> "$LOG" 2>&1
|
|
|
|
echo "[✓] Fin du script" >> "$LOG"
|