I think that’s really interesting. The ability to pick where I want to support Tor has been on my mind ever since I installed Snowflake. I’m not familiar with how Tor chooses node/snowflake positions (if at all), but it’s nice to know explicitly that my snowflake isn’t being used for malicious purposes.
Maybe choosing could also improve browsing speed; users in densely populated areas like New York can choose to be guard relays to shorten the connection time for others nearby. And since most routers/gateways can have different settings, you could choose which Snowflake configuration could work for your network.
I do wonder, however, if this could have some negative outcomes. For example:
What if the majority of Snowflake users chose to be guard relays; would that make it slower/difficult to use a middle relay?
Would this affect Tor’s built-in Snowflake protection and authentication systems (if one exists)? I’m still learning what happens behind the scenes, however.
Would this allow systems to better track down a user? For example, if a party knows that an IP address will always pick one position, could they target/attack that relay somehow?
Would this enable malicious end-relays to read unencrypted (http:) traffic?
Maybe you could implement some kind of system that encrypts the traffic from the user’s computer itself, or make it difficult to read, if possible.
Maybe what you could also do instead is make it more likely for a user to become their preferred relay position. For example, users would be 75% more likely to be a guard relay, but could still act as a middle relay. This could also fix other potential issues listed above.
I also remember reading at some point that Tor doesn’t want people choosing their own relay position, but I forgot why.
I honestly love the idea of choosing where to put my Snowflake in a Tor connection, but I thought it would be worth bringing up some potential conflicts, just to stomp out potential issues in the future.
"Hey! Thanks for the interest and the great questions.
I think there might be a slight mix-up between how Snowflake works and how traditional Tor relays work. Snowflake proxies are a specific type of temporary bridge used to help people in censored regions connect to the Tor network. Because of how they work, Snowflake proxies don’t actually have ‘positions’ like Guard, Middle, or Exit.
The app I built (TorNode) is for setting up traditional Tor relays and standard bridges. These are the dedicated nodes that form the main backbone of the Tor network, which is where you can choose to act as a Guard, Middle, or Exit relay.
Because they are separate systems, choosing a relay position in TorNode won’t affect Snowflake users, Tor’s built-in protections, or cause the negative outcomes you mentioned regarding Snowflake. They are just two different (and both very helpful!) ways to support the network. Hope that clears things up!"
I’m a bit confused about how Snowflake came into this conversation. I assume the term Snowflake means the Snowflake proxy like I am running at home or is it being used as another word for bridge which is the recommended default.
I’m a bit confused about how Snowflake came into this conversation. I assume the term Snowflake means the Snowflake proxy like I am running at home or is it being used as another word for bridge which is the recommended default.
According to what I’ve understood, a key difference is that a traditional Tor bridge requires you to manually open incoming ports on your router, whereas a Snowflake proxy uses WebRTC to automatically traverse firewalls.
This means Snowflake requires zero open inbound ports and disguises the traffic as a regular video call, making it very easy to run on a home network.
That is one way of operating a Snowflake proxy (restricted) and there is also a method called unrestricted (now called open) where you do open up ports on the router and then need to let them through your OS firewall. Mine is configured like this but you are right that it is not necessary. There is also the browser extension but it only allows 1 connection at a time.
This is my first time to run tor relay. I tried running the app by using Tor from my Tor Browser. The screenshot below is the latest logs output. Is this means successful connected?
This is my first time to run tor relay. I tried running the app by using Tor from my Tor Browser. The screenshot below is the latest logs output. Is this means successful connected?
Oh it needs several hours to get connections and flow. No wonder there is no activity just after started running. Seems quite different with Snowflake and Conduit.
Oh it needs several hours to get connections and flow. No wonder there is no activity just after started running. Seems quite different with Snowflake and Conduit.