Opened 4 years ago

Last modified 6 months ago

#19409 new enhancement

Make a deb of snowflake and get into Debian

Reported by: adrelanos Owned by:
Priority: High Milestone:
Component: Circumvention/Snowflake Version:
Severity: Major Keywords:
Cc: whonix-devel@…, eighthave Actual Points:
Parent ID: Points:
Reviewer: Sponsor:



apt-get install snowflake

Speaking for Whonix, this would be very useful. Perhaps for Tails as well, but I am not speaking for them.

(Similar to #13160.)

Child Tickets

#24203defectclosedAppArmor default config blocks Snowflake from running with system tor

Change History (12)

comment:1 Changed 2 years ago by cypherpunks

#23742 is a duplicate.

comment:2 Changed 2 years ago by cypherpunks

Priority: MediumHigh
Severity: NormalMajor
Summary: make a deb of snowflake and get into DebianMake a deb of snowflake and get into Debian

comment:3 Changed 2 years ago by cypherpunks

It would be useful not only for Whonix but anyone who wants to configure a torrc to use Snowflake.

comment:4 in reply to:  1 Changed 2 years ago by arma

Replying to cypherpunks:

#23742 is a duplicate.

Note there are two things we might mean here: one is to get the snowflake code into a deb, so I can volunteer my server to be a snowflake, and the other is to get snowflake-client into a deb, so client-side approaches other than Tor Browser can integrate it more easily. Both are worth doing for various reasons, but let's be careful of forgetting whichever one you weren't thinking of. :)

comment:5 Changed 21 months ago by cypherpunks

@arma Sounds good. This is a bit higher priority for TAILS and Whonix now that meek is dying.

comment:6 Changed 15 months ago by eighthave

Now that I'm digging into building libwebrtc, I have to say that building a Debian package of Snowflake based on the Chromium libwebrtc will be a ton of work. The libwebrtc build system is vast and insane. It literally downloads Debian stretch images for both i386 and amd64 as part of the process:

________ running '/usr/bin/python src/build/linux/sysroot_scripts/ --running-as-hook' in '/go/src/'
Installing Debian Stretch amd64 root image: /go/src/

see the full build log here:

I think we need to consider alternate implementations of webrtc in order to make snowflake able to be included in Debian and other distros. There is a Go implementation that uses DTLS from openssl.

Last edited 15 months ago by eighthave (previous) (diff)

comment:7 Changed 15 months ago by eighthave

its kind of like building Tor Browser to get one of the libraries.

comment:8 Changed 15 months ago by eighthave

Cc: eighthave added

comment:9 Changed 14 months ago by eighthave

FYI, I set up a GitLab CI project to run gitlab-ci pipelines for the canonical repo ( That will happily run in parallel with the TravisCI stuff that's there. Since Travis doesn't let you run arbitrary docker images, it is more limited in what you can do with it. My upcoming .gitlab-ci.yml update (see #28205 for dev history), includes running the builds and tests against various versions of Go/Debian/Ubuntu. That should help smooth packaging and deployment.

You can see that here:

comment:10 Changed 14 months ago by eighthave

I made a simple binary package to start testing this easily. Once is merged, then the packages will be available in this apt repo: Any fork of that in will automatically get their own apt repo, for example, here is my fork:

comment:11 Changed 14 months ago by eighthave

Since this stuff was fresh in my brain, I rebased @infinity0's 2016 work on top of my Android pull request:

And threw it in a gitlab-ci job running in Debian/testing:

Seems the git repos have been rearranged, so the script needs an update.

comment:12 Changed 6 months ago by cypherpunks

Any update on this ticket?

Note: See TracTickets for help on using tickets.