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