Browse Source

Hey we can define ports and bind ips :)

Michael Schwarz 10 years ago
parent
commit
9b12c6d56e
1 changed files with 16 additions and 8 deletions
  1. 16 8
      server.py

+ 16 - 8
server.py

@@ -8,15 +8,13 @@ import daemon, getopt, sys
 def myrandom(length):
    return ''.join(random.choice(string.lowercase) for i in range(length))
 
-def server():
-    TCP_IP = '::'
-    TCP_PORT = 1337
+def server(port, bindTo):
     BUFFER_SIZE = 1024
  
     s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
-    s.bind((TCP_IP, TCP_PORT))
+    s.bind((bindTo, port))
     s.listen(1)
-    print('DebugReport server listening on [{0}]:{1}'.format(TCP_IP, TCP_PORT))
+    print('DebugReport server listening on [{0}]:{1}'.format(bindTo, port))
 
     while 1:
         conn, addr = s.accept()
@@ -41,21 +39,31 @@ def server():
 
 if __name__ == '__main__':
 	try: 
-		opts, args = getopt.getopt(sys.argv[1:], "d", ["do-not-daemonize", ""])
+		opts, args = getopt.getopt(sys.argv[1:], "dp:b:", ["do-not-daemonize", "port", "bind-to"])
 	except:
 		print ('Unrecognized option')
 		sys.exit(2)
 
 	daemonize = True
+	port = 1337
+	bindTo = '::'
 
 	for opt, arg in opts:
 		if opt in ("-d", "--do-not-daemonize"):
 			daemonize = False
+		elif opt in ("-p", "--port"):
+			port = int(arg)
+		elif opt in ("-b", "--bind-to"):
+			try: 
+				socket.inet_aton(arg)
+				bindTo = str(arg)
+			except:
+				print('Invalid IPAdress. Using default ::')
 		else:
 			assert False
 	
 	if daemonize == False:
-		server()
+		server(port, bindTo)
 	else:
 		with daemon.DaemonContext():
-			server()
+			server(port, bindTo)