update
This commit is contained in:
parent
3621c38a26
commit
84ec6dae1a
@ -1,86 +0,0 @@
|
|||||||
|
|
||||||
# -*- coding: utf-8 -*- ############################################################### SOF
|
|
||||||
from irc3.plugins.command import command
|
|
||||||
import irc3
|
|
||||||
from urllib.request import Request, urlopen
|
|
||||||
from urllib.error import URLError, HTTPError
|
|
||||||
###########################################################################################
|
|
||||||
###########################################################################################
|
|
||||||
@irc3.plugin
|
|
||||||
class Plugin:
|
|
||||||
#######################################################################################
|
|
||||||
#######################################################################################
|
|
||||||
def __init__(self, bot):
|
|
||||||
self.bot = bot
|
|
||||||
#######################################################################################
|
|
||||||
#######################################################################################
|
|
||||||
def isup_check(self, domain_or_ip):
|
|
||||||
msg=''
|
|
||||||
try:
|
|
||||||
url=f'http://{domain_or_ip}'
|
|
||||||
try:
|
|
||||||
req = Request(
|
|
||||||
url,
|
|
||||||
data=None,
|
|
||||||
headers={
|
|
||||||
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
|
|
||||||
}
|
|
||||||
)
|
|
||||||
response=urlopen(req,timeout=10).read().decode('utf-8')
|
|
||||||
except HTTPError as e:
|
|
||||||
msg='maybe -> could not complete the request. error code: {}'.format(e.code)
|
|
||||||
except URLError as e:
|
|
||||||
msg='down -> failed to reach the server. reason: {}'.format(e.reason)
|
|
||||||
else:
|
|
||||||
msg=f'up -> http://{domain_or_ip} is communicating'
|
|
||||||
except:
|
|
||||||
url=f'https://{domain_or_ip}'
|
|
||||||
try:
|
|
||||||
req = Request(
|
|
||||||
url,
|
|
||||||
data=None,
|
|
||||||
headers={
|
|
||||||
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
|
|
||||||
}
|
|
||||||
)
|
|
||||||
response=urlopen(req,timeout=10).read().decode('utf-8')
|
|
||||||
except HTTPError as e:
|
|
||||||
msg='maybe -> could not complete the request. error code: {}'.format(e.code)
|
|
||||||
except URLError as e:
|
|
||||||
msg='down -> failed to reach the server. reason: {}'.format(e.reason)
|
|
||||||
else:
|
|
||||||
msg=f'up -> https://{domain_or_ip} is communicating'
|
|
||||||
finally:
|
|
||||||
return msg
|
|
||||||
#######################################################################################
|
|
||||||
#######################################################################################
|
|
||||||
@command(permission='view')
|
|
||||||
def isup(self, mask, target, args):
|
|
||||||
"""isup domain
|
|
||||||
%%isup <domain>
|
|
||||||
"""
|
|
||||||
domain=args.get('<domain>')
|
|
||||||
domain_noise=domain
|
|
||||||
try:
|
|
||||||
domain_noise=domain.split('://')[1]
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
try:
|
|
||||||
if not domain_noise:
|
|
||||||
domain_noise=domain[:domain.find('.')+domain[domain.find('.')+1:].find('/')+1].split('://')[1]
|
|
||||||
except:
|
|
||||||
if not domain_noise.find('/')==-1:
|
|
||||||
domain_noise=domain[:domain.find('.')+domain[domain.find('.')+1:].find('/')+1].split('://')[0]
|
|
||||||
if domain_noise[-1]=="/": domain_noise=domain_noise[:-1]
|
|
||||||
if domain_noise[:domain_noise.find(':')].replace('.','').isnumeric() and (len(domain_noise[:domain_noise.find(':')])-3)==len(domain_noise[:domain_noise.find(':')].replace('.','')):
|
|
||||||
domain=domain_noise
|
|
||||||
elif domain_noise.replace('.','').isnumeric() and (len(domain_noise)-3) == len(domain_noise.replace('.','')):
|
|
||||||
domain=domain_noise
|
|
||||||
elif domain_noise.find('/') == -1 and not domain_noise.find('.') == -1 and domain_noise.replace('.','').isalnum():
|
|
||||||
domain=domain_noise
|
|
||||||
else:
|
|
||||||
self.bot.privmsg(target,self.bot.emo("{}: doesn't sanitize towards a valid domain/ip".format(domain)))
|
|
||||||
return
|
|
||||||
self.bot.privmsg(target,self.bot.emo("{}".format(self.isup_check(domain))))
|
|
||||||
####################################################################################### EOF
|
|
||||||
#.[d].
|
|
Loading…
Reference in New Issue
Block a user