165 lines
4.7 KiB
Python
Executable File
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()
|