Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

F-Droid inclusion #12

Open
shuvashish76 opened this issue May 28, 2023 · 5 comments
Open

F-Droid inclusion #12

shuvashish76 opened this issue May 28, 2023 · 5 comments

Comments

@shuvashish76
Copy link

Would you consider publishing this app on F-Droid please?

According to Izzy scanner report :

Offending libs:
---------------
* Play Install Referrer Library (/com/android/installreferrer): NonFreeDep,NonFreeNet,Tracking
* Android Market (/com/google/android/finsky): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* Firebase (/com/google/firebase): NonFreeNet,NonFreeDep
* Sentry SDK for Java (/io/sentry): Tracking

5 offenders.

As Izzy pointed out there, any possibility of keeping FOSS flavour without these libraries for F-Droid?

@pimterry
Copy link
Member

Hi @shuvashish76 - sure, I'd happily welcome PRs to support this if you're interested in that.

That said, I should note that this app isn't primarily distributed via the Play store anyway. In most cases, it's used the the ADB activation option in HTTP Toolkit, which directly installs the app via ADB itself. I agree it might be nice to have it explicitly available via F-Droid too, but you can use this app on devices without the Play store anyway.

@shuvashish76
Copy link
Author

Sorry, I can't help since I'm not a dev. :(
But F-Droid maintainers will take care the publishing part if you could provide the FOSS flavour.

@pimterry
Copy link
Member

Ok - I'll keep this open, but I'm not going to have time to do this myself I'm afraid.

If anybody is sufficiently interested to implement this, I'll happily review & merge a PR for the changes required but I'm afraid it's not a priority for me. From my POV and I think for most HTTP Toolkit users, it wouldn't add very much value because - as above - the app isn't generally distributed via app stores at all, so alt stores aren't really useful. If you or anybody else would get value from this though, enough that you're interested in implementing it, go for it! Happy to answer questions about the preferred approach or discuss any questions in that case, just reply here.

For anybody who is interested in this, you might also be interested in just downloading the APKs directly. You can do that here: https://github.com/httptoolkit/httptoolkit-android/releases/latest

@cHAuHaNz
Copy link
Contributor

cHAuHaNz commented Feb 3, 2025

the app isn't generally distributed via app stores at all

@pimterry can you help me understand the usage of this then? Do we have a particular case when user is redirected to store?

// If not, check if this is a post-install run, and if so configure automatically
// using the install referrer
launch {
val firstRunParams = app.popFirstRunParams()
if (
firstRunParams != null &&
firstRunParams.startsWith("https://android.httptoolkit.tech/connect/")
) {
launch { connectToVpnFromUrl(firstRunParams) }
}
}

@pimterry
Copy link
Member

pimterry commented Feb 3, 2025

If you scan the QR code from the desktop with a normal QR code scanner, without the app already installed, it sends you to the play store to install it (in that scenario, we can't install the app via ADB). What I meant by "the app isn't generally distributed via app stores at all" really is that nobody discovers the app via the play store - they just get sent there directly as a download source. Since we don't know what's on the user's device we couldn't use F-Droid or any other store for this, we basically just have to use the most popular store available.

It's not a very common flow really, most users use ADB setup, and I suspect when the QR code is used it's often used on devices that do already have the app installed anyway. I haven't actually tested the post-install referrer logic in years so tbh I'm not 100% sure it still works, but it's not actually critical - if it doesn't, you just end up inside the app and you scan the code again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants