Update debian/set_mac_wifi.sh

This commit is contained in:
2026-02-14 17:54:52 +00:00
parent 1d052e5192
commit 774c1fb40e
+29 -8
View File
@@ -18,23 +18,44 @@ set_mac() {
local interface="$1"
local mac="$2"
local success=false
local log_file="/var/log/set_mac.log"
if ip link show "$interface" &> /dev/null; then
# Try to set MAC
# Verifica se a interface existe
if ! ip link show "$interface" &> /dev/null; then
echo "$(date): Interface $interface não encontrada." | tee -a "$log_file"
return 1
fi
# Verifica se macchanger está instalado
if command -v macchanger >/dev/null 2>&1; then
echo "$(date): Usando macchanger para definir MAC de $interface para $mac" | tee -a "$log_file"
# Tenta usar macchanger
if ip link set "$interface" down && \
macchanger -m "$mac" "$interface" >/dev/null 2>&1 && \
ip link set "$interface" up; then
echo "$(date): Sucesso ao definir MAC com macchanger para $interface (novo: $mac)" | tee -a "$log_file"
success=true
else
echo "$(date): Falha ao definir MAC com macchanger para $interface. Tentando fallback com ip link..." | tee -a "$log_file"
fi
fi
# Fallback para ip link (se macchanger não estiver disponível ou falhar)
if [ "$success" = false ]; then
# Tenta com ip link diretamente
if ip link set "$interface" down && \
ip link set dev "$interface" address "$mac" && \
ip link set "$interface" up; then
echo "$(date): MAC address for $interface set to $mac" | tee -a /var/log/set_mac.log
echo "$(date): Sucesso ao definir MAC com 'ip link' para $interface (novo: $mac)" | tee -a "$log_file"
success=true
else
echo "$(date): Failed to set MAC address for $interface" | tee -a /var/log/set_mac.log
echo "$(date): Falha ao definir MAC para $interface com ambos os métodos." | tee -a "$log_file"
return 1
fi
else
echo "$(date): Interface $interface not found" | tee -a /var/log/set_mac.log
fi
# Return success (0) or failure (1)
$success
# Retorna sucesso (0) ou falha (1)
return $([ "$success" = true ] && echo 0 || echo 1)
}
# Function to configure static IP