Support multiple external ips

This commit is contained in:
shortcutme 2019-01-24 15:20:08 +01:00
parent 0a03c30e8a
commit 37979b4f9c
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
4 changed files with 12 additions and 9 deletions

View file

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

View file

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

View file

@ -243,7 +243,7 @@ class Config(object):
self.parser.add_argument('--disable_udp', help='Disable UDP connections', action='store_true')
self.parser.add_argument('--proxy', help='Socks proxy address', metavar='ip:port')
self.parser.add_argument('--bind', help='Bind outgoing sockets to this address', metavar='ip')
self.parser.add_argument('--ip_external', help='Set reported external ip (tested on start if None)', metavar='ip')
self.parser.add_argument('--ip_external', help='Set reported external ip (tested on start if None)', metavar='ip', nargs='*')
self.parser.add_argument('--trackers', help='Bootstraping torrent trackers', default=trackers, metavar='protocol://address', nargs='*')
self.parser.add_argument('--trackers_file', help='Load torrent trackers dynamically from a file', default=False, metavar='path')
self.parser.add_argument('--trackers_proxy', help='Force use proxy to connect to trackers (disable, tor, ip:port)', default="disable")

View file

@ -63,8 +63,9 @@ class FileServer(ConnectionServer):
self.port_opened = {}
if config.ip_external: # Ip external defined in arguments
self.port_opened[helper.getIpType(config.ip_external)] = True
SiteManager.peer_blacklist.append((config.ip_external, self.port)) # Add myself to peer blacklist
for ip_external in config.ip_external:
self.port_opened[helper.getIpType(ip_external)] = True
SiteManager.peer_blacklist.append((ip_external, self.port)) # Add myself to peer blacklist
self.sites = {}
self.last_request = time.time()