Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Support for iroh-net to Enable Hole Punching #4

Open
tareknaser opened this issue Jun 24, 2024 · 0 comments
Open

Add Support for iroh-net to Enable Hole Punching #4

tareknaser opened this issue Jun 24, 2024 · 0 comments

Comments

@tareknaser
Copy link
Collaborator

Description
I noticed we are currently using iroh-blobs alone. iroh-blobs implements a simple request-response protocol. From what I've seen in iroh examples, the standard approach is to use iroh-blobs together with iroh-net for networking support. iroh-net is built on direct peer-to-peer QUIC connections that use relays and hole punching.

Since our implementation does not use iroh-net::Endpoint, it does not support hole punching and will only work locally or between two processes with public IP addresses. This is not the end goal for Ark Drop.

sendme is a good example that achieves a similar goal to what we have in mind. It uses iroh-bytes and iroh-net to send files and directories over the internet.

For this, we should integrate iroh-net into Ark Drop to support hole punching. This will allow the application to work even when the devices are behind NATs or firewalls.

Testing

Not really sure how this will turn out, but we should have some tests to verify that hole punching works. We should add basic GitHub CI workflows that run with each push/PR.

Potential solutions

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

No branches or pull requests

1 participant