by Pete Glass
Root required. The backup fiber in the flow checks the wifi profiles and passwords daily and if it has changed from the most recent backup or if a backup file does not exist it backs up your wifi profiles to the backups/wifi folder on the external sd card (if an external sd card does not exist the internal sd card will be used by default). The restore fiber restores the selected backup file of your wifi profiles and refreshes your wifi connection. The monitor wifi profiles fiber checks to see if the wifi profiles file has changed each time the wifi is connected or disconnected and if changed asks whether or not you want to keep or revert the changes.
Requires the diff and sed binaries included with BusyBox.
Note: If you would like to change the backup location, modify the path variables (blocks 109, 112, and 115). Also, anytime a restore from backup or revert is done a backup of the previous settings will be placed into the path that contains the other wifi profiles backups and will be named wpa_supplicant_bak and this file can be used to manually recover the previous wifi profiles if needed for some reason. The header from the original wpa_supplicant file on your device will be used and merged with the wifi profiles settings from your selected backup file when restoring settings so your backups should work on many types of devices, even if the backup file was not created with the same device it is being restored on.
If you would like your wifi passwords saved as plain text instead of being encrypted so backups will work across more devices, edit your /system/build.prop file and change ro.securestorage.support from true to false and make sure the file permissions are correct before rebooting otherwise you may have issues booting your device if the permissions are incorrect (using a build.prop editing app is recommended over a text editor). You will likely lose access to any previously saved wifi points but future ones saved will be in plain text.
* * * Created by Pete Glass * * *
Reviews and ratings can be submitted in the app.