aboutsummaryrefslogtreecommitdiff
path: root/broker
diff options
context:
space:
mode:
authorShelikhoo <xiaokangwang@outlook.com>2022-04-13 14:19:27 +0100
committerShelikhoo <xiaokangwang@outlook.com>2022-06-16 14:06:56 +0100
commit02c6f764c9f94cbbc7ef482d6db43fcb0e794996 (patch)
tree12163117aba88814ed2a880c142d317791cdebb8 /broker
parentc961b07459cd6fcc9ba40631e41a2108baf554d7 (diff)
downloadsnowflake-02c6f764c9f94cbbc7ef482d6db43fcb0e794996.tar.gz
snowflake-02c6f764c9f94cbbc7ef482d6db43fcb0e794996.zip
Add support for specifying bridge list file
Diffstat (limited to 'broker')
-rw-r--r--broker/broker.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/broker/broker.go b/broker/broker.go
index d9e8dea..476bc81 100644
--- a/broker/broker.go
+++ b/broker/broker.go
@@ -176,6 +176,7 @@ func main() {
var addr string
var geoipDatabase string
var geoip6Database string
+ var bridgeListFilePath, allowedRelayPattern string
var disableTLS bool
var certFilename, keyFilename string
var disableGeoip bool
@@ -190,6 +191,8 @@ func main() {
flag.StringVar(&addr, "addr", ":443", "address to listen on")
flag.StringVar(&geoipDatabase, "geoipdb", "/usr/share/tor/geoip", "path to correctly formatted geoip database mapping IPv4 address ranges to country codes")
flag.StringVar(&geoip6Database, "geoip6db", "/usr/share/tor/geoip6", "path to correctly formatted geoip database mapping IPv6 address ranges to country codes")
+ flag.StringVar(&bridgeListFilePath, "bridge-list-path", "", "file path for bridgeListFile")
+ flag.StringVar(&allowedRelayPattern, "allowed-relay-pattern", "", "allowed pattern for relay host name")
flag.BoolVar(&disableTLS, "disable-tls", false, "don't use HTTPS")
flag.BoolVar(&disableGeoip, "disable-geoip", false, "don't use geoip for stats collection")
flag.StringVar(&metricsFilename, "metrics-log", "", "path to metrics logging output")
@@ -222,6 +225,17 @@ func main() {
ctx := NewBrokerContext(metricsLogger)
+ if bridgeListFilePath != "" {
+ bridgeListFile, err := os.Open(bridgeListFilePath)
+ if err != nil {
+ log.Fatal(err.Error())
+ }
+ err = ctx.InstallBridgeListProfile(bridgeListFile, allowedRelayPattern)
+ if err != nil {
+ log.Fatal(err.Error())
+ }
+ }
+
if !disableGeoip {
err = ctx.metrics.LoadGeoipDatabases(geoipDatabase, geoip6Database)
if err != nil {