pyamsoft / tetherfi

TetherFi - Internet sharing without Root
Apache License 2.0
391 stars 30 forks source link

Custom DNS Option Request (also: Bandwidth Limit is mislabeled) #322

Closed rjrajujha closed 3 weeks ago

rjrajujha commented 1 month ago

It would be great to have an option to set a custom DNS resolver. Additionally, when I set a bandwidth limit, the device stops receiving an internet connection. Please note that the tethered network with proxy settings works on all my devices except my Android TV.

pyamsoft commented 1 month ago

Hi!

DNS: because this is not a root app, we cannot manage DNS. The DNS resolver is whatever the phone uses, since it is the device making network requests.

Bandwidth limit: which device do you mean, the Hotspot device stops receiving Internet, or the Connected device? If your limit is too low, it may trigger earlier than you expect (or its a bug, new features and all that - you know how it can be).

TV: you are sadly not the first report regarding Android TV. I think the smart TV system just does not like WiFi Direct connections sadly :(

rjrajujha commented 1 month ago

Hi,

Thanks for the response!

I understand the DNS limitation due to the app’s capabilities. However, could we consider using DoH (DNS over HTTPS), as some popular browsers do? This might offer a more secure DNS solution.

Regarding the bandwidth limit, the issue is with the Connected device losing internet access when a limit is set. I’ll experiment with adjusting the limit to see if it resolves the problem.

I appreciate the update about the Android TV issue and understand the challenge with WiFi Direct connections.

Thanks for your assistance!

Best regards,
Raju Jha

pyamsoft commented 1 month ago

At the moment, we do zero DNS related stuff, so adding in DoH would be completely new, and admittedly not my specialty.

Speaking of, I just realized I may have incorrectly labelled the bandwidth limit in the app. It is not a bandwidth limit, as in, it does not control the amount of data over time. Rather, it is a data transfer limit. Once you go over the X amount, the connection is completely blocked. This is expected behavior.

The fix here I think is to relabel the current code as a transfer total limit, and implement a proper bandwidth control. Sorry for the confusion!

pyamsoft commented 1 month ago

Hello! A proper bandwidth limit has been implemented which will slow down connections that are too fast and limit memory buffers to a given amount with a max of 4MB per buffer (the previous hardcoded default)

I have tested this feature by limiting a Nintendo Switch when browsing the eshop and it seems to work nicely for me. I will release this feature in 45, which is currently in development. No hard release date yet, sorry

Thank you for your contribution to the project!

pyamsoft commented 1 month ago

Regarding the original ask for a custom DNS, at the moment I have no plans as I am not sure how much access I get to the access point side of the Wi-Fi direct connection, but I will break this off into it's own ticket for future exploration! I will close this current ticket regarding the bandwidth limit feature once 45 releases. Thanks!

pyamsoft commented 3 weeks ago

Version 45 is in beta in the store and should be released later this or next week. Thank you!

pyamsoft commented 3 weeks ago

Version 47 has been released to the store and a bandwidth limit has been implemented. Thank you for your contribution! I will consider custom DNS in a different issue once I have done research on what that would require.

rjrajujha commented 2 weeks ago

@pyamsoft Hi,

Thank you for the update and for addressing the bandwidth limit issue! I appreciate your efforts in implementing the new bandwidth control feature in version 47. It’s great to see progress on this.

I also understand the current limitations regarding custom DNS. I look forward to any future developments in that area and will be happy to provide any feedback or assistance if needed.

Thanks again for your support and for considering my feedback!

Best regards, Raju Jha