Add support for specifying bridge list file

This commit is contained in:
Shelikhoo 2022-04-13 14:19:27 +01:00
parent c961b07459
commit 02c6f764c9
No known key found for this signature in database
GPG key ID: C4D5E79D22B25316

View file

@ -176,6 +176,7 @@ func main() {
var addr string var addr string
var geoipDatabase string var geoipDatabase string
var geoip6Database string var geoip6Database string
var bridgeListFilePath, allowedRelayPattern string
var disableTLS bool var disableTLS bool
var certFilename, keyFilename string var certFilename, keyFilename string
var disableGeoip bool var disableGeoip bool
@ -190,6 +191,8 @@ func main() {
flag.StringVar(&addr, "addr", ":443", "address to listen on") 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(&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(&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(&disableTLS, "disable-tls", false, "don't use HTTPS")
flag.BoolVar(&disableGeoip, "disable-geoip", false, "don't use geoip for stats collection") flag.BoolVar(&disableGeoip, "disable-geoip", false, "don't use geoip for stats collection")
flag.StringVar(&metricsFilename, "metrics-log", "", "path to metrics logging output") flag.StringVar(&metricsFilename, "metrics-log", "", "path to metrics logging output")
@ -222,6 +225,17 @@ func main() {
ctx := NewBrokerContext(metricsLogger) 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 { if !disableGeoip {
err = ctx.metrics.LoadGeoipDatabases(geoipDatabase, geoip6Database) err = ctx.metrics.LoadGeoipDatabases(geoipDatabase, geoip6Database)
if err != nil { if err != nil {