Final version of INFOCOM paper.
[quix0rs-apt-p2p.git] / apt-p2p.conf
1 # The apt-p2p configuration file.
2 #
3 # This is an ini-type configuration file, using sections identified by
4 # square brackets. Values are specified on a single line using the '='
5 # sign. Some values indicate times, in which case a suffix of 'd' for
6 # days, 'h' for hours, 'm' for minutes, and 's' for seconds can be used.
7 # Some values can span multiple lines by starting the subsequent lines
8 # with one or more spaces.
9 #
10 #########################  DEFAULT  ###################################
11 # This is the default section containing the configuration options for the
12 # main application.
13 [DEFAULT]
14
15 # The number of the port to listen on for requests.
16 # The main application will use this TCP port to listen for requests from APT, and
17 # for uploads to other peers. If a port is not specified for the DHT, it will also
18 # use this UDP port to listen for DHT requests.
19 PORT = 9977
20
21 # The rate to limit sending data to peers to, in KBytes/sec.
22 # Set this to 0 to not limit the upload bandwidth.
23 UPLOAD_LIMIT = 0
24
25 # The minimum number of peers before the mirror is not used.
26 # If there are fewer peers than this for a file, the mirror will also be
27 # used to speed up the download. Set to 0 to never use the mirror if
28 # there are peers.
29 MIN_DOWNLOAD_PEERS = 3
30
31 # Directory to store the downloaded files in
32 CACHE_DIR = /var/cache/apt-p2p
33     
34 # Other directories containing packages to share with others
35 # WARNING: all files in these directories will be hashed and available
36 #          for everybody to download
37 # OTHER_DIRS = 
38     
39 # Whether it's OK to use an IP address from a known local/private range
40 LOCAL_OK = no
41
42 # Whether a remote peer can access the statistics page
43 REMOTE_STATS = yes
44
45 # Unload the packages cache after an interval of inactivity this long.
46 # The packages cache uses a lot of memory, and only takes a few seconds
47 # to reload when a new request arrives.
48 UNLOAD_PACKAGES_CACHE = 5m
49
50 # Refresh the DHT keys after this much time has passed.
51 # This should be a time slightly less than the DHT's KEY_EXPIRE value.
52 KEY_REFRESH = 2.5h
53
54 # The user name to try and run as (leave blank to run as current user)
55 USERNAME = apt-p2p
56
57 # Which DHT implementation to use.
58 # It must be possible to do "from <DHT>.DHT import DHT" to get a class that
59 # implements the IDHT interface. There should also be a similarly named
60 # section below to specify the options for the DHT.
61 DHT = apt_p2p_Khashmir
62
63 # Whether to only run the DHT (for providing only a bootstrap node)
64 DHT-ONLY = no
65
66 #######################  apt_p2p_Khashmir  ############################
67 # This is the default (included) DHT to use.
68 [apt_p2p_Khashmir]
69
70 # To specify a different (UDP) port for the DHT to use.
71 # If not specified here, the PORT value in the DEFAULT section will be used.
72 # PORT = 
73
74 # bootstrap nodes to contact to join the DHT
75 BOOTSTRAP = www.camrdale.org:9977
76             www.camrdale.org:9976
77             steveholt.hopto.org:9976
78
79 # whether this node is a bootstrap node
80 BOOTSTRAP_NODE = no
81
82 # interval between saving the running state
83 CHECKPOINT_INTERVAL = 5m
84
85 # concurrent number of calls per find node/value request!
86 CONCURRENT_REQS = 8
87
88 # how many hosts to post values to
89 STORE_REDUNDANCY = 6
90
91 # How many values to attempt to retrieve from the DHT.
92 # Setting this to 0 will try and get all values (which could take a while if
93 # a lot of nodes have values). Setting it negative will try to get that
94 # number of results from only the closest STORE_REDUNDANCY nodes to the hash.
95 # The default is a large negative number so all values from the closest
96 # STORE_REDUNDANCY nodes will be retrieved.
97 RETRIEVE_VALUES = -10000
98
99 # how many times in a row a node can fail to respond before it's booted from the routing table
100 MAX_FAILURES = 3
101
102 # never ping a node more often than this
103 MIN_PING_INTERVAL = 15m
104
105 # refresh buckets that haven't been touched in this long
106 BUCKET_STALENESS = 1h
107
108 # Whether it's OK to add nodes to the routing table that use an IP
109 # address from a known local/private range.
110 # If not specified here, the LOCAL_OK value in the DEFAULT section will be used.
111 # LOCAL_OK = no
112
113 # expire unrefreshed entries older than this
114 KEY_EXPIRE = 3h
115
116 # Timeout KRPC requests to nodes after this time.
117 KRPC_TIMEOUT = 9s
118
119 # KRPC requests are resent using exponential backoff starting with this delay.
120 # The request will first be resent after the delay set here.
121 # The request will be resent again after twice the delay set here. etc.
122 # e.g. if TIMEOUT is 9 sec., and INITIAL_DELAY is 2 sec., then requests will
123 # be resent at times 0, 2 (2 sec. later), and 6 (4 sec. later), and then will
124 # timeout at 9.
125 KRPC_INITIAL_DELAY = 2s
126
127 # whether to spew info about the requests/responses in the protocol
128 SPEW = no