Add documentation for settings
This commit is contained in:
46
README.md
46
README.md
@@ -29,14 +29,54 @@ I don't know about you but I can't get my stupid Windows 10 to work with
|
|||||||
now that they introduced this
|
now that they introduced this
|
||||||
[Mobile hotspot](https://support.microsoft.com/en-us/help/4027762/windows-use-your-pc-as-a-mobile-hotspot).
|
[Mobile hotspot](https://support.microsoft.com/en-us/help/4027762/windows-use-your-pc-as-a-mobile-hotspot).
|
||||||
|
|
||||||
This app is designed to do only minimal changes to your system, so there's almost no chance you will brick your device
|
## Settings and How to Use Them
|
||||||
and/or break your Internet using this app *under normal conditions*. However there's also absolutely no guarantee it
|
|
||||||
won't.
|
Default settings are picked to suit general use cases and maximize compatibility but it might not be optimal for battery
|
||||||
|
life.
|
||||||
|
|
||||||
|
### Upstream
|
||||||
|
|
||||||
|
* Upstream network interface: Main upstream used to reroute traffic. Leave blank for auto detect system VPN.
|
||||||
|
Put `none` (or other similarly invalid entries) to suppress tethering VPN.
|
||||||
|
Put your interface name for tethering WireGuard.
|
||||||
|
* Fallback upstream: Fallback upstream is used when some VPN leave certain routes fallback to default network interface.
|
||||||
|
Leave blank for auto detect. Put `none` (or other similarly invalid entries) to forbid falling back.
|
||||||
|
Put other interface name if you feel like it.
|
||||||
|
* IP Masquerade: Source address/port from downstream packets will be remapped. Leave on if you don't know what it does.
|
||||||
|
I find turning this option off sometimes works better for dummy VPNs like ad-blockers and socksifiers (like
|
||||||
|
Shadowsocks). But you should never turn it off for real VPNs like OpenVPN, WireGuard, etc.
|
||||||
|
|
||||||
|
### Downstream
|
||||||
|
|
||||||
|
* Disable IPv6 tethering: Turning this option on will disable IPv6 for system tethering. Useful for stopping IPv6 leaks
|
||||||
|
as this app currently doesn't handle IPv6 VPN tethering (see [#6](https://github.com/Mygod/VPNHotspot/issues/6)).
|
||||||
|
* Fallback DNS server[:port]: Only used when a DNS server isn't found on the upstream interface.
|
||||||
|
* Enable DHCP workaround: Only used if your device isn't able to get your clients IP addresses with VPN on.
|
||||||
|
|
||||||
|
### Misc
|
||||||
|
|
||||||
|
* Keep Wi-Fi alive: Acquire Wi-Fi locks when repeater, temporary hotspot or system VPN hotspot is activated.
|
||||||
|
- Choose "System default" to save battery life;
|
||||||
|
- Choose "On" (default) if repeater/hotspot turns itself off automatically or stops working after a while;
|
||||||
|
- Choose "High Performance Mode" to minimize packet loss and latency (will consume more power).
|
||||||
|
* Start repeater on boot: Self explanatory.
|
||||||
|
* Network status monitor mode: This option controls how the app monitors connected devices as well as interface changes
|
||||||
|
(when custom upstream is used).
|
||||||
|
Requires restarting the app to take effects. (best way is to go to app info and force stop)
|
||||||
|
- Netlink monitor: Use Linux netlink mechanism, most battery efficient but may not work with SELinux enforcing mode.
|
||||||
|
Sometimes auto fallbacks to Netlink monitor with root and Poll.
|
||||||
|
- Netlink monitor with root: Same as above but runs netlink as root. This option works well with SELinux enforcing mode
|
||||||
|
but might still be bugged on devices heavily modified by OEM and/or carriers. Sometimes auto fallbacks to Poll.
|
||||||
|
- Poll: (default) Update network information manually every second. Least battery efficient but it should work on most
|
||||||
|
devices. Recommended to switch to other modes if possible.
|
||||||
|
|
||||||
|
|
||||||
## Q & A
|
## Q & A
|
||||||
|
|
||||||
Search the [issue tracker](https://github.com/Mygod/VPNHotspot/issues) for more.
|
Search the [issue tracker](https://github.com/Mygod/VPNHotspot/issues) for more.
|
||||||
|
|
||||||
|
### [What changes exactly can this app do to my system? (and how to revert them)](https://github.com/Mygod/VPNHotspot/issues/8#issuecomment-448529512)
|
||||||
|
|
||||||
### Failed to create group due to internal error/repeater shuts down after a while?
|
### Failed to create group due to internal error/repeater shuts down after a while?
|
||||||
|
|
||||||
This could caused by the Wi-Fi channel you selected is no longer available, due to:
|
This could caused by the Wi-Fi channel you selected is no longer available, due to:
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ class SettingsPreferenceFragment : PreferenceFragmentCompat() {
|
|||||||
true
|
true
|
||||||
}
|
}
|
||||||
findPreference("misc.source").setOnPreferenceClickListener {
|
findPreference("misc.source").setOnPreferenceClickListener {
|
||||||
(activity as MainActivity).launchUrl("https://github.com/Mygod/VPNHotspot".toUri())
|
(activity as MainActivity).launchUrl("https://github.com/Mygod/VPNHotspot/blob/master/README.md".toUri())
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
findPreference("misc.donate").setOnPreferenceClickListener {
|
findPreference("misc.donate").setOnPreferenceClickListener {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class WifiDoubleLock(lockType: Int) : AutoCloseable {
|
|||||||
companion object : SharedPreferences.OnSharedPreferenceChangeListener {
|
companion object : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
private const val KEY = "service.wifiLock"
|
private const val KEY = "service.wifiLock"
|
||||||
private val lockType get() =
|
private val lockType get() =
|
||||||
WifiDoubleLock.Mode.valueOf(app.pref.getString(KEY, WifiDoubleLock.Mode.None.toString()) ?: "").lockType
|
WifiDoubleLock.Mode.valueOf(app.pref.getString(KEY, WifiDoubleLock.Mode.Full.toString()) ?: "").lockType
|
||||||
private val service by lazy { app.getSystemService<PowerManager>()!! }
|
private val service by lazy { app.getSystemService<PowerManager>()!! }
|
||||||
|
|
||||||
private var referenceCount = 0
|
private var referenceCount = 0
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
<string name="settings_service_repeater_oc">Wi\u2011Fi 运行频段 (不稳定)</string>
|
<string name="settings_service_repeater_oc">Wi\u2011Fi 运行频段 (不稳定)</string>
|
||||||
<string name="settings_service_repeater_oc_summary">"自动 (1\u201114 = 2.4GHz, 15\u2011165 = 5GHz)"</string>
|
<string name="settings_service_repeater_oc_summary">"自动 (1\u201114 = 2.4GHz, 15\u2011165 = 5GHz)"</string>
|
||||||
<string name="settings_service_disable_ipv6">禁用 IPv6 共享</string>
|
<string name="settings_service_disable_ipv6">禁用 IPv6 共享</string>
|
||||||
<string name="settings_service_disable_ipv6_summary">防止 IPv6 VPN 泄漏。</string>
|
<string name="settings_service_disable_ipv6_summary">防止 VPN 通过 IPv6 泄漏。</string>
|
||||||
<string name="settings_service_repeater_start_on_boot">开机自启动中继</string>
|
<string name="settings_service_repeater_start_on_boot">开机自启动中继</string>
|
||||||
<string name="settings_service_wifi_lock">保持 Wi\u2011Fi 开启</string>
|
<string name="settings_service_wifi_lock">保持 Wi\u2011Fi 开启</string>
|
||||||
<string name="settings_service_wifi_lock_none">系统默认</string>
|
<string name="settings_service_wifi_lock_none">系统默认</string>
|
||||||
@@ -102,10 +102,11 @@
|
|||||||
<string name="settings_service_dhcp_workaround">尝试修复 DHCP</string>
|
<string name="settings_service_dhcp_workaround">尝试修复 DHCP</string>
|
||||||
<string name="settings_service_dhcp_workaround_summary">如果设备无法获取 IP 地址,尝试打开这个选项。</string>
|
<string name="settings_service_dhcp_workaround_summary">如果设备无法获取 IP 地址,尝试打开这个选项。</string>
|
||||||
<string name="settings_misc">杂项</string>
|
<string name="settings_misc">杂项</string>
|
||||||
|
<string name="settings_help">帮助</string>
|
||||||
<string name="settings_misc_logcat">导出调试信息</string>
|
<string name="settings_misc_logcat">导出调试信息</string>
|
||||||
<string name="settings_misc_logcat_summary">这种非常有用哇</string>
|
<string name="settings_misc_logcat_summary">这种非常有用哇</string>
|
||||||
<string name="settings_misc_source">查看 GitHub 上的源码</string>
|
<string name="settings_misc_source">项目首页 @ GitHub</string>
|
||||||
<string name="settings_misc_source_summary">Star, 提交 issues, 合作</string>
|
<string name="settings_misc_source_summary">查看使用手册,star, 提交 issues, 合作</string>
|
||||||
<string name="settings_misc_donate">捐款</string>
|
<string name="settings_misc_donate">捐款</string>
|
||||||
<string name="settings_misc_donate_summary">请给我钱</string>
|
<string name="settings_misc_donate_summary">请给我钱</string>
|
||||||
<string name="settings_misc_donate_more">PayPal, Flattr 等其他方式…</string>
|
<string name="settings_misc_donate_more">PayPal, Flattr 等其他方式…</string>
|
||||||
|
|||||||
@@ -111,10 +111,11 @@
|
|||||||
<string name="settings_service_clean_summary">Update changed settings to current active services. Can also fix rare
|
<string name="settings_service_clean_summary">Update changed settings to current active services. Can also fix rare
|
||||||
race conditions.</string>
|
race conditions.</string>
|
||||||
<string name="settings_misc">Misc</string>
|
<string name="settings_misc">Misc</string>
|
||||||
|
<string name="settings_help">Help</string>
|
||||||
<string name="settings_misc_logcat">Export debug information</string>
|
<string name="settings_misc_logcat">Export debug information</string>
|
||||||
<string name="settings_misc_logcat_summary">Such useful very wow</string>
|
<string name="settings_misc_logcat_summary">Such useful very wow</string>
|
||||||
<string name="settings_misc_source">View on GitHub</string>
|
<string name="settings_misc_source">Project homepage at GitHub</string>
|
||||||
<string name="settings_misc_source_summary">Star, submit issues and contribute</string>
|
<string name="settings_misc_source_summary">Read manual, star, submit issues and contribute</string>
|
||||||
<string name="settings_misc_donate">Donate</string>
|
<string name="settings_misc_donate">Donate</string>
|
||||||
<string name="settings_misc_donate_summary">I love money</string>
|
<string name="settings_misc_donate_summary">I love money</string>
|
||||||
<string name="settings_misc_donate_more">PayPal, Flattr, more…</string>
|
<string name="settings_misc_donate_more">PayPal, Flattr, more…</string>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
android:icon="@drawable/ic_device_wifi_lock"
|
android:icon="@drawable/ic_device_wifi_lock"
|
||||||
android:entries="@array/settings_service_wifi_lock"
|
android:entries="@array/settings_service_wifi_lock"
|
||||||
android:entryValues="@array/settings_service_wifi_lock_values"
|
android:entryValues="@array/settings_service_wifi_lock_values"
|
||||||
android:defaultValue="None"
|
android:defaultValue="Full"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_service_wifi_lock"/>
|
android:title="@string/settings_service_wifi_lock"/>
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
@@ -69,16 +69,19 @@
|
|||||||
android:defaultValue="Poll"
|
android:defaultValue="Poll"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_service_ip_monitor"/>
|
android:title="@string/settings_service_ip_monitor"/>
|
||||||
<Preference
|
</PreferenceCategory>
|
||||||
android:key="misc.logcat"
|
<PreferenceCategory
|
||||||
android:icon="@drawable/ic_action_bug_report"
|
android:title="@string/settings_help">
|
||||||
android:title="@string/settings_misc_logcat"
|
|
||||||
android:summary="@string/settings_misc_logcat_summary"/>
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="misc.source"
|
android:key="misc.source"
|
||||||
android:icon="@drawable/ic_toggle_star"
|
android:icon="@drawable/ic_toggle_star"
|
||||||
android:title="@string/settings_misc_source"
|
android:title="@string/settings_misc_source"
|
||||||
android:summary="@string/settings_misc_source_summary"/>
|
android:summary="@string/settings_misc_source_summary"/>
|
||||||
|
<Preference
|
||||||
|
android:key="misc.logcat"
|
||||||
|
android:icon="@drawable/ic_action_bug_report"
|
||||||
|
android:title="@string/settings_misc_logcat"
|
||||||
|
android:summary="@string/settings_misc_logcat_summary"/>
|
||||||
<Preference
|
<Preference
|
||||||
android:key="misc.donate"
|
android:key="misc.donate"
|
||||||
android:icon="@drawable/ic_action_card_giftcard"
|
android:icon="@drawable/ic_action_card_giftcard"
|
||||||
|
|||||||
Reference in New Issue
Block a user