From d656e6e3c165c836a5d8c9a556f09240f4a5cd46 Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Wed, 23 Jul 2014 01:53:03 +0200 Subject: Tune FAQ --HG-- extra : rebase_source : 3e91216fe140928991fbdecab28b688d09089597 --- .../java/de/blinkt/openvpn/fragments/FaqFragment.java | 18 +++++++++++++----- main/src/main/res/layout/faq.xml | 1 + main/src/main/res/values/strings.xml | 6 +++--- 3 files changed, 17 insertions(+), 8 deletions(-) (limited to 'main') diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java index 238ad952..396b787e 100644 --- a/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java +++ b/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java @@ -1,6 +1,7 @@ package de.blinkt.openvpn.fragments; import android.app.Fragment; +import android.os.Build; import android.os.Bundle; import android.text.Html; import android.text.method.LinkMovementMethod; @@ -17,19 +18,26 @@ public class FaqFragment extends Fragment { Bundle savedInstanceState) { View v= inflater.inflate(R.layout.faq, container, false); - insertHtmlEntry(v,R.id.broken_images_faq,R.string.broken_images_faq); - insertHtmlEntry(v,R.id.faq_howto,R.string.faq_howto); + insertHtmlEntry(v, R.id.broken_images_faq,R.string.broken_images_faq); + insertHtmlEntry(v, R.id.faq_howto,R.string.faq_howto); insertHtmlEntry(v, R.id.baterry_consumption, R.string.baterry_consumption); insertHtmlEntry(v, R.id.faq_tethering, R.string.faq_tethering); insertHtmlEntry(v, R.id.faq_vpndialog43, R.string.faq_vpndialog43); insertHtmlEntry(v, R.id.faq_system_dialog_xposed, R.string.faq_system_dialog_xposed); + + /* I think the problem mentioned in there should not affect, 4.3+ */ + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + v.findViewById(R.id.broken_images_faq).setVisibility(View.GONE); + v.findViewById(R.id.broken_images_faq_title).setVisibility(View.GONE); + } + return v; } private void insertHtmlEntry (View v, int viewId, int stringId) { - TextView faqitem = (TextView) v.findViewById(viewId); - faqitem.setText(Html.fromHtml(getActivity().getString(stringId))); - faqitem.setMovementMethod(LinkMovementMethod.getInstance()); + TextView faqItem = (TextView) v.findViewById(viewId); + faqItem.setText(Html.fromHtml(getActivity().getString(stringId))); + faqItem.setMovementMethod(LinkMovementMethod.getInstance()); } diff --git a/main/src/main/res/layout/faq.xml b/main/src/main/res/layout/faq.xml index 8983e203..bedce228 100644 --- a/main/src/main/res/layout/faq.xml +++ b/main/src/main/res/layout/faq.xml @@ -89,6 +89,7 @@ A third time? Actually, one could write a a tap emulator based on tun that would add layer2 information on send and strip layer2 information on receive. But this tap emulator would also have to implement ARP and possibly a DHCP client. I am not aware of anybody doing any work in this direction. Contact me if you want to start coding on this. FAQ Copying log entries - To copy a single log entry press and hold on the log entry. To copy/send the whole log use the Send Log option. Use the hardware menu button if not visible in the GUI. + To copy a single log entry press and hold on the log entry. To copy/send the whole log use the Send Log option. Use the hardware menu button, if the button is not visible in the GUI. Shortcut to start You can place a shortcut to start OpenVPN on your desktop. Depending on your homescreen program you will have to add either a shortcut or a widget. Your image does not support the VPNService API, sorry :( @@ -190,7 +190,7 @@ No DNS servers being used. Name resolution may not work. Consider setting custom DNS Servers. Please also note that Android will keep using your proxy settings specified for your mobile/Wi-Fi connection when no DNS servers are set. Could not add DNS Server \"%1$s\", rejected by the system: %2$s Could not configure IP Address \"%1$s\", rejected by the system: %2$s - <p>Get a working config (tested on your computer or download from your provider/organisation)</p><p>If it is a single file no with no extra pem/pks12 files you can email the file yourself and open the attachment. If you have multiple files put them on your sd card.</p><p>Click on the email attachment/Use the folder icon in the vpn list to import the config file</p><p>If there are errors about missing files put the missing files on your sd card.</p><p>Click on the save symbol to add the imported VPN to your VPN list</p><p>Connect the VPN by clicking on the name of the VPN</p><p>If there are error or warnings in the log try to understand the warnings/error and try to fix them</p> + <p>Get a working config (tested on your computer or download from your provider/organisation)</p><p>If it is a single file with no extra pem/pks12 files you can email the file yourself and open the attachment. If you have multiple files put them on your sd card.</p><p>Click on the email attachment/Use the folder icon in the vpn list to import the config file</p><p>If there are errors about missing files put the missing files on your sd card.</p><p>Click on the save symbol to add the imported VPN to your VPN list</p><p>Connect the VPN by clicking on the name of the VPN</p><p>If there are error or warnings in the log try to understand the warnings/error and try to fix them</p> Quick Start Try to load the tun.ko kernel module before trying to connect. Needs rooted devices. Load tun module @@ -214,7 +214,7 @@ Use the <img src=\"ic_menu_archive\"/> icon to import an existing (.ovpn or .conf) profile from your sdcard. Be sure to also check out the FAQ. There is a quick start guide. Routing/Interface Configuration - The Routing and interface configuration is not done via traditional ifconfig/route commands but by using the VPNService API. This results in a different routing configuration than on other OSes. The configuration for the VPN tunnel consists of the IP address and the networks that should be routed over this interface. Especially no peer partner address or gateway address is needed. Special routes to reach the VPN Server (for example added when using redirect-gateway) are not needed either. The application will consequently ignore these settings when importing a configuration. The app ensures with the VPNService API that the connection to the server is not routed through the VPN tunnel. Only specifying networks to be routed via tunnel is supported. The app tries to detect networks that should not be routed over tunnel (e.g. route x.x.x.x y.y.y.y net_gateway) and calculates a route set that excludes this routes to emulate the behaviour of other platforms. The log windows shows the configuration of the VPNService upon establishing a connection. + The Routing and interface configuration is not done via traditional ifconfig/route commands but by using the VPNService API. This results in a different routing configuration than on other OSes. \nThe configuration of the VPN tunnel consists of the IP address and the networks that should be routed over this interface. Especially, no peer partner address or gateway address is needed or required. Special routes to reach the VPN Server (for example added when using redirect-gateway) are not needed either. The application will consequently ignore these settings when importing a configuration. The app ensures with the VPNService API that the connection to the server is not routed through the VPN tunnel.\nThe VPNService API does not allow specifying networks that should not be routed via the VPN. As a workaround the app tries to detect networks that should not be routed over tunnel (e.g. route x.x.x.x y.y.y.y net_gateway) and calculates a set of routes that excludes this routes to emulate the behaviour of other platforms. The log windows shows the configuration of the VPNService upon establishing a connection.\nBehind the scenes: Android 4.4+ does use policy routing. Using route/ifconfig will not show the installed routes. Instead use ip rule, iptables -t mangle -L Do not fallback to no VPN connection when OpenVPN is reconnecting. Persistent tun OpenVPN Log -- cgit v1.2.3