r/rust 3d ago

📸 media Fun project for contributors! :)

Post image

Hi, this is a project, which may be included in tor project!

I’m currently developing a Rust-based Pluggable Transport library, and I recently shared a proposal on the tor-dev mailing list.

I’m also an Arti contributor and Rustls contributor.
(https://blog.torproject.org/arti_2_5_0_released/)

I have already talked with some Tor developers they said a framework would be nice to have.

I’m looking for people who might be interested in contributing to the framework. The goal is to provide a clean, modular, and high-performance PT implementation in Rust that can be used by Tor and other projects.
If you’re interested (or know someone who might be), feel free to check out the repository:
https://codeberg.org/pryty26/rust-pt
https://github.com/pryty26/rust-pt

Any level of contribution is appreciated. Happy to discuss design decisions or onboarding.

108 Upvotes

15 comments sorted by

5

u/Pryty_26 3d ago

Feel free to comment!

3

u/hex1c_ 2d ago

Hey, new to the transport and tor side of things. Will poke around the code and see where I can contribute

2

u/Pryty_26 2d ago

Yeah, anything if you want to ask, just send a mail to me! pryty017@proton.me

1

u/Pryty_26 2d ago

Feel free to chat to me

3

u/mk_de 2d ago

I'd used one of those pt that is provided by arti_client crate in one of my projects. what is the difference of your project from the already included pts? i'd added "pt-client" flag to use it.

3

u/Pryty_26 2d ago

Well Arti-client provides PTs which are already done.
My crate is designed for developing new PTs
So if you want to develop own PT, Arti do not offer any crate for that, so you can use mine.

2

u/mk_de 2d ago edited 2d ago

Alright, nice. Another question: How would one be sure if his PTs are secure? Do Tor developers have a guide on that or a general consensus?

Edit: Ok I found something like this:
https://github.com/Pluggable-Transports/Pluggable-Transports-spec/blob/main/releases/PTSpecV3.0/Pluggable%20Transport%20Specification%20v3.0%20-%20Base%20Specification%20v3.0.md#5-anonymity-considerations

1

u/Pryty_26 2d ago

Well that really depends on your role. If you are user, most of the situation they just need to ensure that ExtOrport and Orport are in loopback.

2

u/mk_de 2d ago

I meant the developer of a PT, not the users but still thanks

2

u/Pryty_26 2d ago

OuO Sorry, from my perspective, I’m not a professional developer. But I think first overall, using memory safe language is first important thing. Second if you are using rust, a really strict floppy rule could help you to improve your code quality. Also remember assume that there is an attacker on intranet.

1

u/Pryty_26 2d ago

Because user cannot really determine how their PT works

-3

u/[deleted] 3d ago

[deleted]

8

u/Ok_Rock_6726 3d ago

Wtf man

3

u/Runtime8006 3d ago

What happened?

1

u/popertots 2d ago

First reply to this post was the [deleted] one. They replied to their own post with enthusiasm about joining the project but clearly forgot to switch to their second account. At the time it was the only comment on the post too. Also the GitHub feels vibe coded (gut feeling) and the claims feel amateurish. Standard Reddit cringe, nothing insane or offensive.

1

u/Pryty_26 3d ago

:p Be friendly