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