pravitva / pravitva3

0 stars 0 forks source link

As ShadowVPN now supports multiple clients, I wonder if it will support a tinc-like full mesh p2p model. A major defect of tinc is that it uses TCP to maintain peer connection information and TCP connections are easily interrupted. And its complicated public key authentication seems not necessary. A password is enough, according to ShadowVPN. #2

Open pravitva opened 1 year ago

pravitva commented 1 year ago

As ShadowVPN now supports multiple clients, I wonder if it will support a tinc-like full mesh p2p model. A major defect of tinc is that it uses TCP to maintain peer connection information and TCP connections are easily interrupted. And its complicated public key authentication seems not necessary. A password is enough, according to ShadowVPN.

I was thinking, ShadowVPN could maintain a local database for each of its peers, send frames or packets received from kernel according to its ethernet header or IP header(yes, I think tap devices should be supported as well). It could also detect virtual link status and maintain a shared database among its peers like OSPF. On layer 3, we have several routing mechanisms. Similar schemes could be adopted.

I understand that these are a lot of work. I would love to help but I'm afraid all I have now are some ideas. Appreciated if this could be implemented.

Originally posted by @Blaok in https://github.com/clowwindy/ShadowVPN/issues/150