1
mirror of git://git.acid.vegas/IRCP.git synced 2024-11-26 09:56:42 +00:00

Added BOPM/HOPM/DroneBL * Proxy Monitor detections

This commit is contained in:
Dionysus 2023-05-30 17:38:20 -04:00
parent c1930b301e
commit 60662be663
Signed by: acidvegas
GPG Key ID: EF4B922DB85DC9DE

21
ircp.py
View File

@ -317,8 +317,12 @@ class probe:
if chan in self.channels['users']: if chan in self.channels['users']:
del self.channels['users'][chan] del self.channels['users'][chan]
error(f'{self.display}\033[31merror\033[0m - {chan}', line) error(f'{self.display}\033[31merror\033[0m - {chan}', line)
elif line.startswith('ERROR :Closing Link') and 'dronebl' in line.lower():
self.snapshot['proxy'] = True
error(self.display + '\033[93mDroneBL detected\033[30m')
raise Exception('DroneBL')
elif line.startswith('ERROR :Closing Link'): elif line.startswith('ERROR :Closing Link'):
raise Exception('DroneBL') if 'dronebl' in line.lower() else Exception('Banned') raise Exception('Banned')
elif line.startswith('ERROR :Trying to reconnect too fast') or line.startswith('ERROR :Your host is trying to (re)connect too fast') or line.startswith('ERROR :Reconnecting too fast'): elif line.startswith('ERROR :Trying to reconnect too fast') or line.startswith('ERROR :Your host is trying to (re)connect too fast') or line.startswith('ERROR :Reconnecting too fast'):
raise Exception('Throttled') raise Exception('Throttled')
elif line.startswith('ERROR :Access denied'): elif line.startswith('ERROR :Access denied'):
@ -388,6 +392,11 @@ class probe:
self.jthrottle = throttle.seconds if seconds > throttle.seconds else seconds self.jthrottle = throttle.seconds if seconds > throttle.seconds else seconds
error(self.display + '\033[31merror\033[0m - delay found', msg) error(self.display + '\033[31merror\033[0m - delay found', msg)
elif numeric == '465': # ERR_YOUREBANNEDCREEP elif numeric == '465': # ERR_YOUREBANNEDCREEP
if 'dronebl' in line.lower():
self.snapshot['proxy'] = True
error(self.display + '\033[93mDroneBL detected\033[30m')
raise Exception('DroneBL')
else:
raise Exception('K-Lined') raise Exception('K-Lined')
elif numeric == '464': # ERR_PASSWDMISMATCH elif numeric == '464': # ERR_PASSWDMISMATCH
raise Exception('Network has a password') raise Exception('Network has a password')
@ -403,6 +412,14 @@ class probe:
target = args[2] target = args[2]
msg = ' '.join(args[3:])[1:] msg = ' '.join(args[3:])[1:]
if target == self.nickname: if target == self.nickname:
for i in ('proxy','proxys','proxies'):
if i in msg.lower():
self.snapshot['proxy'] = True
check = [ x for x in ('bopm','hopm') if x in line]
if check:
error(f'{self.display}\033[93m{check.upper()} detected\033[30m')
else:
error(self.display + '\033[93mProxy Monitor detected\033[30m')
for i in ('You must have been using this nick for','You must be connected for','not connected long enough','Please wait', 'You cannot list within the first'): for i in ('You must have been using this nick for','You must be connected for','not connected long enough','Please wait', 'You cannot list within the first'):
if i in msg: if i in msg:
error(self.display + '\033[31merror\033[0m - delay found', msg) error(self.display + '\033[31merror\033[0m - delay found', msg)
@ -414,6 +431,8 @@ class probe:
self.snapshot['services'] = True self.snapshot['services'] = True
elif '!' not in args[0]: elif '!' not in args[0]:
if 'dronebl.org/lookup' in msg: if 'dronebl.org/lookup' in msg:
self.snapshot['proxy'] = True
error(self.display + '\033[93mDroneBL detected\033[30m')
raise Exception('DroneBL') raise Exception('DroneBL')
else: else:
if [i for i in ('You\'re banned','You are permanently banned','You are banned','You are not welcome') if i in msg]: if [i for i in ('You\'re banned','You are permanently banned','You are banned','You are not welcome') if i in msg]: