Mygod / VPNHotspot

Share your VPN connection over hotspot or repeater! (root required)
Apache License 2.0
3.42k stars 362 forks source link

Please restart your device for VPN tethering to work #549

Closed soccerboys2008 closed 3 months ago

soccerboys2008 commented 3 months ago

When trying to use the repeater on version 2.17.4-g I'm met with this error

tried restarting my device, clearing the app storage, and reinstalling the app

nothing worked till I downgraded to 2.16.11 and everything was fine (then disabled auto update in play store, probably got auto updated from really old version)

Screenshot_20240312-013359_Settings Screenshot_20240312-013331_VPN Hotspot

Device info: Screenshot_20240312-015129_Settings

t-m-w commented 3 months ago

Hey, chiming in here since I apparently helped start a back-and-forth.

There is an issue open about this on the CalyxOS side, so it's on our radar. It's already been linked, but one more time in case anyone missed it: https://gitlab.com/CalyxOS/calyxos/-/issues/2192

To be fair, the particular setting we're talking about here isn't one that the majority of users will ever encounter at all, so it hasn't been a focus of manual testing, and this is the first time I've seen this issue come up. Please correct me if I'm wrong on this, but from my perspective, it's very niche.

Custom ROMs tend to have a number of added features and intentional behavior-altering framework changes that would require CTS tests to be modified in order to pass need extra attention to ensure they are able to even run properly (edit: I was reminded that I was thinking of other types of tests, when I mentioned modifying them, and this is for the case that a method signature or other functionality has been changed; actually changing CTS tests to pass goes against the point). This has been done in some cases, but it can be time-consuming and hasn't yet been done in all cases. With CalyxOS, in my experience at least, CTS tests are run for some things (e.g. WebView), and particularly they are run when modifying sensitive code, but it's done selectively, not yet run for absolutely everything.

Affected OSes don't ship releases with Google Mobile Services included, so it's not like there's a requirement to have all CTS tests pass, but of course it would be nice.

LineageOS and CalyxOS are open-source projects, so anyone can contribute code to solve issues like this, or can report issues and we'll do what we can.

Thanks!

Mygod commented 3 months ago

Thanks for the explanations! However, I'm unsure if changing CTS tests is the right thing to do since the whole point of CTS tests is to ensure compatibility. Also I guess you are probably legally not allowed to advertise your product with Android name if CTS tests do not pass: https://source.android.com/docs/compatibility/compatibility-faq#is-compatibility-mandatory

Anyway back to the topic, I don't think that commit is necessary since only system apps and shell can modify (in fact, or even read) uids_allowed_on_restricted_networks as far as I'm concerned.

t-m-w commented 3 months ago

I agree this is not an appropriate place for legal discussions.

The commit would not be necessary in AOSP, which does not have a native user-accessible firewall. Whether or not the commit is still necessary in custom ROMs is a different matter and will be looked at.