F-Droid – alternative to Google Play store
f-droid.org
f-droid.org
I think it looks pretty awesome, personally. I look forward to learning more about it as I de-walled-garden my life.
I dont think thats true. I just searched Aurora Store with "ITV Hub", as its only available in GB, and I got no results, I am in US. Even if I manually go to the app page in Aurora Store, if I try to install, it says "Download Failed App not supported".
https://play.google.com/store/apps/details?id=air.ITVMobileP...
Is there any way to handle paid apps with Aurora, or are you limited to free apps only?
Although I think that doesn't work for all apps, since apparently some require the genuine thing to register / activate and won't work with microG. No personal experience, just read that somewhere once.
Personally, I only use a single paid app through Aurora Store (Sun Locator Pro for my photography needs) and have only done that for two days now. Google hasn't banned my mint fresh account. Yet. ;)
Aard 2: Offline dictionary
andOTP, Aegis: 2FA code generation (including Steam, if you have your secrets)
DAVx5, ICSx5: Sync calendar & contacts with standards-supporting servers
Element: End-to-end encrypted chat on the Matrix network
FBReader, Librera PRO: Books
K-9 Mail, FairEmail: Mail
KDE Connect: Phone notifications, SMS, files, remote control, etc. on the linux desktop (not just for KDE Plasma users)
Metrodroid: Read NFC transit card balances
NewPipe: YouTube
Organic Maps, OsmAnd~: Offline navigation (maybe online as well?)
Privacy Browser: Lightweight web browser with a simple dark mode, using the OS WebView for rendering
Shattered Pixel Dungeon: Fun roguelike game
Twire: Twitch
QuickDic is also very useful if you are traveling to areas where you don't speak the language. Offline dictionaries with very quick lookup. It's worth installing AnkiDroid too, if you do spaced repetition for language learning.
I use KOReader for PDFs, but it's not great. Are FBReader or Librera any better?
Simon Tatham's Puzzles are a fun little distraction.
I think I've only tried PDFs once on each of these apps, and that was so long ago that the PDF experience could easily have changed since then. (I mainly use them for ePUB books.) Perhaps someone else can answer?
I was recently in Pomona, and searched for a Walgreens. The first result was for Livermore, with the next couple results being 100-200 miles away. 4th or 5th on the list was a store in Ontario, and the rest were 30+ miles away. I discovered there was a store in Pomona while driving to the store in Ontario.
For UX, several months ago my phone decided to display pot leaf icons for all the pot stores in Seattle. This only happens in Seattle, and I've spent at least 30 minutes searching through the app trying to figure out how to toggle off the pot stores. Mind you the pot stores stay up even along side the results for more recent searches.
I use it all the time for bicycle route planning with elevation considerations.
> Waze continuously insisted to crowdsource data without using external sources or projects like OpenStreetMap that would restrict commercialization of the Waze map data.
Similarly when I was in Bangkok wandering around, Google wanted to cross the train tracks at a road that tripled the walking distance to the destination. In reality it was possible to cross the train tracks (i.e an actual crossing, not just anywhere). Worse it was much more dangerous to walk the Google route.
Fixing it on OSM was easy. Fixing it on Google was a pain because it had to be submitted and checked and approved (which it eventually was).
There are definitely places where OSM is far outstripping Google maps. Especially when it comes to non-roads.
> OSMAnd search is awful. For everything else it's pretty good!
I stopped using Open Street Maps because it won't turn off! I close the app, I close the notifications, but the damn thing keeps playing loud audio telling me directions when I've long since left the car and the phone is in my pocket.Of course the inability to exit an app without restarting the phone is a failure of the OS itself, but OSM is the only app that this happens with. What am I doing wrong? How does one exit OSM?
I‘m on an iPhone, so can’t check; but can you not simply stop the navigation of your route and then OSMAnd shuts up?
> can you not simply stop the navigation of your route and then OSMAnd shuts up
Possibly, but my goal is not to just get the voice to shut up but to actually close / quit the app.It's an absolute delight of an app in every way possible. A large number of features for hiking including a clever use of the barometer to run in the background and provide weather warnings, the standard compass/GPS, a TON of tools like flashlight, whistle, bubble level, triangulation without GPS... unfortunately I'm not a hiker so I don't know what to do with half of these, but it's amazing.
The UI of the app is amazing too - simple and material UI, but unobtrusive. The best part? It's 3.14MB (!!!!) in size. (And it's last update was 6 days back, so active development. And of course it's open source.)
Oh btw, the Play Store listing (186 reviews) has an average of 5 stars and no review below 4 stars. Go figure.
Termux: terminal
Antennapod: podcast client (RSS)
Fennec: Firefox (allows custom add-on collections so I can use Vimium)
KeyMapper: HW key and button remapping
Open Link With: open links with alternative apps
RedReader: Reddit client
mupdf: PDF viewer
Shattered Pixel Dungeon: roguelike
Something I am still looking for: folder-based music player with a seek UI that works well for long audio files (for example fine-seeking in a 4 hour long mp3)
I have some purchased audiobooks that are as long as 21 hours mp3. VLC sucks at playing those.
Other than this need, VLC is all I need.
Did you add any additional repo?
> Fennec: Firefox (allows custom add-on collections so I can use Vimium)
Vimium on an Android device? Tell me more. What keyboard are you using?On the Vimium side most functionality works the same as on desktop. Tab switching using Vomnibar.activateTabSelection and Vimium's search are the exceptions. You can of course still switch tabs and search the normal Firefox way.
I've been using "Smart AudioBook Player" by Alex Software (available via the play store). I particularly like the sleep timer, ability to change playback speed and the fact it seems to cope with extremely long audio files without having any problems.
I use Termux more, but it would be 2nd most used F-Droid app. It's a painless why to make files on your device available to anything with a Web Browser.
Feeder: RSS feed reader
Materialistic and glider: app for hacker news
Scrambled Exif: Remove metadata from picture before sharing
wifi analyzer for finding dead zones
diskusage is occasionally a 0.2 MB lifesaver
you might think satstat just shows a diagram of overhead satellites, but it also has a screen full of other sensor data
F-Droid has been a great source for apps, especially when I'm seeking a particular need without a specific app in mind. Most recently that's been wanting a file browser and a PDF reader. The open-source focus is a nice bonus, but more importantly I consider its stability to be the best of all Play Store alternatives I've tried.
> without any Google Play Services
Have you tried microG? I have been intending to get into calyxOS since it has microG as default for compatibility.
CalyX has is constantly harassing and bullying other privacy-focused projects, causing incredible harm to the privacy and security community. It also has been missing updates for 4 months recently, making it a terrible choice for anyone.
doesn't this also describe Google Play Services?
> No. LineageOS' developers decided not to include this patch for various reasons. The signature spoofing could be an unsafe feature only if the user blindly gives any permission to any app, as this permission can't be obtained automatically by the apps. Moreover, to further strengthen the security of our ROM, we modified the signature spoofing permission so that only system privileged apps can obtain it, and no security threat is posed to our users.
LineageOS for microG FAQs (https://lineage.microg.org/)
https://github.com/microg/GmsCore/issues/1567
Security is an afterthought for most Android distributions and most software built around them. I went from years of self building AOSP and LineageOS, and after a long hard look at why I was doing it, I stopped and installed GrapheneOS.
While it's an extremely opinionated project and borderline hostile, I trust the developers to do things correctly and will continue to use and recommend for security-conscious individuals.
This shouldn't be too hard as the OS is based on AOSP and there are employed Devs working on it as you can read in the Calyx institute's annual report: https://calyxinstitute.org/documents/2021-calyx-annual-repor...
They were also shipping an outdated version of Chromium (v94) during the same period (this is important since Chromium distributions for both CalyxOS/GrapheneOS are updated through OS updates - and Chromium is whitelisted by the OS to provide the WebView, even if you happen to use another browser). Considering their userbase is privacy/security-conscious, I think they should've been aware they were more vulnerable than stock OS for a while.
Looking at their source code it's also evident CalyxOS is increasingly relying on the LineageOS codebase. Not that it's a bad thing (LineageOS has its own goals but they're not necessarily aligned with security-focused projects), but it's worth noting.
You actively harass and bully by not providing any sources for your claims. That's bad for an open, fact-based discussion and is opposed to how I percept the community. What are your claims based on? Can you provide any sources? As far as I know, CalyxOS tries to maintain a quite neutral temper: https://www.reddit.com/r/CalyxOS/comments/pmguwi/grapheneos_...
You can read the details of CalyxOS' implementation of microG here: https://calyxos.org/docs/tech/microg-details/
> Made the permission signature|privileged so only system apps signed with the right key, or privileged system apps with an explicit allowlist for this permission can use it.
> Hardcoded the signature to be spoofed instead of letting the application specify it.
> Only allowed the microG packages, GmsCore and Store to spoof signature. Both of these are included as system apps on CalyxOS so simply checking against the package name is enough.
That doesn't sound like that much of a risk to me. Esentially, it's a tradeoff between privacy and usability that microG tries to solve/soften. For example, it came in handy, when standalone Open-Source implementations of Google's contact tracing approach weren't available yet. microG quickly implemented it so official apps worked.
the biggest issue with this setup is that you need to manually install a location provider (like mozilla location service) for microg from f-droid, and importantly, adjust app permissions to allow the location provider to always run in the background. if you don't have the location provider installed and allowed to run in the background, a lot of apps like lyft, lime, uber, gig, etc will misbehave
Unfortunately political when it comes to marginalized social platforms, as previously covered here:
F-Droids statement on their ban of Gab | Hacker News https://news.ycombinator.com/item?id=20466730
[0] https://en.wikipedia.org/wiki/Hate_speech_laws_by_country
It's weird and arbitrary to ban Gab, but not TorServices and related Tor apps.
My peertube client android app[1] has a default peertube instance that I run. My peertube instance which is the default in the app follows very few other servers because I don't want my app to be kicked out of the play store although also available on f-droid. So in essence I am censoring that instance, however you can easily switch to any other peertube server.
https://guardianproject.info/contact/android-python-contract...
I use a lot of apps from F-droid, and was pleased to discover fdroidcl: https://github.com/mvdan/fdroidcl
I now have a script that installs most of my daily driver apps using it, given ADB and developer mode active on the phone.
I'm using Syncthing to shuttle data between phone and laptop, and that's lovely, especially with the npm syncthing-hooks package installed.
If anyone has other tips on automating phone setup, especially in a plain-text, Git-friendly way, I'd love to hear about it.
Also, in what contexts do you use it?
Which contexts? I can develop python modules on my phone, pass them back and forward via git and do things during downtime.
It offers better updates with the new Android 12 API.
Also, it is stuck on old APIs and won't allow the use of Android's new unattended update feature (UPDATE_PACKAGES_WITHOUT_USER_ACTION) and requires intrusive privileged system access to do that.
A more serious flaw opposing the Android security model is the fact that an app store is supposed to feed from a single repository which F-Droid does not adhere to.
Also, often these repos are poorly maintained, rarely updated and often conflict with Play Store packages because they use identical app ids.
All they care about is to be free from "evil proprietary components" which comes at a great cost of security and inescapably privacy.
It's just not a good choice for these and additional reasons such as building a ton of their apps unattendedly on a potentially malicious server.
Citation, please?
https://arxiv.org/abs/1904.05572
See my other comment for what I did find, which is exactly the opposite of what OP says:
F-Droid follows a similar model to traditional linux package managers which has shown time anda gain the they are both trustworthy and secure (or at least, they offer the user the freedom to choose the level of trust they have in the package signers).
When installing from a Debian repo, I'm typically installing a package that is not build/signed by the upstream developer. I am implicitly (in the case of a default install) trusting the Debian developers signing practices or explicitly (if you add a third party repo). This means you trust both those in charge of the building/packaging/signing as well as the upstream developers. The same is true of F-Droid.
Of course, the notable exception is that F-Droid also supports upstream packages signed by the developer if the builds are verifiably reproducible.
People using F-Droid might not be aware that they are trusting a third party as they think it is a trusted distribution channel, relying on the information stated on the client app or website.
Here's the exact text of the warning:
> Your phone and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your phone or loss of data that may result from their use.
What? A smart phone is just a computer—they are the same thing. Everything from private chats to TOTP tokens are on both my phone and my laptop. The only difference is my bank cries if I’m rooted on my phone and says nothing about it on my laptop.
You'll very likely have much more personal data (personal emails, tax returns, banking data, etc) on your PC than on a phone that's just got a few social media apps on it.
Linux is also the worst of desktop operating systems.
Any iOS device that has not been registered with Apple for use on a dev team or rooted can run only built-in apps and ones instslled from the iOS Store.
That means it can only run apps explicitly approved by Apple.
Sure, Safari has had some zero days, as has iOS generally, but as Heartbleed, Shellshock, and Log4Shell have shown, open source is not magical fairy dust that makes things secure.
Overall, my bet's on the team at Apple being better at securing their systems than the random collection of individuals and overworked maintainers that have assembled the parts in a modern Linux desktop.
>Heartbleed, Shellshock, and Log4Shell ...
... are all irrelevant to desktop Linux...
(btw Heartbleed affected Linux desktop OSes such as Debian, Mint, Ubuntu, RHEL, etc.)
Can't you run any app you want if you install it through XCode for up to 7 days, even without registering as developer?
I thought that's how several of the unofficial iOS AppStores for apps that break the rules of the regular sandbox work
I've been maintaining an iOS app generation framework at $DAYJOB, and I've never found a way to run Xcode builds on physical devices short of actually registering the device with Apple for that purpose.
If there's a way to work around it, I'd be shocked and delighted.
Quoting their FAQ:
Why do you need my Apple ID?
Apple allows anyone with an Apple ID to install apps they’ve built themselves onto their devices for testing. AltStore uses your Apple ID to communicate with Apple's servers on your behalf and perform the necessary steps to prepare your account for installing apps onto your device.
Why does it say my apps will expire in 7 days?
Unfortunately, apps that have been installed using non-developer Apple IDs (in other words, Apple IDs not tied to a $99/year Apple developer account) are only valid for 7 days, at which point they will no longer open. To compensate for this, AltStore will periodically attempt to refresh your apps in the background, and you can always manually refresh your apps from within AltStore.
Thanks!
On the other hand, there are two big security advances prevalent on mobile but rare on Linux and other desktop operating systems:
- capability-based sandboxing (ie. enforced app permissions)
- device integrity attestation (ie. the system can tell if you've modified your device in non-standard ways)
Linux does actually have nascent and partial efforts on both fronts (eg. Flatpak, Snap, Secure Boot support) but even then they're usually not popular or easy to use.
That lock does not delete the secret key material from the phone. That is how things like the Cellebrite forensics box can still crack phones. An encrypted desktop stores the secret key material in the user's head. Such a system is for all practical purposes unbreakable when it is shut off. The security comes from usage. It is impossible to create a system that is easily available to a user that is not also somewhat available to an attacker.
An open source program maintained in the open by the users of that program is going to be safer than a hostile proprietary program kept in the sandbox of Flatpak, Snap or whatever.
> An open source program maintained in the open by the users of that program is going to be safer than a hostile proprietary program kept in the sandbox of Flatpak, Snap or whatever.
The number of users who have the motivation (let alone skill) to maintain their programs is approximately zero. This is how you get vulnerabilities like the log4j ones that have almost unlimited exposure to the whole machine. This is how you get malware from npm packages. OSS works as long as lots of people are constantly paying close attention, but that's a tall order for the majority of OSS. "Just use a massive OSS project" isn't even feasible in many real use cases. So no, I don't think it's safer.
Encryption on Android devices has changed over the last few years, introducing the possibility for File Based Encryption FBE, later making in mandatory. File based encryption enables apps to use keys to encrypt their data that are flushed when the screen is locked. Many security concerned apps like password managers and OTP apps make use of this.
If you feel the need you can use 'multiple users' to create an extra user or use a work profile (Island, Shelter, Insular) to keep sensitive apps and data. These have seperate encryption keys that are flushed upon switching off the work profile or restarting the phone (for multi user). You can still use the main user on the phone with the work profile/multi user encryption keys not held in memory.
Windows is still a joke security wise but MacOS at least has some mediocre sandboxing nor offering defense suitable for casual visual media focused end users though you need Brew to do anything useful as a developer which throws supply chain security out the window. Personally though no one could ever pay me enough to MacOS even if they did have a useful secure package manager and good sandboxing as I value freedom and privacy in addition to security.
AOSP on the other hand substantial hardening and sandboxing isolating apps from each other somewhat like running every app in a docker container. Combine this with the admittedly small collection of dual signed reproducibly built apps on F-Droid and this is as good as it gets in open source end user friendly secure computing.
Well... almost. Trouble is you can not find an Android device hat does not ship with nasty highly privileged spyware and proprietary kernel modules allowing cell carriers, chipset makers, and the governments they obey to track you and have varying levels of access to your device if they really want it.
IMO QubesOS is the only halfway decent general purpose OS in terms of security and privacy you can use today and in the end there is just no good mobile solution that meets my privacy, security, and freedom needs so I just opt to not have a phone at all for now.
That "trivial" access would have to be an actual exploit. The software in a typical Linux system is not actively attacking the user as the proprietary software in a typical smartphone is. The need for sandboxing is much less.
Last I heard Android mostly depended on the Unix security model as implemented by Linux for isolation where each program was run as a separate user. The same sort of local privilege escalation exploits would work on Android as well. Things like Docker containers are susceptible to those sorts of exploits as well. You need actual virtualisation to have any sort of defence against that sort of exploit. That what Qubes does.
The only things I can find about app stores in the paper by Google[0] run directly counter to your idea:
> Android explicitly supports installation of apps from arbitrary sources, which led to the development of different app stores and the existence of apps outside of Google Play.
And this:
> Both users and developers are part of an open ecosystem that is not limited to a single application store. Central vetting of developers or registration of users is not required.
And as far as signing goes:
> In order to ensure that it is the app developer and not another party that is consenting, applications are signed by the developer. This prevents third parties — including the app store — from replacing or removing code or resources in order to change the app’s intended behavior
However, for the security model to be respected, each app repository should represent a single source. The device and user management APIs expect that in Android. F-Droid fundamentally bypasses the trust boundaries in that regard by allowing multiple repositories to coexist within a single client.
Not to mention it also results in a terrible UX given that the application IDs are often reused but signed by another party.
This is exactly the point that I was questioning, so it sounds like I understood their point just fine. Do you have a citation for this assertion?
The paper from Google doesn't even mention a repository as a concept.
Here's what it does say:
> Untrusted code is executed on the device. One fundamental difference to other mobile operating systems is that Android intentionally allows (with explicit consent by end users) installation of application (A) code from arbitrary sources, and does not enforce vetting of apps by a central instance.
The Android security model is based on the idea that you can install arbitrary APKs from literally anywhere. If I download an APK through Chrome and install it, I might turn around and download another APK from a different website. If anything, Chrome is more arbitrary in its sourcing of APKs. How does F-Droid break the security model but Chrome doesn't? Alternatively, how does Google allow Chrome to break its own security model?
And again, what is your source for your claim? I'm reading the actual document from Google, and it appears to say exactly the opposite of what you're saying.
Chromium is a particular case, but is still equally considered an untrusted source unless explicitly allowed. Of course, the security model takes into account that apps can be installed from anywhere. That's why they're signed and they're running in their own restricted sandbox.
No, I can't, because as far as I can tell there is no OS-level concept of an app repository. Where are you getting this from? Can you link to the APIs that have this concept documented?
> Of course, the security model takes into account that apps can be installed from anywhere. That's why they're signed and they're running in their own restricted sandbox.
Right. They planned that in. They spelled it out explicitly. Untrusted code from arbitrary sources is allowed if the user opts in. It's not a violation of the security model, it's a particular case that was specifically planned for.
The management features, again, expect the app to represent a single source. F-Droid deliberately chooses to manage multiple sources that can also be added by the user within the same app, thus bypassing these features. That's the way they work and again, this paper is not exhaustive and is not in contradiction to anything that has been said (quite the opposite).
In return, you suggest that the documentation is out there, but you give no specific pages that I can read. My attempts to find them on my own or through your blog post have been fruitless. Given that the idea that you're putting forward runs directly contrary to the paper that Google published and is contradicted by the behavior of Google's web browser, the burden of proof is now on you. I need your source. Please provide a link to where you arrived at your idea.
You're welcome to search for mentions of sources and app stores, and to browse the references.
Again, the paper is not in contradiction, you misread it. Not to mention, as explained in the original comment you were responding to, F-Droid weakens the security model for various other reasons.
It's obvious you're convinced you're right, but since you're unable to produce evidence it seems we are at an impasse. I'm done here.
You have been provided with evidences, but you've been arguing in bad faith since your first comment by misinterpreting the paper. The security model also expects you to download apps from trusted sources because the signature verification is only enforced for app updates, that's a trust-on-first-use model. That notion exists within Android, and you have been given examples.
> In order to ensure that it is the app developer and not another party that is consenting, applications are signed by the developer.
Back to the original question; it is clearly explained why.
> A more serious flaw opposing the Android security model is the fact that an app store is supposed to feed from a single repository which F-Droid does not adhere to.
Also, where is this documented? I read through several security pages (e.g. https://source.android.com/security/overview) and can't find any reference to a 'repository' or the idea that F-Droid is not secure because it aggregates apps from many sources. I think I'm misunderstanding your point entirely...any links to more detail would be very interesting to me.
Pros: looking for a simple app? you'll find it ad-free and functional, no need to search long and hard and deal with signups, ads, and premium trial like apps from Play Store.
Cons: lack of updates. many things like signal (for whatever reason) are just not updated. I ended up downloading signal on Aurora (Minimal Play store) because it kept, rightfully, complaining about being on an old version, despite being the most up-to-date version on f-droid.
A couple other pros and cons but those stuck with me. In the end a good companion to a play store install, in my case.
Floris Keyboard - Gboard
Bromite - Chrome
OsmAnd+ - Google Maps
Editor - Google Keep
My Expenses - Mint
NewPipe - YouTube
LibreSpeed - Ookla Speed Test
Currencies - xCurrency
Diary - DayOne
Password Store - 1Password
Aegis - Authy
WireGuard - All VPNs
Book Reader - Acrobat
Pluvia Weather - Weather
AntennaPod - for podcasts
Infinity - for reddit clone
FairEmail - best FOSS mobile email client
SkyTube - YouTube clone
Aegis - for 2FA
OsmAnd+ - Navigation
Syncthing - File synchronization
* Antenna Pod. Love it for podcasting. So simple and clean.
* Skytube. Google makes it hiccup a lot, but the only real way to put searches into YT without VPN or mobile fingerprinting.
* RoMote. For those with Rokus.
* Some simple children games for parental 911 moments:
- Coloring for Kids (a must for 2-5 yr age range)
- Letterbox
- Candy Memory
- Doda the Exploda
https://github.com/streetcomplete/StreetComplete
The UX is good enough that my five year old can use it (with a little help to read the rarer, worried quests).
Seriously, check it out. It took contributing to OSM from "painful thing I do occasionally from a sense of duty" to "fun hobby I look forward to doing and sharing with my kids."
I just procrastinated work for 3 hours with this, and it doesn't feel like it was a waste of time at all!