Commit Graph

58 Commits

Author SHA1 Message Date
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
Mygod
af20a084cb Use Android KTX 2018-07-15 20:58:39 +08:00
Mygod
4c101012ad Refine masquerade rules 2018-06-16 00:20:00 +08:00
Mygod
6b24697f12 Suppress stop/clean error reporting 2018-06-11 20:27:20 +08:00
Mygod
8e335fec1b Add option to disable IPv6 tethering
Partially addresses #6, #20.
2018-06-01 22:30:31 +08:00
Mygod
3959db61d0 Refine code style 2018-05-09 18:17:47 -07:00
Mygod
90c1951645 Move Utils.kt 2018-05-09 15:57:41 -07:00
Mygod
2fe7703d6d Temporary Wi-Fi hotspot for bypassing tethering limits (#18)
* First draft of temporary hotspot
* Refactor with LocalOnlyInterfaceManager
* Refactor LocalOnlyHotspotService
* Localize
* Update strict summary
2018-05-02 17:53:06 -07:00
Mygod
7f81b3ae33 Fix settings not persisted 2018-04-21 14:30:00 -07:00
Mygod
8abb431b79 Add dumpsys wifip2p to debug info 2018-04-03 22:28:21 -07:00
Mygod
c7e1abb585 Properly support proper VPNs
It turns out that not using masquerade will not work with real VPNs (as opposed to dummy ones, including adblockers and sockifiers).

Fixes #10.
2018-03-08 00:41:50 -08:00
Mygod
ee5197cadc Fix some SocketException crashes 2018-02-24 00:37:09 -08:00