Skip to content

Draft: Add snowflake transport to Lyrebird

Cecylia Bocovich requested to merge cohosh/lyrebird:snowflake into main

This adds only Snowflake client support to lyrebird. All configuration should be done through SOCKS arguments.

I'm keeping this in draft mode so we can discuss this.

You can test this using the following torrc file:

UseBridges 1
DataDirectory datadir

ClientTransportPlugin snowflake exec ./lyrebird -enableLogging -logLevel DEBUG

Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net 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
Bridge snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net 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.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn

SocksPort auto

This is part of an effort to reduce the footprint of pluggable transports for Tor Browser android (#40015). It is also useful for projects like IPtProxy, and most of the content of this MR was taken directly from the IPtProxy rewrite: https://github.com/tladesignz/IPtProxy/pull/61

The main missing feature is the use of the Snowflake event logger, which has been very useful in debugging censorship from user's Tor logs.

Merge request reports

Loading