Commit Graph

71 Commits

Author SHA1 Message Date
Mygod
3c81fcd95a Handle p2p service disconnection 2018-10-25 10:51:00 +08:00
Mygod
423c6074f9 Add comment 2018-10-08 15:40:25 +08:00
Mygod
86c3ebd78e Always clean repeater on remove group 2018-10-08 15:29:16 +08:00
Mygod
e347115908 Add back root unavailable prompt 2018-10-08 15:23:57 +08:00
Mygod
e4e716ab83 Allow creating repeater w/o root 2018-10-08 15:17:48 +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
8e3567954e Remove unused imports 2018-10-02 23:49:46 +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
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
7a8412407b Use exec whenever possible 2018-08-26 19:24:45 +08:00
Mygod
15d838893c SmartSnackbars 2018-08-08 16:03:30 +08:00
Mygod
6939efed0d Refine styling 2018-07-29 01:42:06 +08:00
Mygod
df03665816 Refinements 2018-07-28 20:12:04 +08:00
Mygod
af20a084cb Use Android KTX 2018-07-15 20:58:39 +08:00
Mygod
d0e92b2505 Initial draft for porting to AndroidX 2018-07-15 14:28:42 +08:00
Mygod
35bc2b4a75 Refine 2018-07-14 23:41:58 +08:00
Mygod
2488a528a3 Update dependencies 2018-06-23 18:59:31 +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
4c101012ad Refine masquerade rules 2018-06-16 00:20:00 +08:00
Mygod
09690f19c8 Fix crashes on stupid devices 2018-06-13 15:51:10 +08:00
Mygod
9a1a3f7732 Misc fixes 2018-06-11 10:41:01 +08:00
Mygod
814f42311b Update support lib to 28.0.0-alpha3 2018-06-10 22:28:09 +08:00
Mygod
d68932f72b Log general failures 2018-06-10 21:21:02 +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
d7c5dd18a5 Rename binders 2018-05-09 16:36:08 -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
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
a9c40c8ff7 Handle multiple groups and other formats of psk
This should address #17.
2018-05-02 01:30:29 -07:00
Mygod
c7a45e215e Set operating channel unconditionally 2018-04-24 22:18:21 -07:00
Mygod
2b2639e288 Refine code style 2018-04-21 23:49:10 -07:00
Mygod
2e7b30df1a Misc refinements 2018-04-21 21:52:03 -07:00
Mygod
570998b255 Add support for modifying repeater credentials
Credits go to @fxsheep: https://forum.xda-developers.com/showpost.php?p=76298728&postcount=5

Currently it only works on later versions of Android due to usage of `killall`. A workaround is in progress.
2018-04-21 20:18:15 -07:00
Mygod
e3a1003c80 Add support for requestPersistentGroupInfo 2018-04-21 17:22:53 -07:00
Mygod
97e0a6386f Support setting Wi-Fi operating channel 2018-04-21 14:49:38 -07:00
Mygod
d0941e0978 Fix KotlinNPE 2018-03-23 11:22:24 -07:00
Mygod
c1563721bf Fix notification not updated 2018-03-16 23:45:52 -07:00
Mygod
207368fd4d Refine onP2pConnectionChanged 2018-03-14 22:19:49 -07:00
Mygod
d0d78520da Fix showing notification with null device name 2018-03-14 21:48:26 -07:00
Mygod
c9e8b53e20 Fix leaking IntentReceiver for some reason 2018-03-09 00:11:06 -08:00
Mygod
d2e9ff226c Postpone crash for devices without Wi-Fi 2018-03-08 01:05:18 -08: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
c0cf88e3fc Cleanup bugfix 2018-02-27 11:30:53 -08:00
Mygod
ee5197cadc Fix some SocketException crashes 2018-02-24 00:37:09 -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
2b03bff1a3 Add failfast for VpnMonitor.registerCallback 2018-02-11 02:56:18 -08:00
Mygod
e2da99c82c Prevent crash when clean without VPN 2018-01-28 00:40:56 -08:00