Skip to content

Conversation

@canselcik
Copy link

If you ask me, my changes are not ready for production use yet but it seems to work.
This was a pretty quick hack to see if it would work, seems to work.

image

@canselcik
Copy link
Author

canselcik commented Mar 17, 2025

I don't expect a merge as it stands, especially since the way that it is tacked onto the entrypoint is particularly hacky.
Mainly wanted to share this proof of concept as it is something I'd like to see in the ecosystem.

Might make more sense as a standalone utility, or just like how SSH does it, we can send it back and forth on top of the session as a separate data channel.

@acehoss
Copy link
Owner

acehoss commented Mar 31, 2025

Hi @canselcik, thanks for taking the time to implement this! It's a cool idea and great to see it is working for you!

I currently am extremely busy with work and don't have time to dig into implementing this myself. Similar to your SOCKS5 proxy, I've been interested in adding SSH-style port forwarding for a while, I just don't have the time right now.

There is an additional consideration which is that Reticulum's creator is somewhat reluctant to make it too easy to send IP over Reticulum as this doesn't align with the vision of Reticulum. The main concern is that IP incentivizes centralization which in turn facilitates surveillance. VPN software like WireGuard already makes it easy to secure arbitrary IP links, so bridging IP over Reticulum would just be a less performant way of doing the same thing. I think that port forwarding could allow a more surgical way to provide TCP over Reticulum, but it contravenes the vision in the same way.

That's his take, and though I don't feel as strongly about it I see his perspective (and recent tech developments are revealing his vision had more foresight than I previously recognized). However, I'm not going to say to you "don't do this".

Some feedback to work towards a merge.

  1. You pulled the minimum python version up to 3.12. We want to support the same versions as the base Reticulum package supports, which means >=3.7. So you'll need to figure out how to get your branch to run on 3.7 to get a merge.
  2. Your PR deletes all the tests. The tests are a little finicky, but with the right coaxing they do work. You'll need to restore the tests and ideally add tests for the socks stuff to get a merge.

Without reviewing more in-depth I can't say for sure this is all, but these are the biggest things I noticed. Thanks again for your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants