-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop in Snowflake users from Russia and evidence of blocking starting 2024-11 #422
Comments
on my Android Orbot Snowflake Relay I saw a recent sudden increase in twice as much russian connections as usual per day. I already thought, that something must be going on. |
I find the following result interesting. Because earlier this year in January I experience the similiar situation in China.
Here is the post I made at that time: and @wkrp wrote this in that post:
My experience at that time was that the snowflake bootstrap could not even finish most of time. The problem lasted for more than one month then gone, We couldn't figure out the exact reason back then. At that time we even couldn't figure out the width of the blocking. |
I've written a patch for snowflake to more easily test Snowflake connections from vantage points. Manual WebRTC signalling can be used to test client connections to a specific Snowflake proxy under your control that also has manual signalling enabled. Hopefully this is useful to anyone who wants to try out theories on how it is being blocked or test fixes. You will need the following patch for both the client and the proxy: https://gitlab.torproject.org/cohosh/snowflake/-/commit/9523d9bbed0baf44e8779c1c78bb7ebd4e501a8a Proxy setupTo run the proxy, you will need 2 terminals:
Client setupTo run the client, you will need 3 terminals, and the following torrc file:
Manual signallingOnce the client has started, you will see something like the following output in the client's Terminal B.
Copy that, and paste it into the proxy's Terminal B. Soon after, you should see the following output in the proxy's Terminal A:
Copy that and paste it into the client's Terminal C. If everything goes right, the WebRTC datachannel should open at both the client and the proxy. |
Nobody seems to mention one thing outside of russian-speaking forums. There's the thread on NTC discussing seemingly random inaccessibility of Hetzner IPs from Russia. In post 435 one user found the culprit of immediate blocking of (all/most?) Hetzner IPs. It is enough to visit https://www.phpmyadmin.net in your browser to trigger block (no answer to TCP SYN to any Hetzner IP). I didn't believe it at first, but decided to test. I'm an Arch Linux user, most of arch infra is hosted on Hetzner, and I've never had any problem with downloading from AUR, or reading archwiki from Russia (home, non-mobile internet). But as soon as I have visited the forementioned site, traffic to Hetzner got blocked, and I couldn't open neither AUR nor archwiki (no answer to TCP SYN). It lasted for at least 30 minutes, I had to go and turn off the computer so I didn't check for longer, but people on NTC told the block can last for up to 2 hours. The block didn't affect phpmyadmin site itself, it opened perfectly fine all that time. phpmyadmin site is the default front of Tor Snowflake, so obviously the censor targets that site, as we can see, in interesting way. I wonder if other hoster's IP ranges are blocked too, or monitoring of user's traffic becomes stricter after that (maybe WebRTC connections succsess rate drops or something else, this requires additional study). Accessing phpmyadmin's CNAME address ( Also in my opinion choosing phpmyadmin website as front is bad (or worse than previous domains). Unlike previous fronts like |
It's called "steal oneself," even if this is not quite correct English. |
You can do that easily just changing the "fronts=www.phpmyadmin.net" part of the bridgeline. You'll need use a domain pointing to cdn77. If what you want is to host it in a different CDN that is a bit more of work, and you'll need to need to configure it to forward the traffic to the broker. We don't have a guide for that currently. But you can just use apmcache or sqs instead of domain fronting: https://forum.torproject.org/t/new-sqs-rendezvous-method-for-snowflake/11713 But I have the feeling that the hetzner block is not related to snowflake, as not so many snowflake proxies are in hetzner, but it might be an attempt to block bridges. As many bridges are hosted in hetzner and we use the same domain front for requesting bridges from Tor Browser. |
From my experience the block is indefinite, I had it for 2 days until I disconnected my internet for 15 minutes. I assume it would not go away at all without that. That said I also have a static ip address which might be the reason. I was reading different English speaking places that discuss that block and I'm surprised that there's not a lot of mentions of OVH ips being blocked as well, which happens together with Hetzner, which is the case for me and a lot of people on NTC. |
We've noticed a significant drop in Snowflake users from Russia, starting earlier this month, along with some vantage point testing that suggests a different kind of block than what we've seen before.
At first we thought this was due to several recent certificate renewals of Fastly front domains that were used for Snowflake, but we've since ruled out blocking of rendezvous channel. The timing of the drop in users also doesn't quite match up with the domain renewals.
From our vantage point tests, it does not look like the DTLS fingerprinting of Snowflake that happened in Russia in 2021. The DTLS handshake completes and several bytes of application data are received from the proxy before the client suddenly stops receiving data. This doesn't rule out fingerprinting. There are a few proxies that do not appear to be blocked and Tor can be fully bootstrapped through these proxies, but we haven't noticed any difference in the DTLS fingerprint between working proxies and proxies that go stale. It's also possible that our vantage point tests aren't offering an accurate view of why there is a drop in users.
Related Links:
The text was updated successfully, but these errors were encountered: