gudarzi / SaveHere

Minimal Cloud File Manager
The Unlicense
37 stars 8 forks source link

Add an option for selecting network interface to use for download #28

Open gudarzi opened 6 months ago

gudarzi commented 6 months ago

Add an option for selecting the network interface that the app uses for downloading files a webserver could be connected to multiple networks using different network interfaces, each with their own ipv4/ipv6 using different ip/interface for downloading files could help with rate limiting, network-level access management, etc.

artoodeeto commented 1 month ago

Hello. I want to try this out. I'm not familiar with network interfaces but its the wired and wireless interface connection right. Im assuming this is both frontend and backend.

So im thinking on the backend Ill get what NICs are available?

Ex: if there's wired or wireless. from here I can create an API to send to the frontend like:

not sure the form of the API yet but here im assuming.

{
  wired: true,
  wireless: true
}

and on the frontend they have an option to use either wired or wireless. like a drop down.

Heres the relevant link that ive been reading on C# about networking interfaces.

https://learn.microsoft.com/en-us/dotnet/api/system.net.networkinformation.networkinterface?view=net-8.0

im not sure im understanding the question right but let me know if im wrong. Thank you so much for this opportunity.

Also does this included in hacktoberfest? just wondering. Thank you again. I hope you have a wonderful day!

gudarzi commented 1 month ago

@artoodeeto If you run the command ifconfig in linux/mac terminal or ipconfig in windows cmd, you'll see a list of available network interfaces. The app should let user decide which interface to use for downloading, but it's not that easy to implement. I've tried to implement it a few time but I couldn't. (about hacktoberfest, i think it includes all opensource projects, but i'm not sure!)

artoodeeto commented 1 month ago

hello again. Ok I just research about this and been reading about the network interface and I couldnt find a method to bind to a new interface. Also I watch this video https://www.youtube.com/watch?v=PYTG7bvpvRI . so my understanding is binding to an interface should be done before the app launch?

anyway we can just put this on hold. Im just interested about this feature. Thank you!

gudarzi commented 1 month ago

@artoodeeto Yeah, sure. As I said, this one is not so easy to implement.