bridgedb.conf 6.07 KB
Newer Older
1
2
3
4
5
6
7
8

#==========
# General-purpose options.

# We chdir to this directory when we start; all files with relative
# pathnames are created under this directory
RUN_IN_DIR = "~/run/"

9
10
11
# Either a file in which to write our pid, or None
PIDFILE = "bridgedb.pid"

12
13
# Either a file to log to, or None if we should log to the console.
LOGFILE = "bridgedb.log"
aagbsn's avatar
aagbsn committed
14

15
16
17
# If true, we scrub all potentially identifying information before we log it
SAFELOGGING = True

aagbsn's avatar
aagbsn committed
18
19
20
21
# Logfile rotation settings
LOGFILE_COUNT = 5
LOGFILE_ROTATE_SIZE = 10000000

22
# One of "DEBUG", "INFO", "WARNING", "ERROR"...
aagbsn's avatar
aagbsn committed
23
LOGLEVEL = "WARNING"
24

Roger Dingledine's avatar
Roger Dingledine committed
25
# Files from which we read bridge descriptors, on start and on SIGHUP.
26
27
28
29
30
BRIDGE_FILES = [ "./bridge-descriptors" ]

# File from which we read routerstatus entries, for learning which
# current bridges are Running.
STATUS_FILE = "networkstatus-bridges"
31

32
33
34
# Either a file that contains blocked bridges list or None
#COUNTRY_BLOCK_FILE = "./blocked-bridges" 

35
36
37
38
# File from which we read extra-info entries, for learning pluggable
# transports
EXTRA_INFO_FILE = "extra-infos"

39
40
41
42
43
44
45
46
47
# Only consider routers whose purpose matches this string.
BRIDGE_PURPOSE = "bridge"
# File to store persistent info in.
DB_FILE = "./bridgedist.db"
# File to log changes to persistent info in.  For debugging and bugfixing.
DB_LOG_FILE = "./bridgedist.log"
# File in which we store our secret HMAC root key.
MASTER_KEY_FILE = "./secret_key"

48
49
50
# File to which we dump bridge pool assignments for statistics.
ASSIGNMENTS_FILE = "assignments.log"

51
# How many clusters do we group IPs in when distributing bridges based on IP?
52
53
54
# Note that if PROXY_LIST_FILES is set (below), what we actually do here
# is use one higher than the number here, and the extra cluster is used
# for answering requests made by IP addresses in the PROXY_LIST_FILES file.
55
56
N_IP_CLUSTERS = 4

57
58
59
60
# If possible, always give a certain number of answers with a given ORPort.
# This is a list of (port,minimum) tuples.
FORCE_PORTS = [ (443, 1) ]

61
62
63
64
65
66
67
68
69
# If possible, always give a certain number of answers with a given flag.
# Only "stable" is now supported.  This is a list of (flag,minimum) tuples.
FORCE_FLAGS = [ ("Stable", 1) ]

# A list of filenames that contain IP addresses (one per line) of proxies.
# All IP-based distributors that see an incoming connection from a proxy
# will treat them specially.
PROXY_LIST_FILES = [ ]

70
71
72
#==========
# Options related to HTTPS

73
# True if we are enabling distribution via HTTP or HTTPS; False otherwise.
74
75
76
77
78
79
80
81
HTTPS_DIST = True
# What proportion of bridges do we allocate to HTTP distribution?  See
# EMAIL_SHARE and RESERVED_SHARE.
HTTPS_SHARE=10
# An IP address (form "1.2.3.4") where we listen for HTTPS connections.
# "None" to listen on the default interface.
HTTPS_BIND_IP=None
# Port to listen on for incoming HTTPS connections
82
HTTPS_PORT=3443
83
84
85
86
# Certificate file
HTTPS_CERT_FILE="cert"
# Private key file.
HTTPS_KEY_FILE="privkey.pem"
87
88
89
90
91
# If true, there is a trusted proxy relaying incoming messages to us: take
# the *last* entry from its X-Forwarded-For header as the client's IP.
HTTPS_USE_IP_FROM_FORWARDED_HEADER = False

# IP and port to listen on for unencrypted HTTP connections.
92
93
HTTP_UNENCRYPTED_BIND_IP=None
HTTP_UNENCRYPTED_PORT=None
94
95
# As HTTPS_USE_IP_FROM_FORWARDED_HEADER, but for unencrypted connections.
HTTP_USE_IP_FROM_FORWARDED_HEADER = False
96
# How many bridges do we give back in an answer?
Roger Dingledine's avatar
Roger Dingledine committed
97
HTTPS_N_BRIDGES_PER_ANSWER=3
98

99
100
101
102
# Should we tell http users about the bridge fingerprints?  Turn this on
# once we have the vidalia/tor interaction fixed for everbody.
HTTPS_INCLUDE_FINGERPRINTS=False

103
104
105
#==========
# Options related to Email

106
# True if we are enabling distribution via Email; false otherwise.
107
108
109
110
EMAIL_DIST = True
# What proportion of bridges do we allocate to Email distribution?  See
# HTTPS_SHARE and RESERVED_SHARE.
EMAIL_SHARE=10
111

Roger Dingledine's avatar
Roger Dingledine committed
112
# What email addresses do we use for outgoing email?  EMAIL_FROM_ADDR goes
113
114
115
116
# in the From: line in outgoing headers, and EMAIL_SMTP_FROM_ADDR goes in
# the MAIL FROM header in outgoing SMTP.
EMAIL_FROM_ADDR = "bridges@torproject.org"
EMAIL_SMTP_FROM_ADDR = "bridges@torproject.org"
aagbsn's avatar
aagbsn committed
117
118
EMAIL_SMTP_HOST = "127.0.0.1"
EMAIL_SMTP_PORT = 25
119

120
121
122
# Reject any RCPT TO lines that aren't to this user.
EMAIL_USERNAME = "bridges"

123
124
125
126
127
128
# Canonical versions of domains that we will reply to.
EMAIL_DOMAINS = [ "gmail.com", "yahoo.com" ]
# Map from unofficial domain to canonical domain.
EMAIL_DOMAIN_MAP = { "mail.google.com" : "gmail.com",
                     "googlemail.com" : "gmail.com",
                     }
129
130
131
# Map from canonical domain to list of options for that domain.  Recognized
# options are:
#     "ignore_dots" -- the service ignores "." characters in email addresses.
132
133
#     "dkim" -- if there is not a X-DKIM-Authentication-Result header
#        with the value "pass", then drop the message.
134
135
#
# Note that unrecognized options are ignored; be sure to spell them right!
136
137
EMAIL_DOMAIN_RULES = { 'gmail.com' : ["ignore_dots", "dkim"],
                       'yahoo.com' : ["dkim"]
138
                       }
139
# If there are any IPs in this list, only allow incoming connections from
140
141
142
# those IPs.
EMAIL_RESTRICT_IPS=[]
# IP and port to listen on for email connections. Debugging only.
143
EMAIL_BIND_IP="127.0.0.1"
144
EMAIL_PORT=6725
Roger Dingledine's avatar
Roger Dingledine committed
145
# How many bridges do we give back in an answer?
146
EMAIL_N_BRIDGES_PER_ANSWER=3
147

148
149
150
151
# Should we tell http users about the bridge fingerprints?  Turn this on
# once we have the vidalia/tor interaction fixed for everbody.
EMAIL_INCLUDE_FINGERPRINTS=False

152
153
154
155
# Configuration options for GPG signed messages
EMAIL_GPG_SIGNING_ENABLED = False
EMAIL_GPG_SIGNING_KEY = ''

156
157
158
159
160
161
162
#==========
# Options related to unallocated bridges.

# We split bridges into a group accessible by HTTPS queries; a group
# accessible by email queries; and a group that we don't assign to any
# query mechanism.  Once a bridge is assigned to either of the first
# two groups, it stays there persistently.  The bridges are allocated
Roger Dingledine's avatar
Roger Dingledine committed
163
# to these groups in a proportion of
164
165
166
#   HTTPS_SHARE : EMAIL_SHARE : RESERVED_SHARE
RESERVED_SHARE=2

167
FILE_BUCKETS = {}
aagbsn's avatar
aagbsn committed
168
169
170
171
172
173
174

# Options related to recaptcha support.
# Enable/Disable recaptcha
RECAPTCHA_ENABLED = False
# Recaptcha API keys
RECAPTCHA_PUB_KEY = ''
RECAPTCHA_PRIV_KEY = ''