Closed Johnr24 closed 3 years ago
Hello,
yeah, it's totally possible to implement this feature and I'll go on with that in the next few days (I live in Bergamo, Italy, so I definitely have time for that at the moment).
My main concern is that it won't be really useful, since engarde is not focused on speed by design and I'm not sure you'll gain any benefit from this kind of bonding; however, I'm planning to work on something to improve this aspect, too.
I'll let you know as soon as I have news :)
Be safe man!
Hi, I'm also from north Italy 🇮🇹
I just saw this software and I have to say it is very good. I would like to test the classic bonding too since there is nothing that does that in a convenient way and sometimes I really need that.
Would be nice to have classic bonding in addition to redundant mode. (Since that now looks 100.0% stable, been running for months without interruption) we must be sure it does not interfere with current mechanism.
Maybe with a switch in the web interface (And API command) to seamlessly change mode without interruption.
I could implement in my script detection of high bandwidth so it automatically switches back and forth based on bandwidth utilization.
I think this will have to be fixed first though: https://github.com/porech/engarde/issues/22
You're right @Marctraider , issue #22 is what I'm trying to work on in those days. I'm approaching with different Golang network libraries to see which fits better, but I don't exclude rebuilding some small parts that handle network traffic in pure C/C++.
However, given the fact that this feature seems to be useful for some pepole, I could work on this before. Just don't expect, for now, to have more than about 250Mbps of throughput, which is what I see being the current limit on an average server (it could be enough in many use cases, by the way).
As always, I'll create separate builds with that new feature and I'll ask you to join me stressing them, so that @Johnr24 and @serniko97 can test out the new feature, and maybe @Marctraider can help me ensuring the redundant mode has no regressions, before merging it all to the official builds :)
Great 250mbps would be amazing Look forward to seeing your builds Stay Safe Everyone
I have just a question, does it work on top of an existing VPN or there might be conflicts?
Do you mean WireGuard over Engarde over another VPN? I wouldn't recommend this, but as long as the other VPN can pass UDP traffic I see no issues in that.
If you mean using Engarde on an already existing WireGuard VPN, yes it's totally possible, you just need to change the endpoint on the peer with engarde-client (the one with multiple connections) replacing it with 127.0.0.1:your-engarde-port. Please note this does not yet work on the official Windows WireGuard client, so you'll need Tunsafe for that.
Hello, yeah, it's totally possible to implement this feature and I'll go on with that in the next few days (I live in Bergamo, Italy, so I definitely have time for that at the moment). My main concern is that it won't be really useful, since engarde is not focused on speed by design and I'm not sure you'll gain any benefit from this kind of bonding; however, I'm planning to work on something to improve this aspect, too. I'll let you know as soon as I have news :)
Hey! Hope you are staying safe! I was just wondering if you'd managed to make any progress on this! Stay Safe Best J
Hello, yes, luckily we're safe, thanks :)
I'm taking some more time on this: I'm trying to refactor the code as much as I can to clean things up a little and implement the function without the risk to break something else.
I hope to have something working on, let's say, next week :)
Thanks!
Mhh was thinking for build stability testing it could be handy if someone would run two simple linux VM's and simulate a Multiple WAN <-> VPS connection.
In that case if stability remains good you'd only have to worry about making the code more efficient :)
Not sure if i personally have the capacity to run more VM's though, but if i do ill look into it.
My real life setup with engarde now works 24/7 stable but i can no longer jeopardize that.
Wouldn't a host and a VM be enough for testing? I could probably do the tests but in a couple of weeks I will start studying and won't have as much time.
Yea I suppose so, i also forgot there were windows binaries.
Hello, luckily, DigitalOcean gave me $ 50 in credit for engarde developement, and I can easily spin up virtual machines to test it. i use my own laptop for Windows testing, but most of the code is shared so it doesn't make a big difference.
I'll let you know as soon as I have news :)
Small update just to say I didn't forget about this, but some other works unfortunately took more priority than they should. Still working on this by the way, news soon I hope :)
I would love to test a classic bonding setup using WireGuard. I currently have only seen OpenVPN implementations. Let us know! =]
Thanks for the great work!
Hello, just to say I'm still alive but I'm not having free time to work on this as I'd like. But I didn't forget and I'm really going to implement this :)
No rush man, its done when its done :-)
Glad you're alive!!!! Yay =]
Just to say the popular OpenMPTCPRouter Project already has this functionality
Hello I was wondering if you could add a "classic" Bonding mode as you discussed on lowendtalk, let me know as I would love to test