tl;rd: I’m part of the team developing snowflake at Tor and I wonder if will make sense to package the snowflake proxy in yunohost
Tor is known as a privacy software, but many people also use it as a way to access content censored in their country or network. Because of it some networks try to block Tor. snowflake is one of the main tools used to connect to bypass this block and connect to the Tor network. Tens of thousand of users rely on snowflake to browse the internet in the most censored networks like Iran, Russia or China.
snowflake make the user traffic look like a video conference using WebRTC to send their traffic over a proxy that forwards it to the Tor network. Those snowflake proxies are run by volunteers that share a bit of their internet traffic with censored users. The snowflake proxies can only be used to reach the Tor network, running one doesn’t expose the proxy IP address.
Most proxies are browser extensions, which are very useful. But there is usually a lack of standalone proxies, which are more helpful to users in networks with restricted NAT. I think it will be very useful if yunohost users can easily install standalone snowflake proxies and help others. Does it make sense to package it for yunohost?
I know there is a wishlist website, but as I’m a new user I can’t create a request there and I want to check with the comunity if this makes sense and to offer my self to help if someone steps to package it.
This is the documentation we have:
community.torproject. org/relay/setup/snowflake/standalone/
(I can’t put links been a new user, sorry for the extra space)
I’m not sure how the internals of yunohost works, there are docker images that we keep up to date, the debian packages work but are a bit outdated currently and there is the option of building from source is just a single binary, no config files, that builds statically (is written in go).
I’m not sure I understand what “the project” here means. Are you asking if snowflake can provide those binaries? or if yunohost compiled binaries will be statically linked?
We are not providing precompiled binaries, but we can do it.
The proxy binary is written in go, which compiles statically by default, it doesn’t depend on any external libraries.
Yes, ideally we want to download prebuilt binary (compatible with Debian 12) and just run it to avoid the complexity of setting up build deps. So by project I mean Snowflake, and by tagging - tagging releases ~ around the docker image (unless the last release was early 2025).
@meskio ‘s teammate here! Does your automation system supports download from a release like this one: “echo -n “aHR0cHM6Ly9naXRsYWIudG9ycHJvamVjdC5vcmcvc2hlbGlraG9vL3Rlc3RpbmdfcnoyNXd1ZnVoNGV2bzd1bzFrN3RzNnF5NjU3eTRoZ3pvOHVoLy0vcmVsZWFzZXMvdjAuMC44Cg==” | base64 -d“ ← (I am unable to post a link here, please unbase64 this to see the content)
(The actual file client_linux_amd64 attached here has no purpose, it is just a placeholder)
I have installed it … but I don’t understand how I can test it if it is running properly. Is there any possibily to access a status view / dashboard or similar? Thank you!