Pular para o conteúdo

yad-clamav

Script feito em yad para escanear arquivos e pastas facilmente com melhorias em relação ao zclamav em zenity.
Fernando T. Da Silva nandosilva
Hits: 740 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Script feito em yad para escanear arquivos e pastas facilmente com melhorias em relação ao zclamav em zenity.
Download yad-clamav2.tgz Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/bash

# Função para garantir que a barra pulse sem parar
run_scan() {
  local cmd="$1"
  (
    # Inicia o clamscan em background
    eval "$cmd" > /tmp/clamav.log 2>&1 &
    scan_pid=$!
    
    # Loop de pulsação manual para o YAD (0.1s)
    while kill -0 $scan_pid 2>/dev/null; do
      echo "pulsate"
      sleep 0.1
    done
    echo "100%" 
  ) | yad --progress --title "Yad Clamav - Escaneando" \
      --text "<b>Analisando arquivos... por favor aguarde.</b>" \
      --pulsate --auto-close --center --width=450 --window-icon="security-high"
}

while true; do
  # Menu principal simplificado para evitar erro de parsing do Shell
  choice=$(yad --width=700 --height=350 --list --center \
    --title="Yad Clamav Pro" --window-icon="security-high" \
    --fontname="Sans 12" \
    --text="<span size='x-large'><b>Menu de Segurança ClamAV</b></span>" \
    --column="Ícone:IMG" --column="Opção" \
    "document-open" "Escanear arquivos" \
    "folder" "Escanear um diretório" \
    "folder-remote" "Escanear diretório não recursivo" \
    "system-software-update" "Atualizar base de dados" \
    "help-about" "Versão da base de dados" \
    "help-browser" "Ajuda" \
    "application-exit" "Sair" \
    --button="OK:0" --button="Sair:1" --print-column=2 --separator="")

  # Verifica se o usuário fechou a janela ou clicou em Sair
  [ $? -ne 0 ] || [ -z "$choice" ] || [ "$choice" = "Sair" ] && break

  case "${choice}" in
    "Escanear arquivos")
      # 1. Usamos a quebra de linha (\n) como separador para facilitar a leitura
  files=$(yad --file-selection --multiple --separator='\n' --center --width=1000 --height=600 --title="Selecionar Arquivos")
  
  if [ -n "$files" ]; then
    # 2. Salvamos a lista de arquivos em um arquivo temporário
    echo -e "$files" > /tmp/lista_para_scan.txt
    
    # 3. Usamos a flag --file-list do clamscan para ler todos os arquivos da lista
    run_scan "clamscan --bell -i -r -l /tmp/clamav.log --file-list=/tmp/lista_para_scan.txt"
    
    yad --title="Resultado" --text-info --filename=/tmp/clamav.log --width=800 --height=600 --center --fontname="Sans 14"
      fi
      ;;

    "Escanear um diretório")
      files=$(yad --file-selection --directory --center --width=1000 --height=600  --title="Selecionar Pasta")
      if [ -n "$files" ]; then
        run_scan "clamscan --bell -i -r -l /tmp/clamav.log \"$files\""
        yad --title="Resultado" --text-info --filename=/tmp/clamav.log --width=800 --height=600 --center --fontname="Sans 14"
      fi
      ;;

    "Escanear diretório não recursivo")
      files=$(yad --file-selection --directory --center --width=1000 --height=600 --title="Selecionar Pasta")
      if [ -n "$files" ]; then
        run_scan "clamscan --bell -i -l /tmp/clamav.log \"$files\""
        yad --title="Resultado" --text-info --filename=/tmp/clamav.log --width=800 --height=600 --center --fontname="Sans 14"
      fi
      ;;

    "Atualizar base de dados")
      xterm -g 60x15 -T "Atualizando ClamAV" -fa 'Monospace' -fs 12 -e "sudo freshclam; echo 'Concluído. Pressione Enter...'; read"
      ;;

    "Versão da base de dados")
      freshclam -V > /tmp/base
      yad --title "Versão" --text-info --filename=/tmp/base --width=400 --height=200 --center --fontname="Sans 14"
      rm -f /tmp/base
      ;;

    "Ajuda")
      yad --title "Ajuda" --text-info --filename=/usr/share/doc/yad-clamav-ajuda.txt --width=1000 --height=600 --center --fontname="Sans 14"
      ;;
  esac
done

exit 0
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

RwlampControle

Numero por Extenso

Faz uma busca no OpenSubtitles por um filme.

Script de instalação do VLC completo (via slackbuilds)

Set CPU Power Manegment

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.