16:00:25 <meskio[mds]> #startmeeting tor anti-censorship meeting
16:00:25 <MeetBot> Meeting started Thu Sep 17 16:00:25 2026 UTC.  The chair is meskio[mds]. Information about MeetBot at https://wiki.debian.org/MeetBot.
16:00:25 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
16:00:29 <meskio[mds]> hello everybody!!!
16:00:35 <meskio[mds]> here is our meeting pad: https://pad.riseup.net/p/r.9574e996bb9c0266213d38b91b56c469
16:00:35 <meskio[mds]> ask me in private to give you the link of the pad to be able to edit it if you don't have it
16:00:35 <meskio[mds]> I'll wait few minutes for everybody to add you've been working on and put items on the agenda
16:00:57 <onyinyang[mds]> hihi!
16:01:45 <Shelikhoo[mds]> hi~Hi~
16:02:31 <cohosh> hi!
16:04:23 <gaba> hi
16:04:29 <pryty26[mds]> hi
16:04:50 <pryty26[mds]> meskio:  May i ask how to get it?
16:05:11 <meskio[mds]> sure, I'll send it to you in private, one sec
16:05:55 <pryty26[mds]> Thx get it
16:06:22 <robgjansen[mds]> Hello! FYI, I am working with Cecylia this week, and will be observing today :)
16:06:33 <pryty26[mds]> Just curious, since this is my first time at the meeting, may  I ask what I need to do at the pad :-)
16:06:46 <meskio[mds]> robgjansen: nice, wellcome :)
16:07:18 <meskio[mds]> pryty26[mds]: sure, if you want to add a topic to discuss just go ahead and add it as a point in Discussion
16:07:21 <meskio[mds]> line 43
16:07:31 <meskio[mds]> right now the discussions are empty
16:08:03 <pryty26[mds]> Thx!
16:08:30 <meskio[mds]> then let's go with your topic
16:08:39 <meskio[mds]> "About reviewing rust-pt"
16:08:49 <meskio[mds]> if you want to give an introduction to it
16:09:11 <pryty26[mds]> meskio[mds]: Oh yeah
16:09:28 <pryty26[mds]> well, currently, I was developing a framework called rust-pt
16:09:44 <pryty26[mds]> I have also sent a proposal to the mailist
16:09:57 <pryty26[mds]> Lemme find the proposal mail link
16:10:22 <pryty26[mds]> https://lists.torproject.org/mailman3/hyperkitty/list/tor-dev@lists.torproject.org/thread/7EB3JIGXXXSALHHT4DCBJXACYCOO6YXY/
16:10:25 <pryty26[mds]> That is it
16:11:07 <pryty26[mds]> I'm a rust developer, who uses rust for my everyday development
16:11:31 <pryty26[mds]> And, the tor team is also developing a rust tor (arti)
16:11:46 <pryty26[mds]> Therefore, using rust to develop new PTs
16:12:19 <pryty26[mds]> would actually be a nice decision, because they are using a same tech stack
16:12:51 <cohosh> thank you for sharing this pryty26[mds]!
16:12:55 <meskio[mds]> thank you for the contributions
16:13:03 <meskio[mds]> a rust framework for PTs is something we'll need to add at some point
16:13:36 <meskio[mds]> but we need to be mindfull that we have many things in our plates right now and I'm not sure when we'll be able to review it
16:13:41 <pryty26[mds]> Thank you! :)
16:13:47 <robgjansen[mds]> Cool! I am also working on rust PTs. I am the author of proteus (https://github.com/unblockable/proteus) and recently integrated a new reliablity/session resumption library supertunnel (https://github.com/unblockable/supertunnel)
16:13:48 <pryty26[mds]> Also,
16:13:58 <cohosh> we've had a few contributions of rust PTs recently, each developing their own PT spec implementation, so it makes sense at this point to consider a rust pt spec library
16:14:09 <pryty26[mds]> My work has been reviewed by few person
16:14:20 <cohosh> here's a quic pt in rust: https://gitlab.torproject.org/tpo/anti-censorship/team/-/work_items/178
16:14:36 <pryty26[mds]> They are Marat K  (https://github.com/PHPCraftdream Author of ptrs-gesher)
16:14:55 <pryty26[mds]> robgjansen[mds]: Cool!
16:15:09 <pryty26[mds]> And 41_un ( Author of UAT )
16:15:26 <pryty26[mds]> I heard that you are going to review the UAT right?
16:15:58 <pryty26[mds]> And the 41_un informed me that they are going to build a new pt using rust-pt
16:16:46 <cohosh> pryty26[mds]: oh that's great that you're in contact, we've started looking at UAT
16:16:59 <pryty26[mds]> cohosh: Cool
16:17:12 <M4i_un[mds]> Hello, I'm here too.
16:17:15 <cohosh> but as meskio[mds] said we have a lot of work right now, so it's slow going
16:17:18 <cohosh> M4i_un[mds]: oh hi!
16:17:32 <pryty26[mds]> M4i_un[mds]: Hi bro
16:18:00 <meskio[mds]> I don't want you to put a lot of work on something we might need to change, as a PT framework is something we might have opinions on how it should look like
16:19:14 <pryty26[mds]> Oh thx! But tbh, it is almost done. But I'm looking forward for feedbacks
16:20:26 <meskio[mds]> :)
16:20:52 <pryty26[mds]> But overall, my opinion is that, if the tor officially need a framework... I would like to be a candidate...
16:21:42 <pryty26[mds]> :)
16:22:57 <pryty26[mds]> On the whole, is there a community developer would like to have a look ヾ(•ω•`)o?
16:23:55 <pryty26[mds]> https://gitlab.torproject.org/pryty26/rust-pt
16:24:14 <pryty26[mds]> Also if you would like to have a github mirror:
16:24:34 <pryty26[mds]> https://github.com/pryty26/rust-pt
16:25:11 <robgjansen[mds]> I'm looking over your rust-pt now, trying to wrap my head around it. Two questions: 1) what type of feedback are you looking for? 2) do you have an example of a concrete PT that is using your pt-lib backends, so that I might understand how someone would use it with their own PT?
16:25:59 <pryty26[mds]> Well
16:26:23 <pryty26[mds]> 1. Any types are really welcomed, including critical and other
16:26:29 <robgjansen[mds]> (I see your transports directory has something called reality-pt, but it does not seem to use any of your other backends. It instead is doing some hard-coded xray things that I don't understand)
16:26:48 <pryty26[mds]> 2. Not right now, I'm going to make a pt using it
16:27:11 <pryty26[mds]> reality-pt is not really implemented because I'm still working with end up with the ExtOrPort handshake
16:27:33 <robgjansen[mds]> OK cool, thanks!
16:27:53 <robgjansen[mds]> I can offer to take a closer look at the code async. Doing it now will not be productive for everyone.
16:28:02 <pryty26[mds]> Yeah the reality-pt is not really implemented...
16:28:27 <pryty26[mds]> Therefore i thik the pt_core and else would be nice to have a look
16:28:52 <robgjansen[mds]> However, one of the first things I will want to see is a real PT using your library, even if it just acts as a dummy passthrough PT that just forwards IO rather than doing any obfuscation.
16:28:53 <pryty26[mds]> 4i_un:  Do you have any idea when we should start a new PT based on that?
16:29:04 <pryty26[mds]> robgjansen[mds]: Ok!
16:29:44 <pryty26[mds]> Oh yeah BTW
16:29:58 <robgjansen[mds]> Like, let's say I want to change proteus to use your library. Having an example inside your repo that shows how to do that the way you intend would be needed for others to adopt it
16:30:19 <gaba> pryty26[mds]: can i ask if you are using AI in writing or assisting the work you did on rust-pt?
16:30:24 <M4i_un[mds]> pryty26[mds]: Honestly, I haven't decided anything yet regarding the new PT. There's the UAT to deal with, so I'm planning to just work on development a little bit in my spare time.
16:30:29 <pryty26[mds]> The review from 4i_un:  said that at least my code should work with real Tor. But ofc, an example is mandatory
16:30:51 <M4i_un[mds]> BTW, If everyone on the anti-censorship team is busy, I might be able to handle a partial code review myself.
16:31:09 <pryty26[mds]> gaba: Nope, for code all by hand, but AI reviewed something to make sure that code do not have any bugs
16:31:39 <pryty26[mds]> You can see my AI policy at CONTRIBUTING.md
16:32:03 <pryty26[mds]> Which informed developers that
16:32:04 <pryty26[mds]> 2. Please do not use AI to generate the code which you are submitting for inclusion of the work!
16:33:07 * pryty26[mds] uploaded an image: (119KiB) < https://matrix.debian.social/ircbridge/media/v1/media/download/AazyfK2zLe1gFrNb-LnemMPNvGnc793Tb2eEn3aqKAeBZgHaxqDpRFZthET5ks_8Xjx09-h6fPNqAWtfOV6nzeVCeg1EN8qQAG1hdHJpeC5vcmcvbGp0UGlGcWFQeUhmTVRyc3R1bFNWbkRY >
16:33:13 <pryty26[mds]> Actually I'm just working with my rust-pt today
16:33:32 <pryty26[mds]> And I will push new commits... at the evening or tmrow
16:33:59 <M4i_un[mds]> pryty26[mds]: https://gitlab.torproject.org/pryty26/rust-pt/-/work_items?sort=created_date&state=opened&first_page_size=20&show=eyJpaWQiOiI3IiwiZnVsbF9wYXRoIjoicHJ5dHkyNi9ydXN0LXB0IiwiaWQiOjM0MTE2Mn0%3D
16:35:47 <pryty26[mds]> M4i_un[mds]: And the most of the bug is fixed
16:35:56 <pryty26[mds]> See comment below the issue
16:36:34 <meskio[mds]> thank you robgjansen and 4i_un to step in for a review
16:36:48 <meskio[mds]> I agree with rob that having an example of a dummy PT will be very useful
16:37:19 <pryty26[mds]> meskio[mds]: I will try to do it at this month
16:37:39 <pryty26[mds]> <(^-^)>
16:38:55 <robgjansen[mds]> Thank you, I will send other feedback offline.
16:39:22 <pryty26[mds]> robgjansen[mds]: Yes, then please DM or @me
16:39:24 <robgjansen[mds]> I will be checking to see if I think I could feasibly replace the proteus pt impl parts with your library instead.
16:39:41 <pryty26[mds]> robgjansen[mds]: Oh really? Thank you so much!
16:40:02 <robgjansen[mds]> Another thing that would be useful is stating explicitly up front in your readme what is the reason I should use your library rather than my own.
16:40:21 <robgjansen[mds]> Is yours faster? It is stable? Is it well tested? etc
16:40:30 <robgjansen[mds]> You have to sell me :)
16:40:31 <pryty26[mds]> Oh yeah, about ai using, some docs are polished by AI (Because I have a poor english
16:41:07 <robgjansen[mds]> Maybe yours is more complete than mine?
16:41:13 <pryty26[mds]> robgjansen[mds]: OuO, actually I think my code quality is ok because
16:41:22 <pryty26[mds]> 1. I used arti lints
16:41:30 <pryty26[mds]> 2. I add something in my lints
16:41:47 <pryty26[mds]> #![deny(clippy::pedantic)] // This is not in Arti
16:42:05 <pryty26[mds]> And I made sure that clippy returns OK (0 errors or warnings)
16:42:39 <pryty26[mds]> And ofcourse every functions has docs,
16:42:55 <pryty26[mds]> also I used many pre-macros (using derive-deftly)
16:43:15 <pryty26[mds]> rust-pt\rust_pt\pt_core\src\orport\extorport.rs
16:43:31 <pryty26[mds]> I think my state machine may be clear
16:43:52 <pryty26[mds]> OFC, I'm not really familiar with performance testing, (is anyone familiar with that?)
16:44:10 <robgjansen[mds]> OK cool. I just mean you should add those positive reasons in your readme because that would help other people understand what your library would provide for them
16:44:49 <pryty26[mds]> And ofc it would be simple than implemente basic pt things themself (👈(゚ヮ゚👈))
16:45:05 <pryty26[mds]> robgjansen[mds]: Yeah, I will do it
16:45:08 <pryty26[mds]> So, my plan is
16:45:26 <pryty26[mds]> 1. Resolve all the problems that 4i_un reviewed
16:45:37 <pryty26[mds]> 2. Add an example PT
16:45:45 <pryty26[mds]> 3. Improve docs and sell it
16:46:11 <robgjansen[mds]> Yes, those would be great next steps
16:46:52 <pryty26[mds]> pryty26[mds]: And I will keep implementing my Rust-pt following pt-spec
16:47:05 <pryty26[mds]> so if there is something new, they do not need do it again
16:47:39 <pryty26[mds]> So, keep it simple, stupid
16:48:11 <meskio[mds]> nice, I think we have a next steps for this
16:48:18 <meskio[mds]> anything more for this topic?
16:49:38 <pryty26[mds]> Nothing from me :)
16:50:09 <pryty26[mds]> Oh yeah ofc Im looking forward for new contributors. So (:
16:50:16 <meskio[mds]> on interesting links we have a x2 increase on snowflake users this month
16:50:34 <meskio[mds]> I was doing a fast look into the usual suspects (Iran, China, Russia, US) and none of them increases on that size
16:50:41 <meskio[mds]> so is comming from somewhere else
16:51:59 <meskio[mds]> anyway, maybe something to investigate outside the meeting
16:52:04 <meskio[mds]> anything more for today?
16:53:03 <cohosh> i don't see a large increase in client polls, that is interesting
16:53:10 <Shelikhoo[mds]> EOF from me
16:53:20 <cohosh> nothing more from me
16:53:25 <meskio[mds]> then I guess I can close the meeting
16:53:36 <meskio[mds]> #endmeeting