Call for more Snowflake proxies!

This is a reply for the post Call for more Snowflake proxies! from the mailing list

My question is if there is a shortage of Snowflake proxies why is mine at half capacity often enough or put another way why am I not at full capacity all the time. I use -capacity 11 so it should not be hard to fill. As I am writing this 15:18 UTC I have 8 connections.

Plus lately the traffic in KB is really low. It’s almost like people connect then do nothing.

I know that there is lots of Timed out waiting for client to open data channel so people are trying.

2 Likes

Thank you for running a proxy. The response to our call has really helped our capacity. We haven’t been seeing clients turned away because of a lack of proxies for a few days now. Here’s a screenshot from our recent metrics:

As far as the data channel timeouts, we receive reports of that happening but it’s unclear whether this is due to some technical issue with our NAT matching process, malicious or weirdly behaving clients, or blocking that we haven’t caught yet.

We have a long-standing issue open for this: Proxy-go is receiving a lot of client timeouts (#30498) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

Maybe it’s a good time to revisit it. Regardless, your proxy is helping the network, even if it’s idle at times the influx of new IPs will help a lot of users.

5 Likes

Could you share the original site of this screenshot? Thanks.

Can snowflake work if operator behind nat, but i’m the client have listening port? Can opening port on my router help for incoming connections? And what port then?

I assume that Grafana is exclusive to the Tor Project’s staff, they sometimes share screenshots from there with the public.

In fact that’s one of the members of the anti-censorship team posting the message.

No, I don’t think that it matters for you as a client. How do people have WebRTC calls without opening ports?

I guessing here. When you try the proxy with the broker supplied info like this:

2026/02/15 05:01:29 Generating answer...
a=candidate:3502255533 2 udp 1694498815 n.n.n.n 60902 typ srflx raddr 0.0.0.0 rport 60902 ufrag WgEKtEVHZfdCgbUK
..
Your firewall opens a reciprocal rule (for a time limit) from server n.n.n.n 60902 to your ip and port thus the proxy can now talk to you (if all works well).

The broker sends the proxy something like this which it gets from you.
a=candidate:2255230078 2 udp 1694498815 n.n.n.n 35604 typ srflx raddr 0.0.0.0 rport 47432 ufrag BMnIYGYcbnojVeQy

Eventually things connect. I don’t completely understand exactly how it all really works out.

This is correct, is an internal grafana that we can’t share access too. One day we should add those visualizations to the metrics portal.

But the prometheus exporter we use for it is public: https://snowflake-broker.torproject.net/metrics