def doStunExternalIP(self, *args, **kwargs): """ Action method. """ lg.out(4, 'id_registrator.doStunExternalIP') if len(self.free_idurls) == 1: if self.free_idurls[0].count( b'localhost:') or self.free_idurls[0].count(b'127.0.0.1:'): # if you wish to create a local identity you do not need to stun external IP at all self.automat('stun-success', '127.0.0.1') return True def save(result): lg.out(4, ' external IP : %s' % result) if result['result'] != 'stun-success': self.automat('stun-failed') return ip = result['ip'] bpio.WriteTextFile(settings.ExternalIPFilename(), ip) self.automat('stun-success', ip) rnd_udp_port = random.randint( settings.DefaultUDPPort(), settings.DefaultUDPPort() + 500, ) rnd_dht_port = random.randint( settings.DefaultDHTPort(), settings.DefaultDHTPort() + 500, ) d = stun_client.safe_stun(udp_port=rnd_udp_port, dht_port=rnd_dht_port) d.addCallback(save) d.addErrback(lambda _: self.automat('stun-failed')) return True
def doStunExternalIP(self, *args, **kwargs): """ Action method. """ lg.out(4, 'identity_restorer.doStunExternalIP') def save(result): lg.out(4, ' external IP : %s' % result) if result['result'] != 'stun-success': self.automat('stun-failed') return ip = result['ip'] bpio.WriteTextFile(settings.ExternalIPFilename(), ip) self.automat('stun-success', ip) rnd_udp_port = random.randint( settings.DefaultUDPPort(), settings.DefaultUDPPort() + 500, ) rnd_dht_port = random.randint( settings.DefaultDHTPort(), settings.DefaultDHTPort() + 500, ) d = stun_client.safe_stun(udp_port=rnd_udp_port, dht_port=rnd_dht_port) d.addCallback(save) d.addErrback(lambda _: self.automat('stun-failed'))
def parseCommandLine(): oparser = optparse.OptionParser() oparser.add_option("-p", "--udpport", dest="udpport", type="int", help="specify UDP port for DHT network") oparser.set_default('udpport', settings.DefaultDHTPort()) oparser.add_option("-d", "--dhtdb", dest="dhtdb", help="specify DHT database file location") oparser.set_default('dhtdb', settings.DHTDBFile()) oparser.add_option("-s", "--seeds", dest="seeds", help="specify list of DHT seed nodes") oparser.set_default('seeds', '') oparser.add_option("-w", "--wait", dest="delayed", type="int", help="wait N seconds before join the network") oparser.set_default('delayed', 0) (options, args) = oparser.parse_args() return options, args
def parseCommandLine(): oparser = optparse.OptionParser() oparser.add_option("-p", "--udpport", dest="udpport", type="int", help="specify UDP port for DHT network") oparser.set_default('udpport', settings.DefaultDHTPort()) oparser.add_option("-d", "--dhtdb", dest="dhtdb", help="specify DHT database file location") oparser.set_default('dhtdb', settings.DHTDBFile()) (options, args) = oparser.parse_args() return options, args
def reset(conf_obj): """ Configure default values for all BitDust local settings inside ~/.bitdust/config/ folder. Every option must have a default value, however there are exceptions possible. Here all items suppose to have some widget in UI to interact with human. Keep it simple and understandable. """ from lib import diskspace from main import settings conf_obj.setDefaultValue('interface/api/auth-secret-enabled', 'true') conf_obj.setDefaultValue('interface/api/rest-http-enabled', 'true') conf_obj.setDefaultValue('interface/api/rest-http-port', settings.DefaultRESTHTTPPort()) conf_obj.setDefaultValue('interface/api/web-socket-enabled', 'true') conf_obj.setDefaultValue('interface/api/web-socket-port', settings.DefaultWebSocketPort()) conf_obj.setDefaultValue('interface/ftp/enabled', 'true') conf_obj.setDefaultValue('interface/ftp/port', settings.DefaultFTPPort()) conf_obj.setDefaultValue('logs/api-enabled', 'false') conf_obj.setDefaultValue('logs/automat-transitions-enabled', 'false') conf_obj.setDefaultValue('logs/automat-events-enabled', 'false') conf_obj.setDefaultValue('logs/debug-level', settings.defaultDebugLevel()) conf_obj.setDefaultValue('logs/memdebug-enabled', 'false') conf_obj.setDefaultValue('logs/memdebug-port', '9996') conf_obj.setDefaultValue('logs/memprofile-enabled', 'false') conf_obj.setDefaultValue('logs/packet-enabled', 'false') conf_obj.setDefaultValue('logs/stream-enabled', 'false') conf_obj.setDefaultValue('logs/stream-port', settings.DefaultWebLogPort()) conf_obj.setDefaultValue('logs/traffic-enabled', 'false') conf_obj.setDefaultValue('logs/traffic-port', settings.DefaultWebTrafficPort()) conf_obj.setDefaultValue('paths/backups', '') conf_obj.setDefaultValue('paths/customers', '') conf_obj.setDefaultValue('paths/messages', '') conf_obj.setDefaultValue('paths/receipts', '') conf_obj.setDefaultValue('paths/restore', '') conf_obj.setDefaultValue('personal/private-key-size', settings.DefaultPrivateKeySize()) conf_obj.setDefaultValue('services/accountant/enabled', 'false') conf_obj.setDefaultValue('services/backup-db/enabled', 'true') conf_obj.setDefaultValue('services/backups/enabled', 'true') conf_obj.setDefaultValue( 'services/backups/block-size', diskspace.MakeStringFromBytes(settings.DefaultBackupBlockSize())) conf_obj.setDefaultValue( 'services/backups/max-block-size', diskspace.MakeStringFromBytes(settings.DefaultBackupMaxBlockSize())) conf_obj.setDefaultValue('services/backups/max-copies', '2') conf_obj.setDefaultValue('services/backups/keep-local-copies-enabled', 'true') conf_obj.setDefaultValue('services/backups/wait-suppliers-enabled', 'true') conf_obj.setDefaultValue('services/blockchain/enabled', 'false') conf_obj.setDefaultValue('services/blockchain/host', '127.0.0.1') conf_obj.setDefaultValue('services/blockchain/port', 9100) conf_obj.setDefaultValue('services/blockchain/seeds', '') conf_obj.setDefaultValue('services/blockchain/explorer/enabled', 'true') conf_obj.setDefaultValue('services/blockchain/explorer/port', 9180) conf_obj.setDefaultValue('services/blockchain/wallet/enabled', 'true') conf_obj.setDefaultValue('services/blockchain/wallet/port', 9280) conf_obj.setDefaultValue('services/blockchain/miner/enabled', 'false') conf_obj.setDefaultValue('services/broadcasting/enabled', 'false') conf_obj.setDefaultValue('services/broadcasting/routing-enabled', 'false') conf_obj.setDefaultValue('services/broadcasting/max-broadcast-connections', '3') conf_obj.setDefaultValue('services/contract-chain/enabled', 'false') conf_obj.setDefaultValue('services/customer/enabled', 'true') conf_obj.setDefaultValue( 'services/customer/needed-space', diskspace.MakeStringFromBytes(settings.DefaultNeededBytes())) conf_obj.setDefaultValue('services/customer/suppliers-number', settings.DefaultDesiredSuppliers()) conf_obj.setDefaultValue('services/customer-contracts/enabled', 'false') conf_obj.setDefaultValue('services/customer-family/enabled', 'true') conf_obj.setDefaultValue('services/customer-patrol/enabled', 'true') conf_obj.setDefaultValue('services/customer-patrol/customer-idle-days', 14) conf_obj.setDefaultValue('services/customer-support/enabled', 'true') conf_obj.setDefaultValue('services/data-disintegration/enabled', 'true') conf_obj.setDefaultValue('services/data-motion/enabled', 'true') conf_obj.setDefaultValue( 'services/data-motion/supplier-request-queue-size', 4) conf_obj.setDefaultValue( 'services/data-motion/supplier-sending-queue-size', 4) conf_obj.setDefaultValue('services/entangled-dht/enabled', 'true') conf_obj.setDefaultValue('services/entangled-dht/udp-port', settings.DefaultDHTPort()) conf_obj.setDefaultValue('services/entangled-dht/known-nodes', '') conf_obj.setDefaultValue('services/entangled-dht/attached-layers', '') conf_obj.setDefaultValue('services/employer/enabled', 'true') conf_obj.setDefaultValue( 'services/employer/replace-critically-offline-enabled', 'true') conf_obj.setDefaultValue('services/employer/candidates', '') conf_obj.setDefaultValue('services/gateway/enabled', 'true') conf_obj.setDefaultValue('services/http-connections/enabled', 'false') conf_obj.setDefaultValue('services/http-connections/http-port', settings.DefaultHTTPPort()) conf_obj.setDefaultValue('services/http-transport/enabled', 'false') # not done yet conf_obj.setDefaultValue('services/http-transport/receiving-enabled', 'true') conf_obj.setDefaultValue('services/http-transport/sending-enabled', 'true') conf_obj.setDefaultValue('services/http-transport/priority', 50) conf_obj.setDefaultValue('services/identity-server/enabled', 'false') conf_obj.setDefaultValue('services/identity-server/host', '') conf_obj.setDefaultValue('services/identity-server/tcp-port', settings.IdentityServerPort()) conf_obj.setDefaultValue('services/identity-server/web-port', settings.IdentityWebPort()) conf_obj.setDefaultValue('services/identity-propagate/enabled', 'true') conf_obj.setDefaultValue('services/identity-propagate/known-servers', '') conf_obj.setDefaultValue('services/identity-propagate/preferred-servers', '') conf_obj.setDefaultValue('services/identity-propagate/min-servers', 2) conf_obj.setDefaultValue('services/identity-propagate/max-servers', 5) conf_obj.setDefaultValue( 'services/identity-propagate/automatic-rotate-enabled', 'true') conf_obj.setDefaultValue( 'services/identity-propagate/health-check-interval-seconds', 60 * 5) conf_obj.setDefaultValue('services/ip-port-responder/enabled', 'true') conf_obj.setDefaultValue('services/keys-registry/enabled', 'true') conf_obj.setDefaultValue('services/keys-storage/enabled', 'true') conf_obj.setDefaultValue( 'services/keys-storage/reset-unreliable-backup-copies', 'true') conf_obj.setDefaultValue('services/list-files/enabled', 'true') conf_obj.setDefaultValue('services/message-broker/enabled', 'false') conf_obj.setDefaultValue('services/message-broker/archive-chunk-size', 100) conf_obj.setDefaultValue('services/message-broker/message-ack-timeout', 30) conf_obj.setDefaultValue( 'services/message-broker/broker-negotiate-ack-timeout', 30) conf_obj.setDefaultValue('services/message-broker/preferred-brokers', '') conf_obj.setDefaultValue('services/message-history/enabled', 'true') conf_obj.setDefaultValue('services/miner/enabled', 'false') conf_obj.setDefaultValue('services/my-data/enabled', 'true') conf_obj.setDefaultValue('services/my-ip-port/enabled', 'true') conf_obj.setDefaultValue('services/network/enabled', 'true') conf_obj.setDefaultValue('services/network/proxy/enabled', 'false') conf_obj.setDefaultValue('services/network/proxy/host', '') conf_obj.setDefaultValue('services/network/proxy/password', '') conf_obj.setDefaultValue('services/network/proxy/port', '') conf_obj.setDefaultValue('services/network/proxy/ssl', 'false') conf_obj.setDefaultValue('services/network/proxy/username', '') conf_obj.setDefaultValue('services/network/receive-limit', settings.DefaultBandwidthInLimit()) conf_obj.setDefaultValue('services/network/send-limit', settings.DefaultBandwidthOutLimit()) conf_obj.setDefaultValue('services/nodes-lookup/enabled', 'true') conf_obj.setDefaultValue('services/p2p-hookups/enabled', 'true') conf_obj.setDefaultValue('services/p2p-notifications/enabled', 'true') conf_obj.setDefaultValue('services/personal-messages/enabled', 'true') conf_obj.setDefaultValue('services/private-groups/enabled', 'true') conf_obj.setDefaultValue('services/private-groups/message-ack-timeout', 30) conf_obj.setDefaultValue('services/private-groups/broker-connect-timeout', 120) conf_obj.setDefaultValue('services/private-groups/preferred-brokers', '') conf_obj.setDefaultValue('services/private-messages/enabled', 'true') conf_obj.setDefaultValue( 'services/private-messages/acknowledge-unread-messages-enabled', 'true') conf_obj.setDefaultValue('services/proxy-server/enabled', 'false') conf_obj.setDefaultValue('services/proxy-server/routes-limit', 20) conf_obj.setDefaultValue('services/proxy-server/current-routes', '{}') conf_obj.setDefaultValue('services/proxy-transport/enabled', 'true') conf_obj.setDefaultValue('services/proxy-transport/sending-enabled', 'true') conf_obj.setDefaultValue('services/proxy-transport/receiving-enabled', 'true') conf_obj.setDefaultValue('services/proxy-transport/priority', 100) conf_obj.setDefaultValue('services/proxy-transport/preferred-routers', '') # conf_obj.setDefaultValue('services/proxy-transport/router-lifetime-seconds', 600) # TODO: those two settings needs to be removed. # if service require storing locally value which user should not modify be implemented # inside service (for example read/write to local file inside ~/.bitdust/*/ folder) # in the future we can split all files more structural way into ~/.bitdust/services/*/ sub folders conf_obj.setDefaultValue('services/proxy-transport/my-original-identity', '') conf_obj.setDefaultValue('services/proxy-transport/current-router', '') conf_obj.setDefaultValue('services/rebuilding/enabled', 'true') conf_obj.setDefaultValue('services/restores/enabled', 'true') conf_obj.setDefaultValue('services/shared-data/enabled', 'true') conf_obj.setDefaultValue('services/supplier/enabled', 'true') conf_obj.setDefaultValue( 'services/supplier/donated-space', diskspace.MakeStringFromBytes(settings.DefaultDonatedBytes())) conf_obj.setDefaultValue('services/supplier-contracts/enabled', 'false') conf_obj.setDefaultValue('services/tcp-connections/enabled', 'true') conf_obj.setDefaultValue('services/tcp-connections/tcp-port', settings.DefaultTCPPort()) conf_obj.setDefaultValue('services/tcp-connections/upnp-enabled', 'true') conf_obj.setDefaultValue('services/tcp-transport/enabled', 'true') conf_obj.setDefaultValue('services/tcp-transport/receiving-enabled', 'true') conf_obj.setDefaultValue('services/tcp-transport/sending-enabled', 'true') conf_obj.setDefaultValue('services/tcp-transport/priority', 10) conf_obj.setDefaultValue('services/udp-datagrams/enabled', 'true') conf_obj.setDefaultValue('services/udp-datagrams/udp-port', settings.DefaultUDPPort()) # TODO: UDP transport was temporary switched off conf_obj.setDefaultValue('services/udp-transport/enabled', 'false') conf_obj.setDefaultValue('services/udp-transport/receiving-enabled', 'true') conf_obj.setDefaultValue('services/udp-transport/sending-enabled', 'true') conf_obj.setDefaultValue('services/udp-transport/priority', 20)