diff --git a/etc/systemd/system/pymaster.service b/etc/systemd/system/pymaster.service index fb4030f..db56c1e 100644 --- a/etc/systemd/system/pymaster.service +++ b/etc/systemd/system/pymaster.service @@ -9,8 +9,9 @@ User=master Group=master WorkingDirectory=/home/master/pymaster/ ExecStart=/home/master/pymaster/pymaster.py -i $PYMASTER_IP -p $PYMASTER_PORT +StandardOutput=file:/home/master/pymaster-debug.log +StandardError=file:/home/master/pymaster-error.log Restart=on-failure [Install] WantedBy=multi-user.target - diff --git a/pymaster.py b/pymaster.py index 949823c..8b36395 100755 --- a/pymaster.py +++ b/pymaster.py @@ -12,7 +12,7 @@ from server_entry import ServerEntry from protocol import MasterProtocol -import ipfilter +# import ipfilter LOG_FILENAME = 'pymaster.log' MAX_SERVERS_FOR_IP = 14 @@ -66,8 +66,12 @@ def __init__(self, ip, port): self.serverList = [] self.serverRL = IPRateLimit('server', 60, 30) self.clientRL = IPRateLimit('client', 60, 120) + # self.ipfilterRL = IPRateLimit('filterlog', 60, 10) self.ipfilterRL = IPRateLimit('filterlog', 60, 10) - self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + if ':' in ip: + self.sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) + else: + self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.bind((ip, port)) log("Welcome to PyMaster!") @@ -77,10 +81,10 @@ def __init__(self, ip, port): def serverLoop(self): data, addr = self.sock.recvfrom(1024) - if ip_address(addr[0]) in ipfilter.ipfilter: - if not self.ipfilterRL.ratelimit(addr[0]): - log('Filter: %s:%d' % (addr[0], addr[1])) - return + # if ip_address(addr[0]) in ipfilter.ipfilter: + # if not self.ipfilterRL.ratelimit(addr[0]): + # log('Filter: %s:%d' % (addr[0], addr[1])) + # return if len(data) == 0: return