def __init__(self, ip=config.fileserver_ip, port=config.fileserver_port):
        self.site_manager = SiteManager.site_manager
        self.log = logging.getLogger("FileServer")
        ip = ip.replace("*", "0.0.0.0")

        if config.tor == "always":
            port = config.tor_hs_port
            config.fileserver_port = port
        elif port == 0:  # Use random port
            port_range_from, port_range_to = map(
                int, config.fileserver_port_range.split("-"))
            port = self.getRandomPort(ip, port_range_from, port_range_to)
            config.fileserver_port = port
            if not port:
                raise Exception("Can't find bindable port")
            if not config.tor == "always":
                config.saveValue(
                    "fileserver_port",
                    port)  # Save random port value for next restart

        ConnectionServer.__init__(self, ip, port, self.handleRequest)

        if config.ip_external:  # Ip external defined in arguments
            self.port_opened = True
            SiteManager.peer_blacklist.append(
                (config.ip_external,
                 self.port))  # Add myself to peer blacklist
        else:
            self.port_opened = None  # Is file server opened on router
        self.upnp_port_opened = False
        self.sites = {}
        self.last_request = time.time()
        self.files_parsing = {}
        self.ui_server = None
Esempio n. 2
0
    def __init__(self, ip=config.fileserver_ip, port=config.fileserver_port):
        self.site_manager = SiteManager.site_manager
        self.log = logging.getLogger("FileServer")
        ip = ip.replace("*", "0.0.0.0")

        if config.tor == "always":
            port = config.tor_hs_port
            config.fileserver_port = port
        elif port == 0:  # Use random port
            port_range_from, port_range_to = map(int, config.fileserver_port_range.split("-"))
            port = self.getRandomPort(ip, port_range_from, port_range_to)
            config.fileserver_port = port
            if not port:
                raise Exception("Can't find bindable port")
            if not config.tor == "always":
                config.saveValue("fileserver_port", port)  # Save random port value for next restart

        ConnectionServer.__init__(self, ip, port, self.handleRequest)

        if config.ip_external:  # Ip external defined in arguments
            self.port_opened = True
            SiteManager.peer_blacklist.append((config.ip_external, self.port))  # Add myself to peer blacklist
        else:
            self.port_opened = None  # Is file server opened on router
        self.upnp_port_opened = False
        self.sites = {}
        self.last_request = time.time()
        self.files_parsing = {}
        self.ui_server = None
Esempio n. 3
0
 def __init__(self):
     ConnectionServer.__init__(self, config.fileserver_ip, config.fileserver_port, self.handleRequest)
     if config.ip_external:  # Ip external definied in arguments
         self.port_opened = True
         SiteManager.peer_blacklist.append((config.ip_external, self.port))  # Add myself to peer blacklist
     else:
         self.port_opened = None  # Is file server opened on router
     self.sites = SiteManager.site_manager.list()
Esempio n. 4
0
	def __init__(self):
		ConnectionServer.__init__(self, config.fileserver_ip, config.fileserver_port, self.handleRequest)
		if config.ip_external: # Ip external definied in arguments
			self.port_opened = True
			SiteManager.peer_blacklist.append((config.ip_external, self.port)) # Add myself to peer blacklist
		else:
			self.port_opened = None # Is file server opened on router
		self.sites = SiteManager.site_manager.list()
Esempio n. 5
0
    def __init__(self,
                 ip=config.fileserver_ip,
                 port=config.fileserver_port,
                 ip_type=config.fileserver_ip_type):
        self.site_manager = SiteManager.site_manager
        self.portchecker = PeerPortchecker.PeerPortchecker(self)
        self.log = logging.getLogger("FileServer")
        self.ip_type = ip_type
        self.ip_external_list = []

        self.supported_ip_types = ["ipv4"]  # Outgoing ip_type support
        if helper.getIpType(ip) == "ipv6" or self.isIpv6Supported():
            self.supported_ip_types.append("ipv6")

        if ip_type == "ipv6" or (ip_type == "dual"
                                 and "ipv6" in self.supported_ip_types):
            ip = ip.replace("*", "::")
        else:
            ip = ip.replace("*", "0.0.0.0")

        if config.tor == "always":
            port = config.tor_hs_port
            config.fileserver_port = port
        elif port == 0:  # Use random port
            port_range_from, port_range_to = list(
                map(int, config.fileserver_port_range.split("-")))
            port = self.getRandomPort(ip, port_range_from, port_range_to)
            config.fileserver_port = port
            if not port:
                raise Exception("Can't find bindable port")
            if not config.tor == "always":
                config.saveValue(
                    "fileserver_port",
                    port)  # Save random port value for next restart
                config.arguments.fileserver_port = port

        ConnectionServer.__init__(self, ip, port, self.handleRequest)
        self.log.debug("Supported IP types: %s" % self.supported_ip_types)

        if ip_type == "dual" and ip == "::":
            # Also bind to ipv4 addres in dual mode
            try:
                self.log.debug("Binding proxy to %s:%s" % ("::", self.port))
                self.stream_server_proxy = StreamServer(
                    ("0.0.0.0", self.port),
                    self.handleIncomingConnection,
                    spawn=self.pool,
                    backlog=100)
            except Exception as err:
                self.log.info("StreamServer proxy create error: %s" %
                              Debug.formatException(err))

        self.port_opened = {}

        self.sites = self.site_manager.sites
        self.last_request = time.time()
        self.files_parsing = {}
        self.ui_server = None
Esempio n. 6
0
 def __init__(self, ip=config.fileserver_ip, port=config.fileserver_port):
     ConnectionServer.__init__(self, ip, port, self.handleRequest)
     if config.ip_external:  # Ip external defined in arguments
         self.port_opened = True
         SiteManager.peer_blacklist.append((config.ip_external, self.port))  # Add myself to peer blacklist
     else:
         self.port_opened = None  # Is file server opened on router
     self.sites = {}
     self.last_request = time.time()
     self.files_parsing = {}
Esempio n. 7
0
 def __init__(self, ip=config.fileserver_ip, port=config.fileserver_port):
     ConnectionServer.__init__(self, ip, port, self.handleRequest)
     if config.ip_external:  # Ip external defined in arguments
         self.port_opened = True
         SiteManager.peer_blacklist.append((config.ip_external, self.port))  # Add myself to peer blacklist
     else:
         self.port_opened = None  # Is file server opened on router
     self.sites = {}
     self.last_request = time.time()
     self.files_parsing = {}