adicionado verificação para desativar wifi se tiver eth0 ligado com ip
This commit is contained in:
Vendored
+35
-10
@@ -196,20 +196,45 @@ disable_wifi() {
|
||||
|
||||
# Tarefa em Background para monitorizar rede
|
||||
monitor_network_task() {
|
||||
log "Monitor: A iniciar verificação de rede (aguardando 60s)..."
|
||||
sleep 60
|
||||
log "Monitor: A iniciar monitorização contínua da rede..."
|
||||
|
||||
if ip link show "$IFACE" &> /dev/null; then
|
||||
if ip link show "$IFACE" | grep -q "NO-CARRIER"; then
|
||||
log "Monitor: Interface $IFACE sem cabo (NO-CARRIER). A ativar Wi-Fi..."
|
||||
if ip link show "$WLAN_IFACE" &> /dev/null; then
|
||||
ip link set "$WLAN_IFACE" up
|
||||
log "Monitor: Wi-Fi ($WLAN_IFACE) ativado."
|
||||
while true; do
|
||||
sleep 60 # Verifica a cada 60 segundos
|
||||
|
||||
if ip link show "$IFACE" &> /dev/null; then
|
||||
# Verifica se eth0 está sem cabo (NO-CARRIER)
|
||||
if ip link show "$IFACE" | grep -q "NO-CARRIER"; then
|
||||
log "Monitor: Interface $IFACE sem cabo (NO-CARRIER). A ativar Wi-Fi..."
|
||||
if ip link show "$WLAN_IFACE" &> /dev/null; then
|
||||
if ip link set "$WLAN_IFACE" up; then
|
||||
log "Monitor: Wi-Fi ($WLAN_IFACE) ativado com sucesso."
|
||||
else
|
||||
log "Monitor: Falha ao ativar Wi-Fi ($WLAN_IFACE)."
|
||||
fi
|
||||
else
|
||||
log "Monitor: Interface $WLAN_IFACE não encontrada."
|
||||
fi
|
||||
else
|
||||
# eth0 está com cabo, verifica se tem IP
|
||||
if has_ip_address "$IFACE"; then
|
||||
log "Monitor: Interface $IFACE ativa e com IP. A verificar Wi-Fi..."
|
||||
if ip link show "$WLAN_IFACE" &> /dev/null && ip link show "$WLAN_IFACE" | grep -q "UP"; then
|
||||
if ip link set "$WLAN_IFACE" down; then
|
||||
log "Monitor: Wi-Fi ($WLAN_IFACE) desativado (eth0 tem IP)."
|
||||
else
|
||||
log "Monitor: Falha ao desativar Wi-Fi ($WLAN_IFACE)."
|
||||
fi
|
||||
else
|
||||
log "Monitor: Wi-Fi ($WLAN_IFACE) já está desativado ou não encontrado."
|
||||
fi
|
||||
else
|
||||
log "Monitor: Interface $IFACE ativa mas sem IP. Wi-Fi permanece ativo."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
log "Monitor: Interface $IFACE ativa. Nenhuma ação necessária."
|
||||
log "Monitor: Interface $IFACE não encontrada."
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Função principal para configurar MAC
|
||||
|
||||
Reference in New Issue
Block a user