Commit Graph

21 Commits

Author SHA1 Message Date
Ian VanSchooten 1102681704
Fix camera background opacity (#195) 2024-10-31 10:19:32 -04:00
Ian VanSchooten 78640437f1
Update Gradle, replace QR code reader library (#162)
I ran the Gradle Upgrade Assistant to get us on the latest version of gradle, but two of our dependencies didn't support it.

- https://pub.dev/documentation/package_info/latest/
- https://github.com/AmolGangadhare/flutter_barcode_scanner

`pacakge_info` is officially deprecated and replaced by `package_info_plus`, which is what I've swapped to here.

A bigger change was switching to https://github.com/juliansteenbakker/mobile_scanner.  It does seem to work a bit better than the other one, and does not throw an error now when cancelling the QR code collection, as it did before.  I've tested on android in the simulator, and iOS with an actual device.  

To test adding a cert:
1. Create a CA on your computer with `nebula-cert ca -name test-mobile`.  This will create a `ca.crt` and `ca.key`
2. Tap the + button in the mobile app to add a site
3. Tap the "Certificate" row
4. Copy the public key to a file on your computer like `test.pub`
5. Create a signed cert with `nebula-cert sign -name test-mobile -ip 192.168.0.20/24 -in-pub test.pub`
6. Create a QR code for it: `nebula-cert print -out-qr "qr.png" -path ./test-mobile.crt`
7. In Android studio, in the "Running devices" tab, open the simulator's extended controls:  
<img width="509" alt="Android Studio 2024-09-23 13 08 08" src="https://github.com/user-attachments/assets/c1f8288e-374c-457c-942a-4109240102ab">

8. Choose the Camera option, and add the qr code image to the wall of the virtual scene
<img width="679" alt="image" src="https://github.com/user-attachments/assets/bafaa9af-72e4-4444-9704-9876c53c883c">

9. Back in the app, when you choose QR Code and "Scan a QR code`, the virtual scene should open.  Hold shift, then move your mouse to look around.  Turn around 180 degrees, and walk forward into the other room (can go through the walls) using the `w` key.  When you get the QR code into the white border, the scanner should close and apply the certificate settings.  If you use a nonsense QR code, or a QR code with a non-matching key, or a CA QR code, you should get an error message when it scans.

The process for scanning a CA qr code is similar.  

1. Run `nebula-cert print -out-qr "qr-ca.png" -path ./ca.crt`
2. Replace the QR in the extended controls
3. Tap CA when adding a site
4. The rest of the process is the same as above.

iOS is similar, except you'll need to use a real device, as the simulator does not include a virtual scene like Android does.
2024-09-24 07:25:09 -04:00
Ian VanSchooten 64d45f66c7
Update Flutter, target android SDK 34 (#160)
This updates flutter to 3.24.1, the latest stable version, and also updates our flutter dependencies to latest.

It targets the latest android sdk, 34, which is required if we want to publish a new version to the Google Play store.

I also needed to make a few adjustments to handle deprecations. The biggest change is that I needed to wrap the main widget in MaterialApp to avoid problems with AdaptiveSwitch in iOS.
2024-09-20 14:19:23 -04:00
John Maguire 693c7b6346
Hide CA expiration errors on managed sites (#128) 2023-05-17 12:10:11 -04:00
John Maguire f7a7093879
Fix share button on iPad (#124) 2023-05-15 16:12:24 -04:00
John Maguire a5139c4335
Hide QR code scanner on devices without cameras (#101) 2022-11-22 16:50:11 -05:00
John Maguire c7a53c3905
Support DN host enrollment (#86)
Co-authored-by: Nate Brown <nbrown.us@gmail.com>
2022-11-17 16:43:16 -05:00
Nate Brown dbe67c2f81
Upgrade to flutter 3 (#70)
Co-authored-by: John Maguire <contact@johnmaguire.me>
2022-09-21 15:27:35 -05:00
Nate Brown 958b15d711
Allow import of private key, make it so key material isn't removed when navigating off the add a cert page (#64) 2022-08-05 16:42:17 -05:00
Nate Brown d37bdd9032
Cleanup (#58) 2022-07-27 11:38:02 -05:00
Nate Brown 2831c84b57
SelectableText field now supports keyboard actions natively (#56) 2022-01-19 13:29:30 -06:00
Nate Brown 9934f226e3
Ran flutter format -l 120 --suppress-analytics lib (#38) 2021-05-03 16:58:04 -05:00
Nate Brown 0bb2a30829
Support replacing certs (#33) 2021-05-03 15:16:00 -05:00
Nathan Brown 1283ce30e9
IPV6 support (#24) 2021-04-23 16:23:06 -05:00
Nathan Brown a5ca3f86af
Upgrade to flutter 2 (#26) 2021-04-23 12:33:28 -05:00
Michael Brown cd6a3d2ad9
Adjust sourcing of env.sh w/ relative path 2020-12-08 11:06:52 -05:00
Nate Brown eb6ac79eed Wrap SelectableText with keyboard shortcuts to help chromeos 2020-08-31 18:32:40 -05:00
Nate Brown 646550575d Fix share on ipad, improve share file names 2020-08-17 19:12:28 -05:00
Nate Brown 50d50f690b Add some protections against the incorrect cert type being used 2020-08-10 10:48:00 -05:00
Nate Brown ca05eff124 Fix links in about, help review 2020-08-07 17:44:40 -05:00
Nate Brown b546dd1c9d Initial commit 2020-07-27 15:43:58 -05:00