net4people / bbs

Forum for discussing Internet censorship circumvention
3.19k stars 75 forks source link

New SQS rendezvous method for Snowflake #335

Open mchlp opened 4 months ago

mchlp commented 4 months ago

This post is about a new feature that will be released in Tor Browser Alpha 13.5a5 and was released in Stable 13.0.10.

Before Snowflake can establish a peer-to-peer WebRTC connection, it needs to do a step called rendezvous, where the client connects to the broker and indicates its need for a proxy connection. The rendezvous method is modular and any kind of blocking-resistant request–response protocol can work. The two existing methods Snowflake uses for rendezvous is a domain-fronted HTTPS request and an AMP cache rendezvous. We have just deployed another rendezvous method that utilizes the Amazon SQS service from Amazon Web Services. Now, if any of these three rendezvous methods are blocked, we can switch over to one of the other methods.

To use this new rendezvous method, you will have to add the following bridge line to your Tor Browser:

snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 ice=stun:stun.l.google.com:19302,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.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn sqsakid=AKIA5AIF4WJJXS7YHEG3 sqsqueue=https://sqs.us-east-1.amazonaws.com/893902434899/snowflake-broker sqsskey=7SDMsJA4s5F+Webu/zL8vk0QWWIlkW6cWNfUlCKQ

Background for Amazon SQS rendezvous: Snowflake rendezvous using Amazon SQS (2019) Rendezvous with Amazon SQS doc (2024) Implementation (2024)

This feature was implemented by five Software Engineering students from the University of Waterloo: Andrew Wang, Anthony Chang, Kieran Quan, Michael Pu, Yi Wei Zhou with the help of Cecylia Bocovich from the Tor anti-censorship team.

IrradiatedKiwi commented 3 months ago

Thank you for your hard works. I tried SQS and it works great. And This works better than the old front for me since I had connectivity issue with snowflake .

I believe it will help people who live in opressive regime to reach out the world. I hope Amazon won't kill it.

Also if anyone have problem with snowflake font domain recently, please refer to

https://forum.torproject.org/t/fix-problems-with-snowflake-since-2024-03-01-broker-failure-unexpected-error-no-answer/11755

cohosh commented 3 months ago

A few SQS improvements implemented @mchlp were just merged and deployed in the recent Tor Browser 13.0.12 update. Use of SQS with this version requires a slightly different bridge line:

snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA ice=stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn sqsqueue=https://sqs.us-east-1.amazonaws.com/893902434899/snowflake-broker sqscreds=eyJhd3MtYWNjZXNzLWtleS1pZCI6IkFLSUE1QUlGNFdKSlhTN1lIRUczIiwiYXdzLXNlY3JldC1rZXkiOiI3U0RNc0pBNHM1RitXZWJ1L3pMOHZrMFFXV0lsa1c2Y1dOZlVsQ0tRIn0=