bridgedb.conf 5.75 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
18

# Logfile rotation settings
LOGFILE_COUNT = 5
LOGFILE_ROTATE_SIZE = 10000000

19
# One of "DEBUG", "INFO", "WARNING", "ERROR"...
aagbsn's avatar
aagbsn committed
20
LOGLEVEL = "WARNING"
21

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

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

29
30
31
# Either a file that contains blocked bridges list or None
#COUNTRY_BLOCK_FILE = "./blocked-bridges" 

32
33
34
35
36
37
38
39
40
# 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"

41
42
43
# File to which we dump bridge pool assignments for statistics.
ASSIGNMENTS_FILE = "assignments.log"

44
# How many clusters do we group IPs in when distributing bridges based on IP?
45
46
47
# 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.
48
49
N_IP_CLUSTERS = 4

50
51
52
53
# 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) ]

54
55
56
57
58
59
60
61
62
# 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 = [ ]

63
64
65
#==========
# Options related to HTTPS

66
# True if we are enabling distribution via HTTP or HTTPS; False otherwise.
67
68
69
70
71
72
73
74
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
75
HTTPS_PORT=3443
76
77
78
79
# Certificate file
HTTPS_CERT_FILE="cert"
# Private key file.
HTTPS_KEY_FILE="privkey.pem"
80
81
82
83
84
# 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.
85
86
HTTP_UNENCRYPTED_BIND_IP=None
HTTP_UNENCRYPTED_PORT=None
87
88
# As HTTPS_USE_IP_FROM_FORWARDED_HEADER, but for unencrypted connections.
HTTP_USE_IP_FROM_FORWARDED_HEADER = False
89
# How many bridges do we give back in an answer?
Roger Dingledine's avatar
Roger Dingledine committed
90
HTTPS_N_BRIDGES_PER_ANSWER=3
91

92
93
94
95
# 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

96
97
98
#==========
# Options related to Email

99
# True if we are enabling distribution via Email; false otherwise.
100
101
102
103
EMAIL_DIST = True
# What proportion of bridges do we allocate to Email distribution?  See
# HTTPS_SHARE and RESERVED_SHARE.
EMAIL_SHARE=10
104

Roger Dingledine's avatar
Roger Dingledine committed
105
# What email addresses do we use for outgoing email?  EMAIL_FROM_ADDR goes
106
107
108
109
# 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
110
111
EMAIL_SMTP_HOST = "127.0.0.1"
EMAIL_SMTP_PORT = 25
112

113
114
115
# Reject any RCPT TO lines that aren't to this user.
EMAIL_USERNAME = "bridges"

116
117
118
119
120
121
# 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",
                     }
122
123
124
# Map from canonical domain to list of options for that domain.  Recognized
# options are:
#     "ignore_dots" -- the service ignores "." characters in email addresses.
125
126
#     "dkim" -- if there is not a X-DKIM-Authentication-Result header
#        with the value "pass", then drop the message.
127
128
#
# Note that unrecognized options are ignored; be sure to spell them right!
129
130
EMAIL_DOMAIN_RULES = { 'gmail.com' : ["ignore_dots", "dkim"],
                       'yahoo.com' : ["dkim"]
131
                       }
132
# If there are any IPs in this list, only allow incoming connections from
133
134
135
# those IPs.
EMAIL_RESTRICT_IPS=[]
# IP and port to listen on for email connections. Debugging only.
136
EMAIL_BIND_IP="127.0.0.1"
137
EMAIL_PORT=6725
Roger Dingledine's avatar
Roger Dingledine committed
138
# How many bridges do we give back in an answer?
139
EMAIL_N_BRIDGES_PER_ANSWER=3
140

141
142
143
144
# 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

145
146
147
148
149
150
151
#==========
# 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
152
# to these groups in a proportion of
153
154
155
#   HTTPS_SHARE : EMAIL_SHARE : RESERVED_SHARE
RESERVED_SHARE=2

156
FILE_BUCKETS = {}
aagbsn's avatar
aagbsn committed
157
158
159
160
161
162
163

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