Store detected external ips to separate variable

This commit is contained in:
shortcutme 2019-01-26 20:42:27 +01:00
parent 6662b4f047
commit f706f7508e
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
5 changed files with 10 additions and 8 deletions

View file

@ -173,7 +173,7 @@ class FileServerPlugin(object):
def portCheck(self, *args, **kwargs): def portCheck(self, *args, **kwargs):
res = super(FileServerPlugin, self).portCheck(*args, **kwargs) res = super(FileServerPlugin, self).portCheck(*args, **kwargs)
if res and not config.tor == "always" and "Bootstrapper" in PluginManager.plugin_manager.plugin_names: if res and not config.tor == "always" and "Bootstrapper" in PluginManager.plugin_manager.plugin_names:
for ip in config.ip_external: for ip in self.ip_external_list:
my_tracker_address = "zero://%s:%s" % (ip, config.fileserver_port) my_tracker_address = "zero://%s:%s" % (ip, config.fileserver_port)
tracker_storage.onTrackerFound(my_tracker_address, my=True) tracker_storage.onTrackerFound(my_tracker_address, my=True)
return res return res

View file

@ -667,7 +667,7 @@ class UiWebsocketPlugin(object):
peer_locations.append(peer_location) peer_locations.append(peer_location)
# Append myself # Append myself
for ip in config.ip_external: for ip in self.site.connection_server.ip_external_list:
my_loc = self.getLoc(geodb, ip) my_loc = self.getLoc(geodb, ip)
if my_loc: if my_loc:
my_loc["ping"] = 0 my_loc["ping"] = 0

View file

@ -67,7 +67,7 @@ class UiRequestPlugin(object):
# Memory # Memory
yield "rev%s | " % config.rev yield "rev%s | " % config.rev
yield "%s | " % config.ip_external yield "%s | " % main.file_server.ip_external_list
yield "Port: %s | " % main.file_server.port yield "Port: %s | " % main.file_server.port
yield "IP Network: %s | " % main.file_server.supported_ip_types yield "IP Network: %s | " % main.file_server.supported_ip_types
yield "Opened: %s | " % main.file_server.port_opened yield "Opened: %s | " % main.file_server.port_opened

View file

@ -83,8 +83,8 @@ class ActionsPlugin(object):
webbrowser.open(url, new=0) webbrowser.open(url, new=0)
def titleIp(self): def titleIp(self):
title = "!IP: %s " % config.ip_external title = "!IP: %s " % ", ".join(self.main.file_server.ip_external_list)
if self.main.file_server.port_opened: if any(self.main.file_server.port_opened):
title += _["(active)"] title += _["(active)"]
else: else:
title += _["(passive)"] title += _["(passive)"]

View file

@ -26,6 +26,7 @@ class FileServer(ConnectionServer):
self.portchecker = PeerPortchecker.PeerPortchecker(self) self.portchecker = PeerPortchecker.PeerPortchecker(self)
self.log = logging.getLogger("FileServer") self.log = logging.getLogger("FileServer")
self.ip_type = ip_type self.ip_type = ip_type
self.ip_external_list = []
self.supported_ip_types = ["ipv4"] # Outgoing ip_type support self.supported_ip_types = ["ipv4"] # Outgoing ip_type support
if helper.getIpType(ip) == "ipv6" or self.isIpv6Supported(): if helper.getIpType(ip) == "ipv6" or self.isIpv6Supported():
@ -156,6 +157,7 @@ class FileServer(ConnectionServer):
"ipv4": "ipv4" in ip_external_types, "ipv4": "ipv4" in ip_external_types,
"ipv6": "ipv6" in ip_external_types "ipv6": "ipv6" in ip_external_types
} }
self.ip_external_list = config.ip_external
self.port_opened.update(res) self.port_opened.update(res)
self.log.info("Server port opened based on configuration ipv4: %s, ipv6: %s" % (res["ipv4"], res["ipv6"])) self.log.info("Server port opened based on configuration ipv4: %s, ipv6: %s" % (res["ipv4"], res["ipv6"]))
return res return res
@ -182,10 +184,10 @@ class FileServer(ConnectionServer):
self.log.info("Invalid IPv6 address from port check: %s" % res_ipv6["ip"]) self.log.info("Invalid IPv6 address from port check: %s" % res_ipv6["ip"])
res_ipv6["opened"] = False res_ipv6["opened"] = False
config.ip_external = [] self.ip_external_list = []
for res_ip in [res_ipv4, res_ipv6]: for res_ip in [res_ipv4, res_ipv6]:
if res_ip["ip"] and res_ip["ip"] not in config.ip_external: if res_ip["ip"] and res_ip["ip"] not in self.ip_external_list:
config.ip_external.append(res_ip["ip"]) self.ip_external_list.append(res_ip["ip"])
SiteManager.peer_blacklist.append((res_ip["ip"], self.port)) SiteManager.peer_blacklist.append((res_ip["ip"], self.port))
self.log.info("Server port opened ipv4: %s, ipv6: %s" % (res_ipv4["opened"], res_ipv6["opened"])) self.log.info("Server port opened ipv4: %s, ipv6: %s" % (res_ipv4["opened"], res_ipv6["opened"]))