lurtz / sleep-proxy

GNU General Public License v2.0
1 stars 1 forks source link

Project maintenance status #12

Open rockerbacon opened 1 year ago

rockerbacon commented 1 year ago

I'm opening this issue so that we may better discuss https://github.com/lurtz/sleep-proxy/pull/2#issuecomment-1427017659.

My understanding is that @lurtz does not intend to keep up the same amount of work as when this project first started and that any work that I decide to put into it could be slowed down because of that.

This situation is not a problem for me, personally. I intend to use this project for reducing energy costs within my home network, by putting some non latency critical servers, which cannot go into low c-states, in lower s-states and waking them up on-demand using a low power consumption SBC. I don't expect to be doing a lot of work on this project after my initial setup is complete, and since I'm compiling and installing everything manually anyway, I have no hurry in getting my changes into the mainline.

I could provide further assistance in maintaining the project, if necessary, but that would depend on whether or not there's any desire to make it more popular.

lurtz commented 1 year ago

It would be interesting what happens if this gets really promoted. Back then I felt like I am still not ready to promote it (bugs, missing features). If you are willing to do that, then I definitely would need your help to handle the feedback.

I guess I can handle your current pace and I even added some build jobs in the last weeks :) If you do not intend to maintain this or even add new features/fix bugs is also fine. The offer is there to give you more permissions.

After I lost the need for this code (home server is gone) I tried to increase the testing, as I was always afraid of breaking the core feature, which I cannot test anymore. That is currently also my biggest concern, when tinkering with the code xD These are the bugs I created, when I still had a server: https://bitbucket.org/cg2/sleep-proxy/issues?status=new&status=open (I moved the code to Github a while ago and need to port the bugs)

rockerbacon commented 1 year ago

I'd definitely be up for helping spread the word and work on the feedback. The first thing we'd need is determining which issues and missing features have a highly negative impact on collaborators and end-user experiences. We want to have the project in a state we're comfortable with so that the initial promotion has good conversion.

I'm yet to fully deploy sleep-proxy on my local network, my experience has been limited to specific tests. Once I use it more I'll have a clearer vision on what I can help with (I should get it going in the next couple days).

I'll see if I can migrate the existing issues over the weekend, it'll give me a good opportunity to take a look at known improvement paths.

lurtz commented 1 year ago

As far as I can tell from the old issues IPv6 may not work yet. At IPv4 arping works quite fine to see if the IP to be emulated is currently alive on the network. For IPv6 I experimented with "ip neigh" and later with ndisc6, which should work better: https://github.com/lurtz/sleep-proxy/blob/master/src/sleep-proxy/duplicate_address_watcher.cpp#L68-L100

Another issue is also that resending the SYN packet from the client does not work. E.g. if I want to ssh into a host the should be woken up and then responds to my ssh client. But in reality my ssh client needs to send a second SYN which then reaches the real host which then responds: https://github.com/lurtz/sleep-proxy/blob/master/src/sleep-proxy/libsleep_proxy.cpp#L164-L181

If I have time I will work more on some Github workflows. These are really nice for reviewing pull requests.