Exemple #1
0
    def do_exec(self):

        if not self.exec_():
            return

        host = str(self.server_host.text())
        port = str(self.server_port.text())
        protocol = 's' if self.ssl_cb.isChecked() else 't'
        # sanitize
        try:
            deserialize_server(serialize_server(host, port, protocol))
        except:
            return

        if self.proxy_mode.currentText() != 'NONE':
            proxy = {
                'mode': str(self.proxy_mode.currentText()).lower(),
                'host': str(self.proxy_host.text()),
                'port': str(self.proxy_port.text())
            }
        else:
            proxy = None

        auto_connect = self.autoconnect_cb.isChecked()

        self.network.set_parameters(host, port, protocol, proxy, auto_connect)
        return True
Exemple #2
0
    def accept(self):
        host = str(self.server_host.text())
        port = str(self.server_port.text())
        protocol = 's' if self.ssl_cb.isChecked() else 't'
        # sanitize
        try:
            deserialize_server(serialize_server(host, port, protocol))
        except:
            return

        if self.proxy_mode.currentText() != 'NONE':
            proxy = {
                'mode': str(self.proxy_mode.currentText()).lower(),
                'host': str(self.proxy_host.text()),
                'port': str(self.proxy_port.text()),
                'user': str(self.proxy_user.text()),
                'password': str(self.proxy_password.text())
            }
        else:
            proxy = None

        auto_connect = self.autoconnect_cb.isChecked()

        self.network.set_parameters(host, port, protocol, proxy, auto_connect)
        self.config.set_key('checkpoint_height', self.checkpoint_height)
        self.config.set_key('checkpoint_value', self.checkpoint_value)
Exemple #3
0
    def do_exec(self):

        if not self.exec_():
            return

        host = str(self.server_host.text())
        port = str(self.server_port.text())
        protocol = 's' if self.ssl_cb.isChecked() else 't'
        # sanitize
        try:
            deserialize_server(serialize_server(host, port, protocol))
        except:
            return

        if self.proxy_mode.currentText() != 'NONE':
            proxy = { 'mode':str(self.proxy_mode.currentText()).lower(),
                      'host':str(self.proxy_host.text()),
                      'port':str(self.proxy_port.text()) }
        else:
            proxy = None

        auto_connect = self.autoconnect_cb.isChecked()

        self.network.set_parameters(host, port, protocol, proxy, auto_connect)
        return True
Exemple #4
0
    def update(self, servers, protocol, use_tor):
        self.clear()
        for _host, d in sorted(servers.items()):
            if _host.endswith('.onion') and not use_tor:
                continue
            port = d.get(protocol)
            if port:
                x = QTreeWidgetItem([_host, port])
                server = serialize_server(_host, port, protocol)
                x.setData(1, Qt.UserRole, server)
                self.addTopLevelItem(x)

        h = self.header()
        h.setStretchLastSection(False)
        h.setSectionResizeMode(0, QHeaderView.Stretch)
        h.setSectionResizeMode(1, QHeaderView.ResizeToContents)
Exemple #5
0
    def update(self, servers, protocol, use_tor):
        self.clear()
        for _host, d in sorted(servers.items()):
            if _host.endswith('.onion') and not use_tor:
                continue
            port = d.get(protocol)
            if port:
                x = QTreeWidgetItem([_host, port])
                server = serialize_server(_host, port, protocol)
                x.setData(1, Qt.UserRole, server)
                self.addTopLevelItem(x)

        h = self.header()
        h.setStretchLastSection(False)
        h.setSectionResizeMode(0, QHeaderView.Stretch)
        h.setSectionResizeMode(1, QHeaderView.ResizeToContents)
Exemple #6
0
    def accept(self):
        host = str(self.server_host.text())
        port = str(self.server_port.text())
        protocol = "s" if self.ssl_cb.isChecked() else "t"
        # sanitize
        try:
            deserialize_server(serialize_server(host, port, protocol))
        except:
            return

        if self.proxy_mode.currentText() != "NONE":
            proxy = {
                "mode": str(self.proxy_mode.currentText()).lower(),
                "host": str(self.proxy_host.text()),
                "port": str(self.proxy_port.text()),
            }
        else:
            proxy = None

        auto_connect = self.autoconnect_cb.isChecked()

        self.network.set_parameters(host, port, protocol, proxy, auto_connect)
    def refresh(self) -> None:
        utils.NSLog("NETOWRK VC UPDATE, isMainThread = %s",
                    str(NSThread.currentThread.isMainThread))
        if not parent() or not parent().daemon or not parent().daemon.network:
            utils.NSLog(
                "NetworkDialogVC: No network defined, returning early from refresh"
            )
            return
        if not parent().networkVC or not self.viewIfLoaded:
            utils.NSLog(
                "NetworkDialogVC: Returning early, view has been deallocated")
            return
        network = parent().daemon.network
        chains = network.get_blockchains()
        n_chains = len(chains)
        net_params = network.get_parameters()
        self.hostTF.text = str(net_params.host)
        self.portTF.text = str(net_params.port)
        self.lastPort = at(int(net_params.port))
        self.autoServerSW.on = bool(net_params.auto_connect)

        host = network.interface.host if network.interface else _('None')
        self.serverLbl.text = str(host)

        # self.set_protocol(protocol)
        self.protocol = net_params.protocol
        servers_orig = network.get_servers()
        servers = []
        if servers_orig: servers_orig = sorted(servers_orig.items())
        use_tor = False
        for s in servers_orig:
            # filter out tor and servers with no port on our protocol
            host, d = s
            if host.endswith('.onion') and not use_tor:
                continue
            if d.get(self.protocol, None):
                ser_server = serialize_server(host, d.get(self.protocol),
                                              self.protocol)
                servers.append((host, d, ser_server))
        utils.nspy_put_byname(self, servers, 'servers')
        self.peersTV.reloadData()
        self.updateAutoServerSWStuff()

        height_str = "%d " % (network.get_local_height()) + _('blocks')
        self.heightLbl.text = str(height_str)
        n = len(network.get_interfaces())
        status = _("Connected to %d nodes.") % n if n else _("Not connected")
        self.statusLbl.text = str(status)
        if len(chains) > 1:
            chain = network.blockchain()
            checkpoint = chain.get_checkpoints()
            name = chain.get_name()
            msg = _('Chain split detected at block %d') % checkpoint + '\n'
            msg += (_('You are following branch') if net_params.auto_connect
                    else _('Your server is on branch')) + ' ' + name
            msg += ' (%d %s)' % (chain.get_branch_size(), _('blocks'))
        else:
            msg = ''
        utils.uilabel_replace_attributed_text(self.splitLbl, msg,
                                              self.splitAttrTxtOrig)

        # setup 'connected' data -- list of ConnData items
        #connected = []
        #       for k, items in chains.items():
        #            b = network.blockchain[k]
        #            name = b.get_name()
        #            secHeader = _("Connected node") + ", " + _("Height")
        #            secItems = list()
        #            extraData = None
        #            if n_chains > 1:
        #                secHeader = "(" + (name + '@%d' % b.get_checkpoint()) + ") " + _("Host") + ", " + _("Height")
        #                extraData = [False, b.checkpoint, name]
        #            for i in items:
        #                star = ' *' if i == network.interface else ''
        #                extraData = [True, i.server, '']  # if n_chains <= 1 else extraData
        #                item = [i.host + star, '%d' % i.tip, extraData]
        #                secItems.append(item)
        #            section = ConnData(secHeader, secItems)
        #            connected.append(section)
        #        utils.nspy_put_byname(self, connected, 'connected')

        self.connectedTV.reloadData()