Graceful Shutdown & ID Questions

Last I read (man page) there was a way to signal tor to shutdown (when being run as a relay) so it would not accept new circuits and just let existing ones run their course, and after some time tor would exit, thus preserving a persons existing browsing session.

I don’t recall seeing an option like this when running the Snowflake Proxy. When I first began running it about two weeks ago it almost immediately took on users. But I had to reboot after a week or so. When it came back up I think it took ~ 2 hours to be used again. Not such a huge deal to me but I thought I’d ask. Mainly I’m sure it’s a bummer to be browsing the web and suddenly your snowflake on-ramp goes away. Not sure how Tor Browser recovers from that. I guess it sees the circuit is broken and negotiates a new snowflake connection.

Also, I went looking for an option to find my snowflake ID/fingerprint to see if I could use it like a bridge, i.e. enter its fingerprint before connecting, but it seems this is not possible. I thought this might make my browsing experience a tiny bit faster. Is that possible? Planned?

Finally, with regards to nomenclature, I understand what guards are, versus middle relays and exits. I also understand there’s a diversity of methods to get into the tor network, aka pluggable transports. Aren’t bridges and snowflake proxies also guards? I mean, bridges and snowflake proxies aren’t used as middle nodes best I can tell from my reading.


I think it happened because long-lived connections were dropped.
But rate of arrival for fresh connections should be the same I think.
Another question is why it is generally low.
But most probably you just don’t have public IP.
There is less demand for proxies with private IP (but they are still useful of course).

Snowflake was designed with such situations in mind.
If such switching works bad, it is just a reason to make bug report.

I make restarts for my proxy several times a week.
Because it still contains memory leaks, developers are not fixing them and I can’t afford wasting RAM.

You can’t, because snowflake proxies are not Tor nodes, they are just proxies.

You’re right, it searches for a new proxy. And yes, there is no such option currently, though it shouldn’t be too hard to implement - juts stop polling the broker and shut down when there are no connections.
But Snowflake is supposed to be resistant to that, as @Vort said.
Also see

Weird, I don’t know what it can be explained with.

You can do this, but it’s a ton of work, I’d say it’s not worth it. It was discussed in greater detail here. If you have a static server that you can connect to, you probably better off going for a classic obfs4 bridge, or something VPN-like, say, v2ray.

Also here’s a (not quite) similar proposal: (More) Distributed servers (#40248) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

Tor bridges are entry nodes. Snowflake proxies are not entry nodes, as @Vort said. Look at the pic on . You connect to a Tor bridge (entry node) through a Snowflake proxy. Currently there are just two bridges that all Snowflake clients are connecting to.

1 Like