How can I use Snowflake with tor (service)?

How can I use Snowflake client plugin with Tor? Not the Tor browser. Just with Tor service on linux?
My distro is Arch linux. None of the bridges like obfs4 working. I can just connect with snowflake but with Tor browser. I need to use on my linux server without GUI!

ref. client · main · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

The Snowflake client can be configured with either command line options or SOCKS options. We have a few example torrc files in this directory. We recommend the following torrc options by default:

UseBridges 1

ClientTransportPlugin snowflake exec ./client \
-url https://snowflake-broker.torproject.net.global.prod.fastly.net/ \
-front cdn.sstatic.net \
-ice stun:stun.voip.blackberry.com:3478,stun:stun.altar.com.pl:3478,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.sonetel.net:3478,stun:stun.stunprotocol.org:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478

Bridge snowflake 192.0.2.3:1

-url is the URL of a broker instance. If you would like to try out Snowflake with your own broker, simply provide the URL of your broker instance with this option.

-front is an optional front domain for the broker request.

-ice is a comma-separated list of ICE servers. These can be STUN or TURN servers. We recommend using servers that have implemented NAT discovery. See our wiki page on NAT traversal for more information.

To bootstrap Tor, run:

tor -f torrc

This should start the client plugin, bootstrapping to 100% using WebRTC.

1 Like

Since you’re in Arch you can install the snowflake-client from the AUR AUR (en) - snowflake-pt-client-git

Then change your torrc to be like the one that @championquizzer posted but you need to modify it to mention the path to your snowflake-client that you installed:

ClientTransportPlugin snowflake exec /usr/bin/or-wherever-it-gets-installed/snowflake-client -url ....etc
1 Like

Thank you for your instruction. I followed your way and installed snowflake-client from that link you mentioned and configured my torrc like it was mentioned earlier but it stuck at here:
[notice] Opening Socks listener on 127.0.0.1:9050
[notice] Opened Socks listener connection (ready) on 127.0.0.1:9050
[notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
[notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
[notice] Bootstrapped 0% (starting): Starting
[notice] Starting with guard context “bridges”
[notice] Delaying directory fetches: No running bridges

What can I do about it?

It might just be a problem with AppArmor. Try these steps starting from sudo chmod +rx /usr/bin/snowflake-client:

Thank you for your answer.
Well I noticed by installing snowflake-client from the link you mentioned ( AUR Snowflace-client there isn’t any snowflake-client in my /usr/bin directory. It just installed snowsql !
I searched my entire drive and there is not any installed package called snowflake-client! What can I do about that?

The right package is: AUR (en) - snowflake-pt-client-git.

Thank you buddy. It is working now.
Viva Freedom

2 Likes

This topic was automatically closed 5 hours after the last reply. New replies are no longer allowed.