OpenVPN on Android

Connecting to the Riseup VPN from an Android device.

Requirements

Installation

  1. Install OpenVPN Settings: The app can be installed either from the Market app or f-droid and is Free Software.

Create configuration files

Mount your sdcard

Plug a USB cable from your android device to your computer. On the android device, there will then be an option in the notice pull-down to copy files to your computer. Select this, and then click “Turn on USB storage”. The sdcard of your device should now be accessible from your computer.

Create the folder openvpn

From your desktop, create a folder on the sdcard called openvpn.

Create the file riseup.ovpn

Inside the openvpn folder, create the file riseup.ovpn with these contents:

client
dev tun
auth-user-pass auth.txt
remote vpn.riseup.net
ca RiseupCA.pem

If you are on a network that has filters in place, try adding one of these options to your config:

  • Look like DNS traffic
    port 53
    proto udp
    
  • Look like TLS web traffic:
    port 443
    proto tcp
    

In place of vpn.riseup.net, choose one of these servers:

[insert vpn-servers]

Create the file auth.txt

Inside the openvpn folder, create the file auth.txt, with these contents:

<riseup username>
<riseup password or VPN Secret>

For example:

joe_hill
jqn8f6H9f0mopwqj890ajgha

Rather than use your password, it is better to use a VPN secret.

Create the file RiseupCA.pem

Download the RiseupCA.pem into the openvpn folder.

Unmount your sdcard

Once you have created these files, you must unmount the sdcard from your computer and then turn off USB storage on your android device.

Use Riseup DNS

  • open OpenVPN Settings app
  • long click on riseup.ovpn
  • check: Use VPN DNS Server
  • set VPN DNS Server to 172.27.0.1
  • hit back button on the device.

Connect!

  • open OpenVPN Settings app
  • Click on riseup.ovpn to connect

Currently, there seems to be a bug where you might have to click twice to actually connect.

Troubleshooting

On some versions of Cyanogenmod, you may need to configure the module loading under advanced settings:

  • Load tun kernel module: checked.
  • Load module using: insmod
  • Path to tun module: /system/lib/modules/tun.ko

The current version of OpenVPN Settings doesn’t allow you to see the error message when OpenVPN fails. However, you can install the free software “aLogcat” and then set a filter to ‘vpn’ to see the OpenVPN errors..

   

using a custom rom (not CM) i had to install openvpn installer from android market to make it work. and it does work, well.
also openvpn settings app is no longer available in f-droid repo.