samvrlewis / meshboi Goto Github PK
View Code? Open in Web Editor NEWmeshboi is a mesh VPN tool created for the purposes of learning and fun
Home Page: https://www.samlewis.me/2021/07/creating-mesh-vpn-tool-for-fun/
License: MIT License
meshboi is a mesh VPN tool created for the purposes of learning and fun
Home Page: https://www.samlewis.me/2021/07/creating-mesh-vpn-tool-for-fun/
License: MIT License
Some Mesh VPN tools I've used (VPNCloud & Nebula) support the capability to build the "mesh"
across multiple Server Nodes (local, cloud or hybrid).
They also support "routing" a Mesh Node's subnets across the Mesh.
Does Meshboi support that capability?
This is particularly useful for Server Nodes that "host" Containers (Docker & LXD in my Use-Case). Containers
on any "Host/Server" run on non-routeable 10.x.x.x subnets.
So having any particular Server/Host configured as part of a Mesh VPN keeps the overall Mesh Config simple by
not also having to configure each and every Container.
thanks
Brian
I tested your mesh VPN on Oracle Cloud Free Tier using Oracle Linux 8
i got this error:
FATA Serious error reading from tun device: read /dev/net/tun: not pollable
i read that using unix.Open instead of os.OpenFile and setting the fd to NonBlocking seems to solve the problem
Can you fix ?
please
meshboi currently has some logic to ensure that the peer's firewall is open for inbound connection from other meshboi peers:
Line 137 in c5f221b
However, there currently is no mechanism to ensure that the firewall is kept open for the duration of the connection between the peers. This leads to firewall/s timing out the opened port and the connection between two peers dropping, if there is no traffic between the peers (for ufw
this seems to happen after ~10mins or so).
Similar to the heartbeat that is sent to the rolodex, to ensure the NAT mapping stays open
Line 82 in c5f221b
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.