[Samsung Galaxy S10 Guides, News, & Discussion] petriusus:
Before starting (if you have SM-G973F NEE, you can use my prepatched/generated files and save 2 million years in preparation, see the guide at the bottom of this page):

1. Root and flash Magisk: https://topjohnwu.github.io/Magisk/samsung

Note: remember to use the button combination when booting/rebooting, and also remember to use internet when compleeting the android wizard when it runs.

2. Flash TWRP: https://xdaforums.com/galaxy-s10/development/recovery-twrp-3-3-0-galaxy-s10-exynos-t3924856

Note: remember to use the button combination when booting/rebooting.

3. Create your SmaliPatch: https://xdaforums.com/apps/magisk/module-smali-patcher-0-7-t3680053

Note: ALSO check "Magisk Reboot (Galaxy S10)". Keep the default checks.

4. Install generated SmaliPatch in Magisk and then reboot.

The actual guide:

Note - again: remember to use the root button combination when booting. Yes, this might be solved by our SmaliPatch, but i would´t trust it when going out of TWRP and so on, so to be on the safe side, always use this combination.

1. Download and install F-droid: https://f-droid.org/FDroid.apk

2. In F-droid, install "Amaze (Manage local files)", and "Termux".

3. In Amaze: Go to settings and check "Root Explorer" under Advanced. Grant root for Amaze in Magisk.

4. Download and install "Aurora Store": https://androidfilehost.com/?fid=1395089523397955190

5. In Aurora Store, install: "Titanium Backup"

6. Download NanoDroid: https://downloads.nanolx.org/NanoDroid/Stable/

Or download the one I flashed here (and skip step 7, 8 and 9): https://mega.nz/#!rrIXSSLZ!4dV5Qx1W0hJXFbnY8heYcAUmOEWmkgdzcnfb2DhtRgo

7. Open the downloaded file with 7zip (right-click, 7zip, Open archive), and right-click on ".nanodroid-setup" and click on Edit

8. Change "nanodroid_gmscore=0" to "nanodroid_gmscore=1". This is to install MicroGs original GMSCore, and not NanoDroids (which is good, but did not work 100% this time). Documentation on alter installation can be found here: https://github.com/Nanolx/NanoDroid/blob/master/doc/AlterInstallation.md

9. Save and close ".nanodroid-setup", and 7-zip should ask you if you want to update the changes in the archive. Click yes. If this does not work for some reson, just drag ".nanodroid-setup" to the desktop, modify it, save, and drag it back.

10. Copy your modified NanoDroid zip into your phone (Download folder).

11. In Amaze: copy your NanoDroid zip in the Download folder to "/data/". This is to be able to access this file from TWRP later.

12: Debloat: run debloat.bat. This script keeps the launcher and a few other things. It keeps the apps that i think is the most essential, but removes Samsung Health for example. You can modify if you know what you want and how to do it.

Download here: https://mega.nz/#!62YHFSaS!di_HY7ceHMgfKyRfpTOnLgFoviWub0MCojrLyH4Jnho

13. In Titanium: uninstall "Play Services" and GMS, and GMS policy-something (don´t remember the package name, but search for gms). Titanium might seem to "hang" on uninstalling some of these apps, if so, just reboot and continue. This is normal.

SINCE I FORGOT THE PACKAGE NAMES, CAN SOMEONE PLEASE SEND ME A SCREENSHOT OF THE ONES THAT APPEARS WHEN SEARCHING ON "gms"? I will update this guide when i know what the exact names are.

14. In Amaze: click Root(/) in the menu, go to "/system/priv-app/", remove these dirs: GMSCore, GoogleServicesFramework, Phonesky

15. Reboot into TWRP, mount "/system" and "/data". Flash your NanoDroid file located in "/data/". Do not wipe cache. Reboot to get out of TWRP.

16. Launch "MicroG Settings". Click on permissions warning, and let Android get all permissions it asks for. Then click on "Google device registration" and turn ON (check). Do the same for "Google Cloud Messaging".

17. Still in "MicroG Settings" app: Click on "UnifiedNlp Settings", then on "Configure location backends", then check the checkbox (allow location permission if prompted). Do the same for "Configure address lookup backends".

18. Open the terminal that you installed in step 5, and run this:

su

Grant root access if prompted, otherwise, to go magisk and grant root for "shell".

19. Run these commands:

pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION
pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION

20. In Aurora Store: install "push notification checking-fix" and run. Run the new installed app, then click "Confirmation".

21. Go to "MicroG Settings" again, click on "Google Cloud Messaging", check if "Current State" is NOT disconnected (something "connected" is good). Not connected? Reboot and do step 20 again.

22. Install Afwall and lock your sh*t down.

In AFwall, I also go to "Preferences", then "Experimental", click on "Startup directory path for script", then click on "/system/etc/init.d/", then click on "Fix startup data leak".

AFWall documentation on what to block/allow: https://github.com/ukanth/afwall/wiki/System-Applications-to-block-or-allow

Congrats, you are now in privacy heaven!

For SM-G973F NEE (nordic):

Prepatched Magisk, TWRP and SmaliPatch for and other files can be downloaded here: https://mega.nz/#F!LjQ0HYqR!2X72CW1kp3zh2kBxWDwG6A

These are the files that i used.

The prepatched Magisk image is based on "SM-G973F_1_20190417080614_xq2zehce6z_fac", downloaded with SamFirm.

REMEMBER THIS AFTER FLASHING PREPATCHED MAGISK:

(Powering up normally) → (System with no Magisk)

(Power + Bixby + Volume Up) → (Bootloader warning) → (Release all buttons) → (System with Magisk)

(Power + Bixby + Volume Up) → (Bootloader warning) → (Keep holding volume up) → (Actual recovery)

Quick guide to root, install Magisk, TWRP and SmaliPatch:

1. Unlock bootloader: https://www.androidexplained.com/galaxy-s10-unlock-bootloader/

2. Flash prepatched Magisk: https://mega.nz/#!2uRHkKCR!0j3Bx6iKbNL7yxqWHFBoAD7SpSGsvrrLdfIdJb73Hbk

BE READY FOR AUTO REBOOT (if you did not uncheck it in Odin)

3. Go directly to recovery and do a factory reset

4. Reboot, and be ready for one more auto reboot after the samsung logo!

5. Finish the android wizard WITH internet

6. Reboot again

7. Open Magisk (will be added after a while automatically), it will ask to finish the Magisk installation, click yes, be ready for automatic reboot

8. In Magisk install (as module): https://mega.nz/#!KzZRmQLS!ClmDmFAgaKd10o8hfjgmvI3PEdf3GCsV0lZKLtYPhFo

9. Reboot

10. Flash TWRP: https://mega.nz/#!72BFiQIK!yCVddqBDgPrBPlMNr6Y9x1OBNWpD3JBxmyf57D3eOAY

11. Follow the actual guide above

Please me feedback on what to make better. I want everybody to be able to get their privacy back!

Credits to:

topjohnwu for Magisk

Geiti94 and ianmacd for TWRP

fOmey for Smali Patcher