diff options
Diffstat (limited to 'Reaktor')
-rw-r--r-- | Reaktor/IRC/ircasy.py | 24 | ||||
-rwxr-xr-x | Reaktor/commands/taken | 28 | ||||
-rwxr-xr-x | Reaktor/commands/whois | 4 | ||||
m--------- | Reaktor/repos/dnsrecon | 0 | ||||
m--------- | Reaktor/repos/view-website | 0 | ||||
-rwxr-xr-x | Reaktor/titlebot/commands/undo | 2 | ||||
-rwxr-xr-x | Reaktor/titlebot/commands/up | 2 | ||||
-rw-r--r-- | Reaktor/titlebot/titlebot.py | 5 |
8 files changed, 54 insertions, 11 deletions
diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 9a7f44f3..99fbc324 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -89,15 +89,22 @@ class asybot(asychat): self.data += data.decode() except Exception as e: print('error decoding message: ' + str(e)); + print('current data: %s' % self.data); + print('received data: %s' % data); + print('trying to decode as latin1') + self.data += data.decode('latin1') def found_terminator(self): self.log.debug('<< %s' % self.data) message = self.data self.data = '' - - _, prefix, command, params, rest, _ = \ - split('^(?::(\S+)\s)?(\S+)((?:\s[^:]\S*)*)(?:\s:(.*))?$', message) + try: + _, prefix, command, params, rest, _ = \ + split('^(?::(\S+)\s)?(\S+)((?:\s[^:]\S*)*)(?:\s:(.*))?$', message) + except Exception as e: + print("cannot split message :(\nmsg: %s"%message) + return params = params.split(' ')[1:] if command == 'PING': @@ -126,10 +133,13 @@ class asybot(asychat): self.reset_alarm() def push(self, message): - self.log.debug('>> %s' % message) - msg = (message + self.myterminator).encode() - self.log.debug('>> %s' % msg) - asychat.push(self, msg) + try: + self.log.debug('>> %s' % message) + msg = (message + self.myterminator).encode() + self.log.debug('>> %s' % msg) + asychat.push(self, msg) + except: + pass def disconnect(self): self.push('QUIT') diff --git a/Reaktor/commands/taken b/Reaktor/commands/taken new file mode 100755 index 00000000..b8beba68 --- /dev/null +++ b/Reaktor/commands/taken @@ -0,0 +1,28 @@ +#!/bin/sh +#!/bin/bash + +# domainavailable +# Fast, domain name checker to use from the shell +# Use globs for real fun: +# domainavailable blah{1..3}.{com,net,org,co.uk} +# Inspired by foca / giles: +# http://gilesbowkett.blogspot.com/2009/02/simple-bash-domain-availability.html + +for d in $@; +do +if host "$d" | grep "NXDOMAIN" >&/dev/null; then + w=$(whois "$d") + if ! test "$?" -eq 0 ;then + echo "$d - whois not available" + elif echo "$w" | grep -Ei "(No match|NOT FOUND|Status: free)" >&/dev/null; then + echo "$d available"; + elif echo "$w"| grep -Ei "(Status: invalid)" >&/dev/null ;then + echo "$d invalid" + else + echo "$d taken"; + fi +else + echo "$d taken"; +fi +done +exit 0 diff --git a/Reaktor/commands/whois b/Reaktor/commands/whois new file mode 100755 index 00000000..b0733891 --- /dev/null +++ b/Reaktor/commands/whois @@ -0,0 +1,4 @@ +#!/bin/sh +(! type whois >/dev/null 2>/dev/null) && echo "whois does not exist" && exit 0 + +whois "${1?usage: $0 domain}" | sed -e '/^$/d' -e '/^%/d' -e '/^Nserver/d' -e 's/^\[.*/---/' -e '/^Changed/d' -e '/^Status/d' -e '/^Type/d' -e '/^PostalCode/d' -e '/^Phone/d' -e '/^Fax/d' -e '/Last update of WHOIS database/Q' -e '/ID:/d' diff --git a/Reaktor/repos/dnsrecon b/Reaktor/repos/dnsrecon -Subproject 31de30e4f6674585676c841c5612a330c22de94 +Subproject a6a5a5e7f6d03cf3430a75d461c76ae0f76cf94 diff --git a/Reaktor/repos/view-website b/Reaktor/repos/view-website -Subproject a3892837aabd5d95e997c0fd2526096f685669f +Subproject f62601b09882efdd273ee2cbf6625734cf1e316 diff --git a/Reaktor/titlebot/commands/undo b/Reaktor/titlebot/commands/undo index a66de67f..e1b0abab 100755 --- a/Reaktor/titlebot/commands/undo +++ b/Reaktor/titlebot/commands/undo @@ -15,7 +15,7 @@ except: print("""usage: undo number (...) undos vote of one or more entries based on .list""") sys.exit(1) -voter = environ['_prefix'] +voter = environ['_prefix'].split("@")[1] voter_name = environ['_from'] for vote in votes: try: diff --git a/Reaktor/titlebot/commands/up b/Reaktor/titlebot/commands/up index 0a48bdb0..7aff5944 100755 --- a/Reaktor/titlebot/commands/up +++ b/Reaktor/titlebot/commands/up @@ -15,7 +15,7 @@ if not votes: upvotes one or more entries based on .list""") sys.exit(1) -voter = environ['_prefix'] +voter = environ['_prefix'].split("@")[1] voter_name =environ['_from'] for vote in votes: try: diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py index c1eac3b0..41717484 100644 --- a/Reaktor/titlebot/titlebot.py +++ b/Reaktor/titlebot/titlebot.py @@ -6,7 +6,7 @@ debug = False # CAVEAT name should not contains regex magic name = 'bgt_titlebot' -workdir = '/tmp/state' +workdir = '/home/titlebot/state' try: mkdir(workdir) @@ -68,7 +68,8 @@ public_commands = [ # identify via direct connect { 'capname': 'identify', 'pattern': '^identify' + '\\s*(?:\\s+(?P<args>.*))?$', - 'argv' : [ 'commands/identify' ]} + 'argv' : [ 'commands/identify' ], + 'env':{'config_filename': config_filename}} ] commands = [ default_command('reload'), |