Use the mirror as a peer when there are few peers for a file.
[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 # Unload the packages cache after an interval of inactivity this long.
43 # The packages cache uses a lot of memory, and only takes a few seconds
44 # to reload when a new request arrives.
45 UNLOAD_PACKAGES_CACHE = 5m
46
47 # Refresh the DHT keys after this much time has passed.
48 # This should be a time slightly less than the DHT's KEY_EXPIRE value.
49 KEY_REFRESH = 57m
50
51 # Which DHT implementation to use.
52 # It must be possible to do "from <DHT>.DHT import DHT" to get a class that
53 # implements the IDHT interface. There should also be a similarly named
54 # section below to specify the options for the DHT.
55 DHT = apt_p2p_Khashmir
56
57 # Whether to only run the DHT (for providing only a bootstrap node)
58 DHT-ONLY = no
59
60 #######################  apt_p2p_Khashmir  ############################
61 # This is the default (included) DHT to use.
62 [apt_p2p_Khashmir]
63
64 # To specify a different (UDP) port for the DHT to use.
65 # If not specified here, the PORT value in the DEFAULT section will be used.
66 # PORT = 
67
68 # bootstrap nodes to contact to join the DHT
69 BOOTSTRAP = www.camrdale.org:9977
70             steveholt.hopto.org:9976
71
72 # whether this node is a bootstrap node
73 BOOTSTRAP_NODE = no
74
75 # Kademlia "K" constant, this should be an even number
76 K = 8
77
78 # SHA1 is 160 bits long
79 HASH_LENGTH = 160
80
81 # interval between saving the running state
82 CHECKPOINT_INTERVAL = 5m
83
84 # concurrent number of calls per find node/value request!
85 CONCURRENT_REQS = 4
86
87 # how many hosts to post values to
88 STORE_REDUNDANCY = 3
89
90 # How many values to attempt to retrieve from the DHT.
91 # Setting this to 0 will try and get all values (which could take a while if
92 # a lot of nodes have values). Setting it negative will try to get that
93 # number of results from only the closest STORE_REDUNDANCY nodes to the hash.
94 # The default is a large negative number so all values from the closest
95 # STORE_REDUNDANCY nodes will be retrieved.
96 RETRIEVE_VALUES = -10000
97
98 # how many times in a row a node can fail to respond before it's booted from the routing table
99 MAX_FAILURES = 3
100
101 # never ping a node more often than this
102 MIN_PING_INTERVAL = 15m
103
104 # refresh buckets that haven't been touched in this long
105 BUCKET_STALENESS = 1h
106
107 # expire unrefreshed entries older than this
108 KEY_EXPIRE = 1h
109
110 # whether to spew info about the requests/responses in the protocol
111 SPEW = no