Opened 7 years ago

Last modified 3 years ago

#1139 open enhancement

"Semi-shutdown": Temporarily stopping accepting participating tunnels.

Reported by: _Vi Owned by:
Priority: minor Milestone:
Component: apps/console Version:
Keywords: participation easy Cc:
Parent Tickets: Sensitive: no


Suppose you are using I2P router on a laptop. You have a good VPN connection with static IPv6 and properly forwarded TCP and UDP ports for I2P, so you want to participate and be useful to the I2P network.

But you need to go offline from time to time. As suddenly going offline while having lots of participating tunnels causes some problems for other users, the recommended way of "saying goodbue" is pressing "graceful shutdown" button on a page and waiting for up to 11 minutes.

As far as I understand, doing this is equivalent to:

  1. Setting router.maxParticipatingTunnels=0;
  2. Waiting for current participating tunnels to expire;
  3. Shutting down I2p;
  4. Restoring router.maxParticipatingTunnels on next bootup.

I want to be able to put I2P into transient "semi-shutdown" mode: no participating tunnels allowed, but I2p still works (so I can chat in the IRC / view some eepsites) and can be safely shut down in any moment. It should work like this:

  1. Set router.maxParticipatingTunnels=0;
  2. Wait for current participating tunnels to reach "0";
  3. Display message like "Router can be turned off anytime now";
  4. In case of router restart (including because of clock skew or public IP change or other event; maybe also just after timeout), restore router.maxParticipatingTunnels back to original value.

As a workaround I currently use

sed "s/router.maxParticipatingTunnels=.*/router.maxParticipatingTunnels=$1/" -i $HOME/.i2p/router.config

script in advance before putting computer to standby and after bringing it back online. This is not convenient as I have to remember to put the config option back. It would be useful to have a "Suspend participation for 1h" button.


Change History (5)

comment:1 Changed 6 years ago by str4d

Component: unspecifiedrouter/general
Keywords: shutdown removed

comment:2 Changed 5 years ago by zzz

Component: router/generalapps/console
Keywords: easy added
Status: newopen

Would be pretty straightforward. Anybody have a proposal on where the button would go?

comment:3 Changed 4 years ago by slumlord

If "laptop mode" is enabled there could be a "Stop/Start? Accepting Tunnels" button displayed below the Restart & Shutdown buttons. That's my suggestion but I'd like to hear other options too.

Since str4d (and others) have been working on a UI redesign, this change could be included in the upcoming UI release?

comment:4 Changed 3 years ago by zzz

@slumlord maybe… if hidden behind configadvanced setting? Or put on the tunnels page? Summary bar is valuable real estate, would rather not clutter it.
This is now our problem to either implement, or decide not to.

comment:5 Changed 3 years ago by slumlord

Yeah, it is not a good idea to have it in the summary bar especially if it isn't a feature that will be widely used.

Hmm, re-reading this ticket it seems like this would be similar to enabling hidden mode? Maybe a "Enable Hidden Mode Until Restart" button could be added on /confignet if it would meet vi's requirement. Looking through the various config pages, I really can't tell a sensible place for a "Stop Participating in Tunnels" button to be.

We haven't heard from vi in many years now, I don't know if this would currently be a priority for us.

Note: See TracTickets for help on using tickets.