oxen-io / lokinet

Lokinet is an anonymous, decentralized and IP based overlay network for the internet.
https://lokinet.org/
GNU General Public License v3.0
1.72k stars 220 forks source link

Ability to allot a certain bandwidth #2072

Open absolutep opened 1 year ago

absolutep commented 1 year ago

Right now, Lokinet just eats up whole network bandwidth, which is not good for two reasons.

i) Not a lot of Snapps are present when using lokinet. ii) When using Lokinet as a VPN with default exit node, the success rate of opening a clearnet website is less than 40%

But I still want to contribute to the lokinet network and can spare some of my bandwidth without it being an interruption to my work that's is the reason why I am asking for the ability to decide how much bandwidth I want to provide the lokinet.

For example :- If 200mbps is my network, I want to allot 50mbps to lokinet and with rest I can do my work.

OS :- Windows 10 x64.

majestrate commented 1 year ago

traffic shaping feels like it is mostly the responsibility of the OS itself except in one case, tunneled traffic written to the lokinet network interface going to the os.

When using Lokinet as a VPN with default exit node, the success rate of opening a clearnet website is less than 40%

we have a one line fix for that on windows. i am going to open an issue just for that now that i learned we got that (was on vacation last week).

majestrate commented 1 year ago

also related #2071

absolutep commented 1 year ago

traffic shaping feels like it is mostly the responsibility of the OS itself except in one case, tunneled traffic written to the lokinet network interface going to the os.

When using Lokinet as a VPN with default exit node, the success rate of opening a clearnet website is less than 40%

we have a one line fix for that on windows. i am going to open an issue just for that now that i learned we got that (was on vacation last week).

Thank you.

absolutep commented 1 year ago

I would like to request this feature with urgency.

jagerman commented 1 year ago

I would like to request this feature with urgency.

What feature are you requesting here? Lokinet is not a client-level peer-to-peer protocol: it does not use your bandwidth at all unless you are accessing something on Lokinet (or through a lokinet exit).

absolutep commented 1 year ago

What feature are you requesting here?

Respected sir, if I am commenting under issue #2072 with the heading "Ability to allot a certain bandwidth #2072" then I am specifically talking about this feature only.

But I still want to contribute to the lokinet network and can spare some of my bandwidth without it being an interruption to my work that's is the reason why I am asking for the ability to decide how much bandwidth I want to provide the lokinet. For example :- If 200mbps is my network, I want to allot 50mbps to lokinet and with rest I can do my work.

Also, I have already mentioned as to why I am requesting the feature.

Lokinet is not a client-level peer-to-peer protocol: it does not use your bandwidth at all unless you are accessing something on Lokinet (or through a lokinet exit).

Pardon my layman technical knowledge, I use lokinet to browse some websites (with help of default exit node) or to download some things.

Questions comes to my mind when reading your quoted reply -

1) If I keep my lokinet ON (for say 4 hours) then would it not help other users of Lokinet? 2) If it does help the users - are they not going to use my Lokinet router as a relay or exit node? 3) If other lokinet users does use my lokinet router as a relay or exit node - would it not eat my bandwidth?

Thanks.

jagerman commented 1 year ago
  1. If I keep my lokinet ON (for say 4 hours) then would it not help other users of Lokinet?

No, it will not. Lokinet traffic is carried by staked, incentivized routers on the Oxen service node network, not by individual endpoints.

  1. If it does help the users - are they not going to use my Lokinet router as a relay or exit node?

Lokinet routers, as I mentioned above, are not the same as clients: they have a long-term stake of Oxen to operate as a service node, and receive rewards (as long as they function adequately).

You can choose to set up a lokinet client as an exit node. Typically this would be on a VPS or dedicated server; that would then allow other Lokinet clients to connect to you and send traffic through you. This is not automatic, however: they would have to know your lokinet address in advance and manually configure their lokinet to use your exit node. (exit.loki is one such node that we operate in this fashion).

  1. If other lokinet users does use my lokinet router as a relay or exit node - would it not eat my bandwidth?

An exit mode indeed will, but that is not enabled by default (and takes some extra OS-level configuration). Staked routers do carry significant bandwidth, but they are set up completely differently.

absolutep commented 1 year ago

Thanks for answering, this does clear some of my doubts.

I thought Lokinet routes traffic like I2P does (in which each & everyone is a relay node or exit node within the network itself) and thus me keeping my router ON will help the network.

Chief36 commented 1 year ago

Anyways, I think ability to allot a certain bandwidth for Lokinet will make the UX better on metered networks.