Commit Graph

67 Commits

Author SHA1 Message Date
Mygod
243d103ca7 Refine code style 2019-04-14 13:35:36 +08:00
Mygod
e112b10c55 Add Bluetooth on/off into consideration when using Bluetooth tethering 2019-03-18 19:02:50 +08:00
Mygod
aedba90196 Lift double routing detection out of Routing 2019-03-09 01:46:01 -05: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
6920843a63 Only remove manager when first start failed 2019-02-05 17:51:27 +08:00
Mygod
89a4e9f071 Simplify WifiDoubleLock invocations 2019-02-05 17:42:49 +08:00
Mygod
8132b2766d Remove fallback DNS 2019-02-04 23:30:29 +08:00
Mygod
2773c17327 Use MutableEntry correctly 2019-02-03 13:47:22 +08:00
Mygod
43bb8af522 Wtf more debug 2019-02-01 21:49:09 +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
05012783a3 Always clean routings on exit 2019-01-06 02:04:17 +08:00
Mygod
504190950f Disable IPv6 tethering by default
Refine #56, #6.
2019-01-06 00:15:53 +08:00
Mygod
426b93226d Add a lot more QS tiles
Fix #53. Also fix Bluetooth connection leaks.
2018-12-25 11:37:36 +08:00
Mygod
55443902be Support Wi-Fi keep alives 2018-12-23 23:35:55 +08:00
Mygod
d8ccd47bac Refine cleaning routing rules 2018-12-19 15:32:16 +08:00
Mygod
e347115908 Add back root unavailable prompt 2018-10-08 15:23:57 +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
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
f72a3272cc Check if routings is empty after update 2018-09-06 15:48:46 +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
0342d97fb0 Fix ConcurrentModificationException 2018-09-03 14:21:29 +08:00
Mygod
a9e483f3ff Add DHCP workaround
Thanks to petergunn666 for debugging this with me.
2018-08-13 01:41:45 +08:00
Mygod
15d838893c SmartSnackbars 2018-08-08 16:03:30 +08:00
Mygod
b49ea8635b Fix crash on intent is null 2018-06-23 18:07:15 +08:00
Mygod
91592e5a25 Suppress errors when stopping 2018-06-23 17:58:27 +08:00
Mygod
538755f015 Add option to turn off masquerade
It turns out that this option may not be necessary but I've already implemented it so just in case.
2018-06-16 00:20:20 +08:00
Mygod
ad7a1be634 Fix toast failures 2018-06-13 19:30:42 +08:00
Mygod
e2cbe18ea9 Add more logging 2018-06-10 20:59:50 +08:00
Mygod
da9bf4867e Support specifying network interface
Fix #15.
2018-06-02 07:29:46 +08:00
Mygod
8e335fec1b Add option to disable IPv6 tethering
Partially addresses #6, #20.
2018-06-01 22:30:31 +08:00
Mygod
8aa7d6d8c7 Huge refactor for better maintainability 2018-06-01 20:21:05 +08:00
Mygod
dad9bc19e3 Add client count badge 2018-05-09 17:38:49 -07:00
Mygod
d7c5dd18a5 Rename binders 2018-05-09 16:36:08 -07:00
Mygod
99d6090ee4 Decrease intentFilter 2018-05-09 16:00:56 -07:00
Mygod
90c1951645 Move Utils.kt 2018-05-09 15:57:41 -07:00
Mygod
e72dad8790 Stop using LocalBroadcastManager 2018-05-09 15:56:37 -07:00
Mygod
b005d18f13 Fix UI 2018-05-03 20:38:26 -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
958b1ec350 Support toggling hotspots in app
This is a just-for-fun feature. It probably doesn't work.
2018-04-21 13:02:52 -07:00
Mygod
787a50df01 Fix IpNeighbourMonitor not unregistered in TetheringService 2018-04-04 17:57:45 -07:00
Mygod
206e339019 Fix concurrent modifications to routings 2018-04-04 17:54:23 -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
Mygod
4b43a6a1ba Do not assume iptables-save is available 2018-02-22 01:27:00 -08:00