An unofficial Android client for Firefly III, written in Kotlin.
This software is using Firefly III APIs. It is under heavy development and should be considered alpha quality as it might work in unexpected ways. In order to use this app, you must first setup a Firefly III instance.
Other alternative include this software written by mconway using Ionic framework.
✔ Support Kitkat and up!
✔ Offline: View offline data
✔ Automation: Add data non-interactively allowing powerful automation. Read the wiki for more info.
✔ Reporting: Financial reports give you overview of your spending and income
Change the default oAuth callback URL
- Change
config.hostname
value inconfig.properties
to your desired value.
Certificate pinning
There are many write up on the internet with regards to certificate pinning. This project shall not go into details. 1 2 3
A quote from okhttp docs
Warning: Certificate Pinning is Dangerous! Pinning certificates limits your server team's abilities to update their TLS certificates. By pinning certificates, you take on additional operational complexity and limit your ability to migrate between certificate authorities. Do not use certificate pinning without the blessing of your server's TLS administrator!
If you are still brave, carry on reading.
To enable certificate pinning:
- Run
cert_pinning.sh
$ ./cert.sh www.google.com
/C=US/ST=California/L=Mountain View/O=Google LLC/CN=www.google.com
47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
/C=US/O=Google Trust Services/CN=Google Internet Authority G3
f8NnEFZxQ4ExFOhSN7EiFWtiudZQVD2oY60uauV/n78=
- Copy the sha256 value hash of the certificate's Subject Public Key Info to the app settings.
With your device plugged into your PC and ADB enabled
git clone https://github.com/emansih/FireflyMobile.git
cd FireflyMobile
./gradlew clean installDebug
An APK is provided in the release page for convienent purposes. All APKs
are signed with the same release key, this ensure that the APK comes from me and your financial data will not be exposed to nefarious actors. The APK SHA256 public key is 40:F2:02:B8:CC:D1:68:87:56:8A:F7:9E:27:44:5B:E1:82:51:CC:B9:1E:89:08:8B:04:3D:2F:35:A2:0D:C3:8F
. All commits in this repo are signed with my GPG key and the public key can be found on keybase and Github
To get latest update notifications, add this RSS feed.
It's also available via F-Droid here. I have also added my own FDroid repo for users with Privileged Extension. For more info, take a look at the wiki
If there is enough interest, I might upload it to Google Play Store.
Check the wiki page for more info
Dashboard | Piggy Bank | Adding Piggy Bank | Piggy Bank Details |
---|---|---|---|
Transactions | Bills | Login | Report | Bills Details |
---|---|---|---|---|
Thanks to Screener - Better Screenshots for the device frame!
Icons in this app are taken from:
- Flaticon
- Material Design Icons
- Android Iconics
- App icon taken from Firefly III server(favicon). Original source
Heh... I left this to the last.
Please see this for updates.
Copyright (C) 2018 Daniel Quah(emansih)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.