Is it possible to only be a snowflake for e.g. China, Russia, North Korea type countries?
There is no such configuration option, and it’s unlikely that it will get implemented. See this comment:
adding country filter functionality so that such connections don’t get created in the first place
I will push back very hard against this.
No, this is not possible with the official Snowflake proxy.
I now run a WebTunnel bridge, but when I had a Snowflake proxy running, I modified it to decline offers from my own country (Germany).
Out of curiosity, why would someone want to do this?
From my own stats and some I have read here, Russia, China, and Iran (the rucnir group) are the top three anyway so it comes to the same.
North Korea?? Regular citizens have internet?
I’m also against that idea.
TL;DR:
Crowd sentiment is right after some reflection. It is of diminishing returns to limit snowflake contributions to “non-free countries” as a means to only help non-malicious Tor users. Snowflake seems already to be one of the best ways for morally-challenged people to contribute to the Tor community. Below was my thought process nonetheless.
Sorry I drafted a longer more thought out post that was lost, and wasn’t thinking when I typed North Korea.
I’m personally much more convinced of contributing to Tor for democratic human rights purposes, and the use case and positive impact here is much more obvious for countries where the internet is heavily censored and/or dictatorships. I am not saying that privacy concerns in the free-world are not legitimate, but the proportion of morally objectionable uses (if you will allow, at least for me) of onion routing is much higher here, as backed up e.g. this paper.
I don’t think I am the only one who has these concerns. My spouse was theoretically up for running a snowflake but backed out when they found out that there is a minor but not insignificant statistical fact that they would be assisting morally objectionable uses, which the Tor team itself says that “We hate that there are some people who use Tor for nefarious purposes, and we condemn the misuse and exploitation of our technology for criminal activity.”
Snowflake is one of the lowest friction ways to support Tor and promote freedom of internet in the most censored places. By the 80/20 rule, perhaps allowing people to choose not to help criminals and especially child abusers may result in a larger general uptake of people running snowflake.
With further data analysis, the percentage of snowflake traffic for the last 3 months is 38% Iran, 32% Russia, 10% USA, 5% China, 2% Germany, 1% in UK, Brazil, India, Netherlands, France to name the top few. My concession is that ~14% (based only off the above first few ranks) of snowflake traffic being from “free” countries is not a lot. The result of a “free-country snowflake boycott” would only bring the potential moral complicity of snowflake hosts from 5.2%(=86%*4.8%+14%*7.8%) to 4.8%, and hence may be minimal.
In fact, contributing to the tor community through snowflake seems to result in much less complicity than other methods (e.g. relays).
I would argue that using a Snowflake client is slightly worse for your privacy, compared using Tor directly, because with Snowflake the entry Tor node is public and predetermined, and Snowflake proxies still pass the IP address of the client to the Snowflake server.
In short, Snowflake at its current state is only good for censorship circumvention, and not enhancing privacy.
Snowflake proxies still pass the IP address of the client to the Snowflake server.
Why?
AFAIK this is used in the session layer, you can start looking from this commit. And for metrics, which I think how it started (see this issue).
Abuse was one of the things which concerned me when I started my Snowflake project. Murphy’s cousin twice removed had his own law: “If it can be abused, it will.”
I know abuse happens and thus know I could be contributing to it even if I have deniability.
Black & Decker make tools like hammers which are used to drive or remove nails. A hammer can also be used to bash someone’s head in. Ditto for screwdrivers or most other tools. So do I stop making them or using them? I know it’s the same argument used by the gun industry except the primary purpose of hammers is not to kill people.
I see no problem this. How can you get those stats quoted above if you do not know who you are helping. Mine show RU at the top.
Still I don’t see why the server need the clientID-to-IP(address of the client?) mapping except for stats purpose only.
Now I understood the stats is necessary for analysis and improvement.