Ver código fonte

server: add support for IPv6

Helge Jung 9 anos atrás
pai
commit
eb0fb5d47f
1 arquivos alterados com 4 adições e 2 exclusões
  1. 4 2
      ffstatus/server.py

+ 4 - 2
ffstatus/server.py

@@ -8,6 +8,7 @@ from storage import Storage
 import json
 import logging
 import re
+import socket
 from SocketServer import ThreadingMixIn
 import time
 
@@ -28,7 +29,7 @@ class BatcaveHttpRequestHandler(BaseHTTPRequestHandler):
 			for m in re.finditer(r'(?P<key>.+?)=(?P<value>.+?)(&|$)', url.group('query')):
 				query[m.group('key')] = m.group('value')
 		return ( path, query )
-		
+
 	def do_GET(self):
 		path, query = self.parse_url_pathquery()
 
@@ -212,7 +213,7 @@ class BatcaveHttpRequestHandler(BaseHTTPRequestHandler):
 		self.wfile.write('<html><head><title>BATCAVE - VPN LIST</title></head>\n')
 		self.wfile.write('<body>\n')
 		self.wfile.write('<table>\n<thead><tr><th>key</th><th>active</th><th>last</th></tr></thead>\n')
-		
+
 		if 'vpn' in storage.data:
 			for key in storage.data['vpn']:
 				item = storage.data['vpn'][key]
@@ -227,6 +228,7 @@ class BatcaveHttpRequestHandler(BaseHTTPRequestHandler):
 
 class ApiServer(ThreadingMixIn, HTTPServer):
 	def __init__(self, endpoint, storage):
+		if ':' in endpoint[0]: self.address_family = socket.AF_INET6
 		HTTPServer.__init__(self, endpoint, BatcaveHttpRequestHandler)
 		self.storage = storage