GUI_RKH/main.py
2022-08-24 08:04:54 +02:00

165 lines
4.7 KiB
Python
Executable File

#! /usr/bin/env python3
# -*- coding: UTF-8 -*-
#(c) Xavier 2022
# pour débugger… en ligne de commande !-)
#import pdb; pdb.set_trace()
#GUI RKHunter FRS2013
# for Python3
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import serial
import time
import csv
import shutil
import subprocess
try:
import configparser as configparser
except ImportError:
import ConfigParser as configparser
#param os
sysos="linux"
clearscreen="clear"
os.system(clearscreen)
#def function
def Version():
versionrkh = os.popen('rkhunter --version')
tkinter.messagebox.showinfo("Version","GUI RKHunter V" + versionrkh.read() + "\n(C) 2022 Xavier\n1.01")
def Clean():
for c in frame.winfo_children():
c.destroy()
os.system(clearscreen)
FormGUI()
def Rkhscanall():
os.system(clearscreen)
subprocess.call(['gnome-terminal -- bash -c "rkhunter --checkall"',''], shell=True)
def Rkhscanfast():
os.system(clearscreen)
subprocess.call(['gnome-terminal -- bash -c "rkhunter -c --rwo"', ''], shell=True)
def Rkhupdate():
os.system(clearscreen)
subprocess.call(['gnome-terminal -- bash -c "rkhunter --update"',''], shell=True)
def Rkhfix():
subprocess.call(['gnome-terminal -- bash -c "rkhunter --propupd"',''], shell=True)
def Rkhlog():
os.system(clearscreen)
subprocess.call(['gnome-terminal -- bash -c "cat /var/log/rkhunter.log | more"',''], shell=True)
def FormGUI():
for c in frame.winfo_children():
c.destroy()
Label0 = Label(frame, text = 'GUI RKHunter: ')
Label0.grid(column=0,row=0, sticky='w',pady=2)
bouton2= Button (frame, text="RkHunter ScanAll", command=Rkhscanall, padx=2)
bouton2.grid (column=1, row=11,sticky='sw', padx=20)
bouton2= Button (frame, text="RKHunter update", command=Rkhupdate, padx=2)
bouton2.grid (column=10, row=11,sticky='sw', padx=20)
bouton2= Button (frame, text="RkHunter Scan Fast", command=Rkhscanfast, padx=2)
bouton2.grid (column=1, row=31,sticky='sw', padx=20)
bouton2= Button (frame, text="RKHunter Log", command=Rkhlog, padx=2)
bouton2.grid (column=10, row=31,sticky='sw', padx=20)
bouton2= Button (frame, text="RKHunter Fix", command=Rkhfix, padx=2)
bouton2.grid (column=5, row=51,sticky='sw', padx=20)
def FormNoRoot():
tkinter.messagebox.showinfo("Error","GUI RKHunter need ROOT\n")
os._exit(os.EX_OK)
def Quit():
os._exit(os.EX_OK)
def Apropos():
tkinter.messagebox.showinfo("Aide sur GUIRKHunter",
"Ce GUI est un interpréteur de CMD\nScanAll rkhunter --checkall\nSacnFast rkhunter -c --rwo\nUpdate rkhunter --update\nFix rkhunter --propudp\nLog nano /var/log/rkhunter.log\n\n\n")
if __name__ == '__main__':
print("START INI")
chemin = os.popen("readlink guirkhunter | sed 's/main//g'")
# Main window
Mafenetre = Tk()
Mafenetre.title("GUI RKHunter")
if os.name == 'nt':
Mafenetre.iconbitmap("icone.ico")
# Mon logo
logo = PhotoImage(file= "/opt/guirkhunter/img/rkhunter.png")
# Création d'un widget Menu
menubar = Menu(Mafenetre)
menuaide = Menu(menubar,tearoff=0)
if not os.name == 'nt':
menubar.add_cascade(image=logo)
menufichier = Menu(menubar,tearoff=0)
menufichier.add_separator()
menufichier.add_command(label="Nettoyer Frame",command=Clean)
menufichier.add_command(label="Quitter",command=Quit)
menubar.add_cascade(label="Fichier", menu=menufichier)
menuaprs = Menu(menubar,tearoff=0)
menuaprs.add_command(label="RKH Scan All",command=Rkhscanall)
menuaprs.add_command(label="RKH Scan Fast",command=Rkhscanfast)
menuaprs.add_command(label="RKH Update",command=Rkhupdate)
menuaprs.add_command(label="RKH Fix",command=Rkhfix)
menuaprs.add_separator()
menuaprs.add_command(label="RKH Log",command=Rkhlog)
menuaprs.add_separator()
menubar.add_cascade(label="GUI RKHunter", menu=menuaprs)
menuaide = Menu(menubar,tearoff=0)
menuaide.add_command(label="A propos",command=Apropos)
menuaide.add_command(label="Version",command=Version)
menubar.add_cascade(label="Aide", menu=menuaide)
# Affichage du menu
Mafenetre.config(menu=menubar)
frame=Frame(Mafenetre,height=200,width=400)
frame.pack()
Canevas = Canvas(Mafenetre,width=400, height=5)
Canevas.pack()
frame.photo = PhotoImage(file ='')
espace_image = Canvas(frame, width =170, height =170, bg ='black')
espace_image.grid(row=3 ,columnspan=2, column=0, padx =10, pady =10)
espace_image.create_image(85, 85, image =frame.photo)
if os.getuid() != 0:
# We're not root so, like, whatever dude
print("No root")
FormNoRoot();
FormGUI()
Mafenetre.mainloop()