[tor-commits] [snowflake/main] Export ability to change the URL of NAT probe

cohosh at torproject.org cohosh at torproject.org
Thu Oct 28 14:05:56 UTC 2021


commit 0a2598a1e854243b2f69dae05d713260b4816098
Author: Cecylia Bocovich <cohosh at torproject.org>
Date:   Tue Oct 26 15:43:36 2021 -0400

    Export ability to change the URL of NAT probe
---
 proxy/lib/snowflake.go | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go
index 734657a..5f7bfd4 100644
--- a/proxy/lib/snowflake.go
+++ b/proxy/lib/snowflake.go
@@ -49,7 +49,7 @@ import (
 
 const DefaultBrokerURL = "https://snowflake-broker.torproject.net/"
 
-const DefaultProbeURL = "https://snowflake-broker.torproject.net:8443/probe"
+const DefaultNATProbeURL = "https://snowflake-broker.torproject.net:8443/probe"
 
 const DefaultRelayURL = "wss://snowflake.bamsoftware.com/"
 
@@ -99,7 +99,9 @@ type SnowflakeProxy struct {
 	KeepLocalAddresses bool
 	// RelayURL is the URL of the Snowflake server that all traffic will be relayed to
 	RelayURL string
-	shutdown chan struct{}
+	// NATProbeURL is the URL of the probe service we use for NAT checks
+	NATProbeURL string
+	shutdown    chan struct{}
 }
 
 // Checks whether an IP address is a remote address for the client
@@ -499,6 +501,9 @@ func (sf *SnowflakeProxy) Start() error {
 	if sf.STUNURL == "" {
 		sf.STUNURL = DefaultSTUNURL
 	}
+	if sf.NATProbeURL == "" {
+		sf.NATProbeURL = DefaultNATProbeURL
+	}
 
 	broker, err = newSignalingServer(sf.BrokerURL, sf.KeepLocalAddresses)
 	if err != nil {
@@ -524,7 +529,7 @@ func (sf *SnowflakeProxy) Start() error {
 	tokens = newTokens(sf.Capacity)
 
 	// use probetest to determine NAT compatability
-	sf.checkNATType(config, DefaultProbeURL)
+	sf.checkNATType(config, sf.NATProbeURL)
 	log.Printf("NAT type: %s", currentNATType)
 
 	ticker := time.NewTicker(pollInterval)



More information about the tor-commits mailing list