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

This works? Where are you taking it? #11

Open
didlie opened this issue Jul 31, 2019 · 7 comments
Open

This works? Where are you taking it? #11

didlie opened this issue Jul 31, 2019 · 7 comments

Comments

@didlie
Copy link

didlie commented Jul 31, 2019

I like the concept. Each node connects to only other nodes with the same name and password. Please give directions for installation and testing in Windows.

@xaionaro
Copy link
Collaborator

xaionaro commented Jul 31, 2019

Hello!

This works?

It's a work-in-progress project, yet. There's a lot of work to be done to stabilize it, better handle NATs, port it to all popular platforms and so on. But it already works between my Linux laptop and my MacBook (however even in this case there's some important things to be fixed). I didn't test the recent version in other cases, yet.

Please give directions for installation and testing in Windows.

OK, I will try to port it to Windows on this weekend. If it will work then I will add information to README.md about how to run it on Windows :)

I like the concept. Each node connects to only other nodes with the same name and password.

Yeah, me too :). Some of my friends asked me for a such services. I didn't expect to find somebody else for testing, and I will be glad to receive feedback/bugreports/pull-requests.

In any case I plan to make the first release (of the VPN only) in the end of August. I hope you will be still interested by the time :)

@didlie
Copy link
Author

didlie commented Aug 1, 2019

Ipfs is incredibly slow ... No?

@didlie
Copy link
Author

didlie commented Aug 1, 2019

what interaction have you achieved between nodes? have you tested latency of initial connection on machines on different networks?

@didlie
Copy link
Author

didlie commented Aug 1, 2019

also..thankyou for joining the noclouds project. This is the first project I created on Github, so please tell me if you can see the first "Project" in NoClouds, and is this something that you want to dive into or do you have any questions?

@xaionaro
Copy link
Collaborator

xaionaro commented Aug 1, 2019

Ipfs is incredibly slow ... No?

IPFS itself is incredibly slow, indeed (for example if you want to download some random file through IPFS). But I use predominantly only DHT of IPFS to discover other nodes with the same pair login/password. And in my sandbox tests it discover other node via IPFS's DHT within a minute. There're a couple of techniques to decrease this time in special cases:

  • If machines are in the same LAN then they use multicast to discover each other (it takes up-to 10 seconds, usually)
  • If it's not the first run, then it also tries to use previously known addresses to connect to known peers (to do not wait until the DHT will tell something).

After nodes discovered each other they creates a via-IPFS-connection for WireGuard and tries to initiate a direct WireGuard connection (to work bypass IPFS). A direct WireGuard connection works excellent, an via-IPFS-connection works good (consumes much more CPU, but latency is quite low).

what interaction have you achieved between nodes? have you tested latency of initial connection on machines on different networks?

I did not tested that in different networks, yet. I'm stabilizing a direct connection between MacOS and Linux, currently. As I said, it's a work-in-progress project, yet :(

This is the first project I created on Github, so please tell me if you can see the first "Project" in NoClouds, and is this something that you want to dive into or do you have any questions?

You offer to move ipvpn to NoClouds? :)

@didlie
Copy link
Author

didlie commented Aug 3, 2019

Yes we can move your repo to NoClouds. Can we remove the ipfs dependency? I built a mesh network from scratch using webrtc and connection times to first node average around 5 seconds with a simple "mirror" PHP script to mediate handshakes. Once connected to a single node additional connections are made in parallel, 2 to 5 seconds.

@didlie
Copy link
Author

didlie commented Aug 3, 2019

I can give you write access to your project on the NoClouds fork. Is that right, what you want?

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

2 participants