16:00:17 <onyinyang> #startmeeting tor anti-censorship meeting
16:00:17 <MeetBot> Meeting started Thu Apr  2 16:00:17 2026 UTC.  The chair is onyinyang. Information about MeetBot at https://wiki.debian.org/MeetBot.
16:00:17 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
16:00:17 <onyinyang> hello everyone!
16:00:17 <onyinyang> here is our meeting pad: [https://pad.riseup.net/p/r.9574e996bb9c0266213d38b91b56c469](https://pad.riseup.net/p/r.9574e996bb9c0266213d38b91b56c469)
16:00:42 <onyinyang> I'll give everyone a few minutes to fill out the pad
16:01:04 <onyinyang> Also please send me a message if you need editing rights :)
16:01:26 <Shelikhoo[mds]> hi~hi~
16:01:30 <cohosh> hi
16:02:23 <SergioSantos> Hello
16:02:35 <cohosh> nice to see you here SergioSantos!
16:02:51 <SergioSantos> thank you, happy to be here
16:04:14 <onyinyang> ok we have one discussion point for today: Discuss snowflake proxy mobile application
16:04:47 <cohosh> yeah! SergioSantos would you like to introduce the project you've been working on?
16:05:18 <SergioSantos> Of course
16:05:42 <SergioSantos> Hello everyone. I had found out about Snowflake a while ago, not sure from where. And I started using the firefox extension for a while.
16:06:23 <SergioSantos> Then I looked if there was something for Android. I'm an Android developer, that's why.
16:06:49 <SergioSantos> I saw that there was the Kindness project inside Orbot, but I wondered if a standalone app would be something interesting to exist.
16:07:31 <SergioSantos> I reached out to a friend, to see if he could introduce me to someone working on Snowflake, so they could give feedback, if such app was in need. And meskio and cohosh said it was.
16:08:24 <SergioSantos> Thanks to the work on iptproxy, I could quickly build a proof-of-concept and confirm it was a quite simple app to build. So here it is: github.com/blocoio/snowflake
16:09:16 <SergioSantos> So I asked a bunch of questions to cohosh regarding what would be the best way to get more testers, how to name the app, where to publish it. And that's why I'm here :)
16:09:47 <cohosh> thanks for sharing this with us!
16:09:53 <dcf1> thanks SergioSantos
16:09:57 <SergioSantos> Cláudia, my studio partner, did the design.
16:10:01 <onyinyang> nice work SergioSantos!
16:10:11 <Shelikhoo[mds]> thanks Sérgio Santos !
16:10:40 <SergioSantos> We're not planning to release it named "Snowflake Volunteers" on Google Play and F-Droid. But I'm curious to hear your thoughts on that.
16:10:41 <SergioSantos> s/not/now/
16:10:44 <SergioSantos> *now
16:10:49 <cohosh> i tried it out in android studio, it works very nicely
16:10:49 <dcf1> the app uses IPtProxy, same as Orbot?
16:11:20 <SergioSantos> Yup, it does. I even had to do some feature requests to IPtProxy so I could get some features in.
16:11:49 <Shelikhoo[mds]> from my point of view, my wish list is more or less like... update the proxy code and app to catch up with protocol updates when possible
16:11:54 <cohosh> you also found a bug with our events implementation, which i'm grateful for :)
16:12:15 <Shelikhoo[mds]> nice! thanks!!!
16:12:30 <cohosh> iirc one of the other features was allowing users of the iptproxy library to name their own proxy type
16:13:06 <SergioSantos> As long as those updates end-up in IPtProxy, it's quite easy for me to keep it up-to-date. If I need to write some golang, then it will take quite some time :)
16:13:10 <cohosh> this was a topic for discussion i wanted to bring up because have an allowlist of proxy type names for stats purposes: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/blob/6b100d6a0c3dd399ba29153f8aed09f5c4bb3fef/common/messages/proxy.go#L20
16:13:35 <cohosh> we can add whatever identifier you're using to this list, in the meantime it will show up as "unknown"
16:14:06 <cohosh> actually not so much an allowlist as a filter for stats presentation purposes
16:14:16 <cohosh> the proxies are still allowed to poll
16:14:20 <SergioSantos> I'm using "bloco" currently, our studio name.
16:14:51 <Shelikhoo[mds]> I think we should allow implementations to postfix their implementation
16:15:03 <Shelikhoo[mds]> like webext-fork2
16:15:31 <Shelikhoo[mds]> so it will show up as initially webext
16:15:56 <cohosh> Shelikhoo[mds]: well, i don't want to allow arbitrary strings to be allowed or we'll end up with similar problems as tor relay names
16:16:12 <Shelikhoo[mds]> and as it gain more usage, we can separate  webext-fork2 from webext to make it a standalone item
16:16:42 <cohosh> i see, you're recommending a naming convention but it would still be a manual process to allow new strings?
16:16:51 <Shelikhoo[mds]> yes
16:17:09 <cohosh> in this case i'm happy to add bloco as it is now, but we can recommend that in the future
16:17:31 <Shelikhoo[mds]> before we manually allow a new string, it will be classified as its parent group
16:17:48 <Shelikhoo[mds]> yes, I think adding bloco now is fine as well
16:18:03 <Shelikhoo[mds]> I was just trying to suggest a general purpose solution
16:18:05 <SergioSantos> If you prefer, we can go with "iptproxy-bloco" already
16:18:33 <cohosh> Shelikhoo[mds]: ah i see, we process unknown strings to see if it matches a prefix of a known group?
16:19:25 <Shelikhoo[mds]> I am happy with either names, and since we are already adding a new allowed name, just "bloco" would work fine in this case.
16:19:30 <Shelikhoo[mds]> cohosh: yes...
16:20:02 <cohosh> SergioSantos: yeah let's just add bloco for now
16:20:22 <cohosh> i'll make an issue for it
16:21:08 <cohosh> for the app name, i don't see an issue with including snowflake in the name, does anyone else forsee a problem with that?
16:21:34 <cohosh> naming things can be difficult, heh, it's something i struggle with
16:21:35 <SergioSantos> Those statistics should show up in https://metrics.torproject.org/collector/recent/snowflakes/ right? I was curious where I could track it.
16:22:06 <cohosh> SergioSantos: yes that's right. they will also be in our prometheus metrics which are publicly exported here: https://snowflake-broker.torproject.net/prometheus
16:22:23 <cohosh> we don't have a public prometheus server to scrape these, but anyone could run one
16:22:23 <dcf1> I'm looking at https://github.com/blocoio/snowflake/blob/1.0/app/src/main/AndroidManifest.xml and I don't see anything weird, but I'll just state for the record that there's an expectation with this type of proxy app not to do any internal telemetry, no logging of IP addresses
16:23:02 <dcf1> You can see in the golang proxy source code, we are careful to proactively remove potential IP addresses from logs by default
16:23:16 <Shelikhoo[mds]> and bad name some time have unintended consequence....
16:24:14 <SergioSantos> dcf1: Of course, the only thing we're storing is statistics: connections + data received + data sent.
16:24:34 <SergioSantos> * Of course, the only thing we're storing is statistics: connection counts + data received + data sent.
16:26:01 <Shelikhoo[mds]> I think google does collect some info about app installation and usage
16:26:22 <Shelikhoo[mds]> on device with Google Service Framework installde
16:26:33 <Shelikhoo[mds]> but this is not usually given to developers directly
16:26:54 <SergioSantos> Yes, unfortunately that's the usual side effect for those who install from Google Play, or in a phone with Google Services.
16:27:03 <Shelikhoo[mds]> since user can always avoid this anyway, this isn't an issue from my point of view
16:27:28 <SergioSantos> We even declare it on our privacy policy: https://bloco-privacy-policy.web.app/snowflake.html
16:27:39 <Shelikhoo[mds]> oh nice!
16:28:15 <SergioSantos> The snowflake proxy part was copied from your browser extension privacy policy.
16:28:41 <cohosh> nice
16:29:09 <SergioSantos> I also copied some text from the Snowflake website to the app About screen. To compensate, I finished the pt-BR translation of the Snowflake website, to get it published too.
16:29:54 <cohosh> that is great, thank you for contributing to translations :D
16:30:50 <cohosh> SergioSantos: as far as getting beta testers, i'm thinking the forum and anti-censorship-team mailing list are good places to make an announcement
16:31:27 <cohosh> i'd recommend including detailed instructions for how to install and run it, as well as what kind of feedback you're looking for
16:32:24 <SergioSantos> Got it. Hopefully the F-Droid application goes through, and we can use it as a starting point.
16:32:48 <cohosh> here's an example call for testers: https://forum.torproject.org/t/call-for-testers-webtunnel-a-new-way-to-bypass-censorship-with-tor-browser/9855
16:33:59 <onyinyang> amazing work :) I'm looking forward to trying it out
16:34:03 <onyinyang> anything more on this topic?
16:34:14 <Shelikhoo[mds]> EOF from me
16:35:03 <cohosh> SergioSantos: any other questions you have from us?
16:35:09 <cohosh> *for us
16:35:20 <SergioSantos> Don't think so. Thank you for the feedback and informations.
16:36:32 <cohosh> thanks for working on this!
16:37:02 <onyinyang> ok, we have an interesting link: https://www.techpolicy.press/what-digital-isolation-and-censorship-evasion-look-like-in-wartime-iran/
16:38:21 <Shelikhoo[mds]> thanks for sharing! EOF
16:39:13 <onyinyang> and that's it for today
16:39:25 <onyinyang> thanks everyone :)
16:39:26 <onyinyang> #endmeeting