Commit Graph

56 Commits

Author SHA1 Message Date
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
Mygod
f2d9f25b10 Obtain DNS server automatically from VPN service
Demote DNS settings to fallback usages only.
2018-02-17 19:52:34 -08:00
Mygod
2d30b5154b Support non-strict mode for repeater
This commit makes possible:

* Starting repeater without VPN;
* Repeater will work better with stub VPN apps;
* LAN addresses will be reachable.
2018-02-17 18:58:49 -08:00
Mygod
d70acfa29e Add IPv6 addresses to connected devices 2018-02-11 01:08:59 -08:00
Mygod
bd34491ad4 Ignore lost devices in notification 2018-02-11 00:25:41 -08:00
Mygod
5ad840fe43 Split NetUtils (terrible name) 2018-01-21 12:50:21 -08:00
Mygod
d131c90d27 Fix notification not go away after disabling tethering 2018-01-21 12:38:36 -08:00
Mygod
ac82a9446c Use one notification for two services 2018-01-21 12:16:25 -08:00
Mygod
7f93b1e62b Fix tethering stability issues 2018-01-21 03:07:26 -08:00
Mygod
2108c635ce Group net package 2018-01-20 18:37:45 -08:00
Mygod
c96398168b Register local receivers in TetheringService 2018-01-13 23:54:43 +08:00
Mygod
9486941fc6 Add back reapplying rules 2018-01-13 22:51:47 +08:00