Commit Graph

68 Commits

Author SHA1 Message Date
John Maguire c3f5c39d83
Update Nebula to fix Android NebulaVpnService bug (#85) 2022-11-17 16:30:03 -05:00
John Maguire 5ec6004a9f
Fix crash on Android 9 and below (#81) 2022-11-08 08:08:07 -07:00
John Maguire 552d16bce2
Improvements to NebulaVpnService (#79) 2022-10-31 12:49:38 -06:00
Nate Brown 7bf9ee553e
Also use 3.3.5 for flutter format action (#78) 2022-10-27 12:12:12 -05:00
Nate Brown 469195cdf7
Upgrade to flutter 3.3.5 to fix a build/release issues (#77) 2022-10-26 11:31:18 -05:00
Nate Brown d8e90a1b4b
Support older versions of android to include chromeos (#76) 2022-10-26 09:57:07 -05:00
Nate Brown 562e715a9a
Strip the useless build number from the tag (#73) 2022-10-03 17:45:56 -05:00
Nate Brown dabca6dd32
Globs 0 or more of any char, not 1 or more of the preceding char (#72) 2022-10-03 16:03:49 -05:00
Nate Brown b29661abff
Automated build and release (#71) 2022-10-03 15:30:39 -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 e3780bda1e
Show a message on android if permissions were denied (#65) 2022-08-05 16:42:31 -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 457952b5ed
Rebind against nebula 1.6 for relays, modernize build (#63) 2022-08-04 19:39:46 -05:00
Nate Brown d37bdd9032
Cleanup (#58) 2022-07-27 11:38:02 -05:00
Nate Brown 64b056618c
Remove special keyboard handling for text inputs (#57) 2022-01-20 10:35:39 -06:00
Nate Brown 2831c84b57
SelectableText field now supports keyboard actions natively (#56) 2022-01-19 13:29:30 -06:00
John Maguire 3e0da2a8f0
Fix log formatting in "Rebinding UDP listener" (#55) 2022-01-18 11:59:41 -05:00
John Maguire fec77613bf
Update for Flutter 2.8.0 (#54) 2022-01-18 11:58:26 -05:00
John Maguire 145a6c9b4f
Mark VPN as unmetered (#53) 2022-01-11 12:09:51 -05:00
Nate Brown 87ce46df19
Update to current master to prepare for 1.5.2 (#50) 2021-12-17 09:53:15 -06:00
Nate Brown 6c188ff1d1
Get ready for ios 15 (#47) 2021-09-21 09:31:26 -05:00
Nate Brown a1694727aa Fix date 2021-06-09 20:31:00 -05:00
Nate Brown 69830d64cd Update changelog for 0.0.41 2021-06-09 20:28:39 -05:00
Nate Brown 93b106fd88
Add a changelog (#43) 2021-06-08 14:41:15 -05:00
Nate Brown cff26eb679 Quiet down rebind logs 2021-06-08 10:10:21 -05:00
Nate Brown de43f11ab2 Update core nebula 2021-06-07 10:26:56 -05:00
Nate Brown bde3f6fdfa
Update core to 1.4 (#41) 2021-05-11 11:03:26 -05:00
John Maguire 47865d568b
Fix DNS over mobile networks on Android (#40)
I think this closes the loop on DNS issues I was experiencing.
Previously, after starting Nebula, DNS would work until you switched
networks (e.g. from mobile to WiFi or vice-versa). This was fixed by
removing some explicit DNS server sets in commit
a283bf8010. This casued DNS to work in
`adb shell` even after toggling networks.

However, it did not actually fix the problem for Android applications.
The new behavior is that they would work while on WiFi, but fail on a
mobile network.

To quote Android docs:

> Allows traffic from the specified address family. By default, if no
> address, route or DNS server of a specific family (IPv4 or IPv6) is
> added to this VPN, then all outgoing traffic of that family is blocked.
> If any address, route or DNS server is added, that family is allowed.
> This method allows an address family to be unblocked even without adding
> an address, route or DNS server of that family. Traffic of that family
> will then typically fall-through to the underlying network if it's
> supported. family must be either AF_INET (for IPv4) or AF_INET6 (for
> IPv6). IllegalArgumentException is thrown if it's neither.

In my case, my home network supports only IPv4 while my mobile network
uses DNS over IPv6. Since my Nebula routes are IPv4-only, IPv6 traffic
stopped working, and DNS requests failed.
2021-05-10 16:16:21 -04:00
Nate Brown f176047510
git blame ignore that the format merge (#39) 2021-05-03 17:00:29 -05:00
Nate Brown 9934f226e3
Ran flutter format -l 120 --suppress-analytics lib (#38) 2021-05-03 16:58:04 -05:00
Nate Brown 3a37802f4d
Setup some github actions (#37) 2021-05-03 16:55:51 -05:00
John Maguire f3fab82e34
Update README.md (#36) 2021-05-03 16:25:59 -04:00
Nate Brown 0bb2a30829
Support replacing certs (#33) 2021-05-03 15:16:00 -05:00
Nate Brown a283bf8010
Remove setting dns as it seems to be unnecessary (#35) 2021-05-03 14:44:13 -05:00
John Maguire 3194028a78
Unregister network callback on stop (Android) (#34)
Previously when `stopVpn()` was called, it was possible for the network
change callback to fire while we were in the middle of shutting down.
This commit unregisters the network change callback before telling
Nebula to shutdown.
2021-05-03 14:58:09 -04:00
John Maguire 1d044a1e36
Fix state when connection toggle is tapped twice (#16)
Fixes #15. When tapping the toggle in rapid succession,
`NebulaVpnService.onStartCommand` is called twice, in serial.  This
method includes logic to show an error to the user if they somehow
attempt to connect to a service while already connected.

However, this method of showing an error message (calling
`announceExit`) sends a signal to `MainActivity` telling it the service
has exited, and that it should set the UI state to "Disconnected." It
does not actually disconnect the service at this point, resulting in a
state mismatch in which you cannot actually disconnect the service.

The solution in this commit is to remove this signalling and simply
return out of `onStartCommand` to avoid processing the start request
twice if the site is already running.
2021-05-03 14:56:21 -04:00
John Maguire 3123ce5f9a
Let Android install debug & release APKs side-by-side (#31) 2021-04-29 16:13:13 -04:00
Nate Brown a7c32f5bd4
Kotlin active site race on boot fix (#29) 2021-04-29 10:17:43 -05:00
Nathan Brown 4c28cc196e
Rework ios ipc (#28) 2021-04-27 10:29:28 -05:00
Nathan Brown 4cad646a7c
Disable sleep/wake detection on android (#27) 2021-04-23 16:54:48 -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
John Maguire 10d6b6bb9a
Merge pull request #25 from JohnMaguire/fix-build
Minor tweaks for a clean build
2021-04-22 18:56:00 -04:00
John Maguire b2c674d65a Minor tweaks for a clean build
- Updated README with some maybe-helpful instructions for downgrading
  flutter to a version that will build the project
- Added a step to create a missing directory to the Gradle build
  (otherwise the build fails)
- Set `shrinkResources false` - otherwise you get an error that you
  can't shrink resources unless you also enable minifying
2021-04-22 18:46:16 -04:00
micha3lbrown e844e2c195
Add logWrap to global settings
`logWrap` is a configuration that allows for users to decide if when
viewing logs the lines should extend off screen allowing for scroll
behavior or if they should wrap at screen edge.

We also considered allowing users to toggle this setting at the Site
level but decided that since users would likely want this setting to
apply to all sites, we hoisted the configuration.

Advances #3
2021-02-05 10:09:56 -05:00
Michael Brown dd1bc9e3f9
Update README.md and pubspec.lock 2020-12-10 13:52:54 -05:00
Michael Brown cd6a3d2ad9
Adjust sourcing of env.sh w/ relative path 2020-12-08 11:06:52 -05:00
Nate Brown 81139885c8 Add a first cut readme 2020-12-07 15:10:31 -06:00
Nate Brown 33f73b8ea0 Tweak android icon 2020-09-25 10:47:10 -05:00
Nate Brown 2ef876343e Tweak the icon 2020-09-25 10:13:00 -05:00