Actualiser install.sh
This commit is contained in:
88
install.sh
88
install.sh
@@ -1,59 +1,83 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
echo "=========================================="
|
# --- Couleurs pour le terminal ---
|
||||||
echo " 🛡️ Installation de 7LnA Security Suite"
|
GREEN='\033[0;32m'
|
||||||
echo "=========================================="
|
BLUE='\033[0;34m'
|
||||||
echo ""
|
RED='\033[0;31m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
# 1. Installation des dépendances système (ClamAV et Python venv)
|
echo -e "${BLUE}==========================================${NC}"
|
||||||
echo "[*] Étape 1 : Vérification et installation des dépendances système..."
|
echo -e "${GREEN} 🛡️ Installation de 7LnA Security Suite V7${NC}"
|
||||||
|
echo -e "${BLUE}==========================================${NC}\n"
|
||||||
|
|
||||||
|
# Arrêter le script immédiatement si une erreur critique survient
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# 1. Installation des dépendances système
|
||||||
|
echo -e "${BLUE}[*] Étape 1 : Vérification et installation des dépendances système...${NC}"
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y clamav clamav-daemon python3-venv python3-full python3-tk
|
# Ajout de libnotify-bin pour les notifications V7 et wget pour le téléchargement
|
||||||
|
sudo apt install -y clamav clamav-daemon python3-venv python3-full python3-tk libnotify-bin wget curl
|
||||||
|
|
||||||
# 2. Création du répertoire de l'application
|
# 2. Création du répertoire de l'application
|
||||||
echo ""
|
echo -e "\n${BLUE}[*] Étape 2 : Création des dossiers de l'application...${NC}"
|
||||||
echo "[*] Étape 2 : Création des dossiers de l'application..."
|
|
||||||
APP_DIR="$HOME/.7lna_app"
|
APP_DIR="$HOME/.7lna_app"
|
||||||
mkdir -p "$APP_DIR"
|
mkdir -p "$APP_DIR"
|
||||||
cp 7lna.py "$APP_DIR/"
|
|
||||||
|
|
||||||
# 3. Configuration de l'environnement virtuel et des modules Python
|
# Auto-détection du script Python : Copie locale OU téléchargement
|
||||||
echo ""
|
if [ -f "7lna.py" ]; then
|
||||||
echo "[*] Étape 3 : Configuration de l'environnement isolé (venv)..."
|
echo -e "${GREEN}[+] Fichier local 7lna.py détecté. Copie en cours...${NC}"
|
||||||
|
cp 7lna.py "$APP_DIR/"
|
||||||
|
else
|
||||||
|
echo -e "${RED}[!] Fichier 7lna.py introuvable localement.${NC}"
|
||||||
|
echo -e "${BLUE}[*] Téléchargement automatique depuis le serveur officiel Git...${NC}"
|
||||||
|
wget -qO "$APP_DIR/7lna.py" "https://git.7ka1.com/7ka1/7LnA_Antivirus_Linux_Free_ClamAV_Based/raw/branch/main/7lna.py"
|
||||||
|
echo -e "${GREEN}[+] Code source téléchargé avec succès.${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. Configuration de l'environnement virtuel (venv)
|
||||||
|
echo -e "\n${BLUE}[*] Étape 3 : Configuration de l'environnement isolé (venv)...${NC}"
|
||||||
python3 -m venv "$APP_DIR/.venv"
|
python3 -m venv "$APP_DIR/.venv"
|
||||||
source "$APP_DIR/.venv/bin/activate"
|
# Exécution directe via le pip du venv (plus fiable dans un script bash que la commande 'source')
|
||||||
pip install customtkinter watchdog
|
"$APP_DIR/.venv/bin/pip" install --upgrade pip --quiet
|
||||||
deactivate
|
"$APP_DIR/.venv/bin/pip" install customtkinter watchdog --quiet
|
||||||
|
echo -e "${GREEN}[+] Modules Python installés.${NC}"
|
||||||
|
|
||||||
# 4. Création du script de lancement
|
# 4. Création du script de lancement
|
||||||
echo ""
|
echo -e "\n${BLUE}[*] Étape 4 : Création du lanceur...${NC}"
|
||||||
echo "[*] Étape 4 : Création du lanceur..."
|
|
||||||
LAUNCHER_PATH="$APP_DIR/launcher.sh"
|
LAUNCHER_PATH="$APP_DIR/launcher.sh"
|
||||||
cat << EOF > "$LAUNCHER_PATH"
|
cat << EOF > "$LAUNCHER_PATH"
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
source "$APP_DIR/.venv/bin/activate"
|
# Exporter le display pour s'assurer que l'interface graphique s'ouvre bien
|
||||||
python3 "$APP_DIR/7lna.py"
|
export DISPLAY=:0
|
||||||
|
"$APP_DIR/.venv/bin/python3" "$APP_DIR/7lna.py"
|
||||||
EOF
|
EOF
|
||||||
chmod +x "$LAUNCHER_PATH"
|
chmod +x "$LAUNCHER_PATH"
|
||||||
|
|
||||||
# 5. Création de l'icône dans le menu des applications Ubuntu
|
# 5. Création de l'icône dans le menu des applications
|
||||||
echo ""
|
echo -e "\n${BLUE}[*] Étape 5 : Intégration au menu du système...${NC}"
|
||||||
echo "[*] Étape 5 : Intégration au menu Ubuntu..."
|
DESKTOP_DIR="$HOME/.local/share/applications"
|
||||||
DESKTOP_FILE="$HOME/.local/share/applications/7lna.desktop"
|
mkdir -p "$DESKTOP_DIR"
|
||||||
|
DESKTOP_FILE="$DESKTOP_DIR/7lna.desktop"
|
||||||
|
|
||||||
cat << EOF > "$DESKTOP_FILE"
|
cat << EOF > "$DESKTOP_FILE"
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=7LnA Antivirus
|
Name=7LnA Antivirus V7
|
||||||
Comment=Suite de sécurité propulsée par ClamAV
|
Comment=Suite de sécurité Ultimate propulsée par ClamAV
|
||||||
Exec=$LAUNCHER_PATH
|
Exec=$LAUNCHER_PATH
|
||||||
Icon=security-high
|
Icon=security-high
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Categories=System;Security;
|
Categories=System;Security;Utility;
|
||||||
|
Keywords=antivirus;security;clamav;scan;virus;
|
||||||
EOF
|
EOF
|
||||||
chmod +x "$DESKTOP_FILE"
|
chmod +x "$DESKTOP_FILE"
|
||||||
|
|
||||||
echo ""
|
# Rafraîchir la base de données des applications du bureau pour faire apparaître l'icône immédiatement
|
||||||
echo "=========================================="
|
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
|
||||||
echo " ✅ Installation terminée avec succès !"
|
|
||||||
echo "=========================================="
|
echo -e "\n${BLUE}==========================================${NC}"
|
||||||
echo "Vous pouvez maintenant lancer 7LnA depuis votre menu d'applications Ubuntu."
|
echo -e "${GREEN} ✅ INSTALLATION TERMINÉE AVEC SUCCÈS !${NC}"
|
||||||
|
echo -e "${BLUE}==========================================${NC}"
|
||||||
|
echo -e "🛡️ Vous pouvez maintenant lancer ${GREEN}7LnA Antivirus V7${NC} depuis votre menu d'applications."
|
||||||
|
echo -e "💡 ${BLUE}Astuce : Lors de votre premier lancement, pensez à cliquer sur 'MaJ Signatures' dans le Scanner.${NC}\n"
|
||||||
Reference in New Issue
Block a user