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.
It's a great idea to have full mesh model but I'm afraid currently I'm focused on Shadowsocks clients. If there's anyone who's interested in implementing this feature, please let us know. Thanks in advance.
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.