Commit Graph

69 Commits

Author SHA1 Message Date
Mygod
654c1fc48f Refine code style 2019-07-15 22:58:16 +08:00
Mygod
2d70595358 Do not disable nat to prevent conflicts with system 2019-07-15 19:21:52 +08:00
Mygod
c86639db43 Disable netd for Android 8.1 and lower 2019-07-15 19:08:47 +08:00
Mygod
5c32c46970 Fix build 2019-06-10 23:18:49 +08:00
Mygod
c780fed7ff Avoid failing when multiple interface address was found 2019-06-10 22:53:24 +08:00
Mygod
965bd13eac Fix nullability issues 2019-05-13 18:41:58 +08:00
Mygod
d641af5d40 Handle VPNs without addDnsServer calls
Test case: HTTP Injector
2019-03-18 21:43:45 +08:00
Mygod
aedba90196 Lift double routing detection out of Routing 2019-03-09 01:46:01 -05:00
Mygod
3933e9bf64 Fix netd mode on Android 6 with repeater 2019-02-17 12:58:34 +08:00
Mygod
97811928a7 More informative unexpected output exception 2019-02-17 12:26:42 +08:00
Mygod
30075efa81 Refine error msg 2019-02-17 11:55:37 +08:00
Mygod
eb8b5ff1de Refine error message 2019-02-08 18:23:27 +08:00
Mygod
cbc65f989c Support monitoring tethered interface
This would be useful to be used in together with Instant Tethering + Turn off hotspot automatically.

Refine #26, #53.
2019-02-06 01:27:21 +08:00
Mygod
89559103bf Fix DNS route not cleaned 2019-02-04 23:31:26 +08:00
Mygod
8132b2766d Remove fallback DNS 2019-02-04 23:30:29 +08:00
Mygod
09a1834cb5 Make things private 2019-02-04 14:38:15 +08:00
Mygod
fadf72b28a Fix NoSuchElementException 2019-02-04 13:17:56 +08:00
Mygod
788604838f Refine ndc commands 2019-02-03 13:40:35 +08:00
Mygod
5c1e84703a Refine InterfaceNotFoundException 2019-02-01 22:07:31 +08:00
Mygod
43bb8af522 Wtf more debug 2019-02-01 21:49:09 +08:00
Mygod
99e721bf7e Remove fallback upstream monitor
This option has been deprecated. As a replacement, if one wants to forbid fallback communication, a global routed VPN can be used instead.
2019-02-01 21:11:49 +08:00
Mygod
f1973116ca Add netd masquerade mode 2019-02-01 21:06:22 +08:00
Mygod
a71a3b3bb0 Make DHCP workaround global 2019-02-01 16:55:38 +08:00
Mygod
d4208affbb Implement MAC lookup (#68)
* Implement MAC lookup

* Refine error processing

* Use long to store MAC consistently

* Link back to macvendors.co

* Undo some havoc

* Do not show mac spans for TV

* Show MAC and IP in a consistent order

* Add IP spans by ipinfo.io

* Add SpanFormatter

* Fix IPv6 ipinfo.io link

* Refine SpanFormatter

* Fix pressing the link
2019-01-26 21:20:40 +08:00
Mygod
94114f7a4b Migrate to LiveData
Benefit includes: no more flush after changing nickname. Yep.
2019-01-26 14:48:27 +08:00
Mygod
469a0cd669 Fix IP forward shutdown by system tethering on Android 6+ 2019-01-24 21:37:08 +08:00
Mygod
0da1943a68 Refine RootSession.Transaction.iptables 2019-01-24 21:15:44 +08:00
Mygod
37337fd2ef Add more log 2019-01-18 11:59:11 +08:00
Mygod
b00791d644 Update dependencies 2019-01-03 23:22:28 +08:00
Mygod
7c72b9a235 Caller already has an active LocalOnlyHotspot request is now unexpected 2019-01-01 12:38:25 +08:00
Mygod
68fface4b9 Allow clients on different tethered interfaces to communicate
Previously, the routing rules were too strict. We should probably also deprecate TrafficRecord.upstream sometime.
2019-01-01 12:21:48 +08:00
Mygod
04f111c1a4 Ensure DNS is never empty 2018-12-30 16:10:39 +08:00
Mygod
cfada8d0c2 Fix DNS update not propagated 2018-12-29 00:08:55 +08:00
Mygod
e5b3e7e5d0 Fix file exists error when enabling multiple interfaces with DHCP workaround 2018-12-28 14:03:37 +08:00
Mygod
f26716051c Allow iptables -w to output busy spin message 2018-12-14 02:00:31 +08:00
Mygod
366ae7dab6 Be more careful about checking upstreams were removed 2018-12-14 00:56:28 +08:00
Mygod
e347115908 Add back root unavailable prompt 2018-10-08 15:23:57 +08:00
Mygod
255cfac486 Add more locks 2018-10-05 00:45:53 +08:00
Mygod
913e21328e Misc refinements 2018-10-03 15:02:07 +08:00
Mygod
408c84f8d7 Fix DNS not updated onLost 2018-10-03 13:54:01 +08:00
Mygod
1eb84bf1a3 Handle duplicated upstreams 2018-10-03 13:46:44 +08:00
Mygod
8e09e8cd8a Replace strict mode with fallback upstream interface
Fixes #40. Apparently we can no longer take advantage of default network rules set by Android system since Android 9.0 thanks to this commit: 758627c4d9
2018-10-03 13:02:28 +08:00
Mygod
4de93c5c02 Move monitors to a separate package 2018-10-02 23:44:06 +08:00
dwuku
d131d5d46b Make compatible with F-Droid (#42)
* Make compatible with F-Droid
* Fix title bar empty
2018-10-02 23:13:12 +08:00
Mygod
5f5bb063c0 Record stats before exit 2018-10-02 22:41:43 +08:00
Mygod
38f95a382e VPN Hotspot 2.0: Client+ (#39)
Fix #13, #38. I don't have a lot of confidence that this would work very well for every device.

Also here's an SQL command that hopefully somebody could make into the app for me: `SELECT TrafficRecord.mac, SUM(TrafficRecord.sentPackets), SUM(TrafficRecord.sentBytes), SUM(TrafficRecord.receivedPackets), SUM(TrafficRecord.receivedBytes) FROM TrafficRecord LEFT JOIN TrafficRecord AS Next ON TrafficRecord.id = Next.previousId WHERE Next.id IS NULL GROUP BY TrafficRecord.mac;`
2018-10-02 21:12:19 +08:00
Mygod
823ae9633b Migrate from NoisySu to RootSession
Fix #24. Note that just like before, IpMonitor doesn't use RootSession.
2018-09-06 15:39:00 +08:00
Mygod
e3f1abbb22 Fully support strict mode for system tethering 2018-09-04 17:49:59 +08:00
Mygod
89c26fe384 Support strict mode for system tethering
TODO: Set up rules when upstream interface not found.
2018-09-03 16:37:54 +08:00
Mygod
a9e483f3ff Add DHCP workaround
Thanks to petergunn666 for debugging this with me.
2018-08-13 01:41:45 +08:00