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 <DHT> import DHT" to get a class that
+ # It must be possile to do "from <DHT>.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',
# 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):
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'))