X-Git-Url: https://git.mxchange.org/?p=quix0rs-apt-p2p.git;a=blobdiff_plain;f=apt_dht%2Fapt_dht_conf.py;h=42a3d38d3bdd002b0e5fc852ab807b7e4123d3a7;hp=5d591808ab2435c043db452bb1e6d6b5368ef3e5;hb=8f102eb1964db2ac18d4bac9e399c069a4cb616e;hpb=445f3b8084171babfb68e89441927c055eb9bf6f diff --git a/apt_dht/apt_dht_conf.py b/apt_dht/apt_dht_conf.py index 5d59180..42a3d38 100644 --- a/apt_dht/apt_dht_conf.py +++ b/apt_dht/apt_dht_conf.py @@ -16,34 +16,44 @@ if home == '${HOME}' or not os.path.isdir(home): home = os.path.expanduser('~') if not os.path.isdir(home): home = os.path.abspath(os.path.dirname(sys.argv[0])) +DEFAULT_CONFIG_FILES=['/etc/apt-dht/apt-dht.conf', + home + '/.apt-dht/apt-dht.conf'] DEFAULTS = { # Port to listen on for all requests (TCP and UDP) - 'port': '9977', + 'PORT': '9977', # Directory to store the downloaded files in - 'cache_dir': home + '/.apt-dht/cache', + 'CACHE_DIR': home + '/.apt-dht/cache', + + # Other directories containing packages to share with others + # WARNING: all files in these directories will be hashed and available + # for everybody to download + 'OTHER_DIRS': """""", # User name to try and run as - 'username': '', + 'USERNAME': '', + + # Whether it's OK to use an IP addres from a known local/private range + 'LOCAL_OK': 'no', # Which DHT implementation to use. - # It must be possile to do "from import DHT" to get a class that + # It must be possile to do "from .DHT import DHT" to get a class that # implements the IDHT interface. - 'DHT': 'apt_dht_Khashmir.DHT', + 'DHT': 'apt_dht_Khashmir', - # Whether to only run the DHT (for providing a login node) - 'DHT-only': 'no', + # Whether to only run the DHT (for providing only a bootstrap node) + 'DHT-ONLY': 'no', } DHT_DEFAULTS = { # bootstrap nodes to contact to join the DHT - 'bootstrap': """www.camrdale.org:9977 - steveholt.hopto.org:9977""", + 'BOOTSTRAP': """www.camrdale.org:9977 + steveholt.hopto.org:9976""", - # magic id to use before we know a peer's id - 'NULL_ID': 20 * '\0', + # whether this node is a bootstrap node + 'BOOTSTRAP_NODE': "no", # Kademlia "K" constant, this should be an even number 'K': '8', @@ -52,7 +62,7 @@ DHT_DEFAULTS = { 'HASH_LENGTH': '160', # checkpoint every this many seconds - 'CHECKPOINT_INTERVAL': '15m', # fifteen minutes + 'CHECKPOINT_INTERVAL': '5m', # five minutes ### SEARCHING/STORING # concurrent xmlrpc calls per find node/value request! @@ -80,6 +90,9 @@ DHT_DEFAULTS = { # expire entries older than this 'KE_AGE': '1h', # 60 minutes + + # whether to spew info about the requests/responses in the protocol + 'SPEW': 'yes', } class AptDHTConfigParser(SafeConfigParser): @@ -107,6 +120,8 @@ class AptDHTConfigParser(SafeConfigParser): return self.get(section,option) def getstringlist(self, section, option): return self.get(section,option).split() + def optionxform(self, option): + return option.upper() config = AptDHTConfigParser(DEFAULTS) config.add_section(config.get('DEFAULT', 'DHT'))