mirror of
https://github.com/iio612/DEFENDER.git
synced 2026-02-13 19:24:23 +00:00
V5.3.5
This commit is contained in:
10
core/irc.py
10
core/irc.py
@@ -829,6 +829,13 @@ class Irc:
|
|||||||
self.sendPrivMsg(msg=f'[{self.Config.COLORS.green}INFORMATION{self.Config.COLORS.nogc}] >> Defender is ready', channel=self.Config.SERVICE_CHANLOG)
|
self.sendPrivMsg(msg=f'[{self.Config.COLORS.green}INFORMATION{self.Config.COLORS.nogc}] >> Defender is ready', channel=self.Config.SERVICE_CHANLOG)
|
||||||
self.INIT = 0
|
self.INIT = 0
|
||||||
|
|
||||||
|
# Send EOF to other modules
|
||||||
|
for classe_name, classe_object in self.loaded_classes.items():
|
||||||
|
classe_object.cmd(original_response)
|
||||||
|
|
||||||
|
# Stop here When EOS
|
||||||
|
return None
|
||||||
|
|
||||||
case _:
|
case _:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -1348,9 +1355,10 @@ class Irc:
|
|||||||
batch_commands = ' | '.join(groupe)
|
batch_commands = ' | '.join(groupe)
|
||||||
self.send2socket(f':{dnickname} NOTICE {fromuser} : {batch_commands}')
|
self.send2socket(f':{dnickname} NOTICE {fromuser} : {batch_commands}')
|
||||||
|
|
||||||
count_level_definition += 1
|
|
||||||
self.send2socket(f':{dnickname} NOTICE {fromuser} : ')
|
self.send2socket(f':{dnickname} NOTICE {fromuser} : ')
|
||||||
|
|
||||||
|
count_level_definition += 1
|
||||||
|
|
||||||
self.send2socket(f':{dnickname} NOTICE {fromuser} : ***************** FIN DES COMMANDES *****************')
|
self.send2socket(f':{dnickname} NOTICE {fromuser} : ***************** FIN DES COMMANDES *****************')
|
||||||
|
|
||||||
case 'load':
|
case 'load':
|
||||||
|
|||||||
@@ -111,9 +111,6 @@ class Defender():
|
|||||||
self.__load_module_configuration()
|
self.__load_module_configuration()
|
||||||
# End of mandatory methods you can start your customization #
|
# End of mandatory methods you can start your customization #
|
||||||
|
|
||||||
# # Rejoindre les salons
|
|
||||||
# self.join_saved_channels()
|
|
||||||
|
|
||||||
self.timeout = self.Config.API_TIMEOUT
|
self.timeout = self.Config.API_TIMEOUT
|
||||||
|
|
||||||
# Listes qui vont contenir les ip a scanner avec les différentes API
|
# Listes qui vont contenir les ip a scanner avec les différentes API
|
||||||
@@ -150,7 +147,7 @@ class Defender():
|
|||||||
self.Base.create_thread(func=self.thread_reputation_timer)
|
self.Base.create_thread(func=self.thread_reputation_timer)
|
||||||
|
|
||||||
if self.ModConfig.reputation == 1:
|
if self.ModConfig.reputation == 1:
|
||||||
self.Irc.send2socket(f":{self.Config.SERVICE_ID} SAMODE {self.Config.SALON_JAIL} +{self.Config.SERVICE_UMODES} {self.Config.SERVICE_NICKNAME}")
|
self.Irc.send2socket(f":{self.Config.SERVEUR_ID} SJOIN {self.Base.get_unixtime()} {self.Config.SALON_JAIL} + :{self.Config.SERVICE_ID}")
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -249,40 +246,6 @@ class Defender():
|
|||||||
self.reputationTimer_isRunning:bool = False
|
self.reputationTimer_isRunning:bool = False
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def add_defender_channel(self, channel:str) -> bool:
|
|
||||||
"""Cette fonction ajoute les salons de join de Defender
|
|
||||||
|
|
||||||
Args:
|
|
||||||
channel (str): le salon à enregistrer.
|
|
||||||
"""
|
|
||||||
mes_donnees = {'channel': channel}
|
|
||||||
response = self.Base.db_execute_query("SELECT id FROM def_channels WHERE channel = :channel", mes_donnees)
|
|
||||||
|
|
||||||
isChannelExist = response.fetchone()
|
|
||||||
|
|
||||||
if isChannelExist is None:
|
|
||||||
mes_donnees = {'datetime': self.Base.get_datetime(), 'channel': channel}
|
|
||||||
insert = self.Base.db_execute_query(f"INSERT INTO def_channels (datetime, channel) VALUES (:datetime, :channel)", mes_donnees)
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def delete_defender_channel(self, channel:str) -> bool:
|
|
||||||
"""Cette fonction supprime les salons de join de Defender
|
|
||||||
|
|
||||||
Args:
|
|
||||||
channel (str): le salon à enregistrer.
|
|
||||||
"""
|
|
||||||
mes_donnes = {'channel': channel}
|
|
||||||
response = self.Base.db_execute_query("DELETE FROM def_channels WHERE channel = :channel", mes_donnes)
|
|
||||||
|
|
||||||
affected_row = response.rowcount
|
|
||||||
|
|
||||||
if affected_row > 0:
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def reputation_insert(self, reputationModel: ReputationModel) -> bool:
|
def reputation_insert(self, reputationModel: ReputationModel) -> bool:
|
||||||
|
|
||||||
response = False
|
response = False
|
||||||
@@ -372,7 +335,7 @@ class Defender():
|
|||||||
|
|
||||||
def join_saved_channels(self) -> None:
|
def join_saved_channels(self) -> None:
|
||||||
|
|
||||||
result = self.Base.db_execute_query("SELECT id, channel FROM def_channels")
|
result = self.Base.db_execute_query(f"SELECT distinct channel_name FROM {self.Config.table_channel}")
|
||||||
channels = result.fetchall()
|
channels = result.fetchall()
|
||||||
jail_chan = self.Config.SALON_JAIL
|
jail_chan = self.Config.SALON_JAIL
|
||||||
jail_chan_mode = self.Config.SALON_JAIL_MODES
|
jail_chan_mode = self.Config.SALON_JAIL_MODES
|
||||||
@@ -383,7 +346,7 @@ class Defender():
|
|||||||
unixtime = self.Base.get_unixtime()
|
unixtime = self.Base.get_unixtime()
|
||||||
|
|
||||||
for channel in channels:
|
for channel in channels:
|
||||||
id, chan = channel
|
chan = channel[0]
|
||||||
self.Irc.send2socket(f":{self.Config.SERVEUR_ID} SJOIN {unixtime} {chan} + :{self.Config.SERVICE_ID}")
|
self.Irc.send2socket(f":{self.Config.SERVEUR_ID} SJOIN {unixtime} {chan} + :{self.Config.SERVICE_ID}")
|
||||||
if chan == jail_chan:
|
if chan == jail_chan:
|
||||||
self.Irc.send2socket(f":{service_id} SAMODE {jail_chan} +{dumodes} {dnickname}")
|
self.Irc.send2socket(f":{service_id} SAMODE {jail_chan} +{dumodes} {dnickname}")
|
||||||
@@ -1004,15 +967,8 @@ class Defender():
|
|||||||
service_id = self.Config.SERVICE_ID # Defender serveur id
|
service_id = self.Config.SERVICE_ID # Defender serveur id
|
||||||
cmd = list(data).copy()
|
cmd = list(data).copy()
|
||||||
|
|
||||||
if len(cmd) < 2:
|
|
||||||
return None
|
|
||||||
|
|
||||||
match cmd[1]:
|
match cmd[1]:
|
||||||
|
|
||||||
case 'EOS':
|
|
||||||
if self.Irc.INIT == 0:
|
|
||||||
self.Irc.send2socket(f":{service_id} SAMODE {self.Config.SALON_JAIL} +{self.Config.SERVICE_UMODES} {self.Config.SERVICE_NICKNAME}")
|
|
||||||
|
|
||||||
case 'REPUTATION':
|
case 'REPUTATION':
|
||||||
# :001 REPUTATION 91.168.141.239 118
|
# :001 REPUTATION 91.168.141.239 118
|
||||||
try:
|
try:
|
||||||
@@ -1096,6 +1052,7 @@ class Defender():
|
|||||||
|
|
||||||
get_reputation = self.reputation_get_Reputation(parsed_UID)
|
get_reputation = self.reputation_get_Reputation(parsed_UID)
|
||||||
|
|
||||||
|
if parsed_chan != self.Config.SALON_JAIL:
|
||||||
self.Irc.send2socket(f":{service_id} MODE {parsed_chan} +b ~security-group:unknown-users")
|
self.Irc.send2socket(f":{service_id} MODE {parsed_chan} +b ~security-group:unknown-users")
|
||||||
self.Irc.send2socket(f":{service_id} MODE {parsed_chan} +eee ~security-group:webirc-users ~security-group:known-users ~security-group:websocket-users")
|
self.Irc.send2socket(f":{service_id} MODE {parsed_chan} +eee ~security-group:webirc-users ~security-group:known-users ~security-group:websocket-users")
|
||||||
|
|
||||||
|
|||||||
@@ -124,8 +124,12 @@ class Test():
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def cmd(self, data:list) -> None:
|
def cmd(self, data:list) -> None:
|
||||||
|
try:
|
||||||
|
cmd = list(data).copy()
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
except Exception as err:
|
||||||
|
self.Base.logs.error(f"General Error: {err}")
|
||||||
|
|
||||||
def _hcmds(self, user:str, channel: any, cmd: list, fullcmd: list = []) -> None:
|
def _hcmds(self, user:str, channel: any, cmd: list, fullcmd: list = []) -> None:
|
||||||
|
|
||||||
|
|||||||
@@ -242,16 +242,17 @@ class Votekick():
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def cmd(self, data:list) -> None:
|
def cmd(self, data:list) -> None:
|
||||||
|
try:
|
||||||
cmd = list(data).copy()
|
cmd = list(data).copy()
|
||||||
|
|
||||||
match cmd[2]:
|
|
||||||
case 'SJOIN':
|
|
||||||
pass
|
|
||||||
case _:
|
|
||||||
pass
|
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
except KeyError as ke:
|
||||||
|
self.Base.logs.error(f"Key Error: {ke}")
|
||||||
|
except IndexError as ie:
|
||||||
|
self.Base.logs.error(f"{ie} / {cmd} / length {str(len(cmd))}")
|
||||||
|
except Exception as err:
|
||||||
|
self.Base.logs.error(f"General Error: {err}")
|
||||||
|
|
||||||
def _hcmds(self, user:str, channel: any, cmd: list, fullcmd: list = []) -> None:
|
def _hcmds(self, user:str, channel: any, cmd: list, fullcmd: list = []) -> None:
|
||||||
# cmd is the command starting from the user command
|
# cmd is the command starting from the user command
|
||||||
# full cmd is sending the entire server response
|
# full cmd is sending the entire server response
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "5.3.4"
|
"version": "5.3.5"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user