Configuring VPN Connections

From version 3.1 onwards OpenELEC has added client support for PPTP and OpenVPN connections. This is an experimental feature and there is definitely room for some improvement in how you configure VPN connections via the new settings addon. There are probably bugs that need to be found and fixed too. Please understand that none of the developer team are VPN gurus so some patience will be required as we mature the feature. Let's also be clear that the sole use-case OpenELEC intends to support is VPN as a method for bypassing video stream geolocking. Anything else that happens to work is accidental and we do not ever plan to support some of the more exotic use cases that a VPN could be used for.

Supported Services

Before you ask, we haven't a clue what services work with the current VPN implementation and we don't have über resources to check them all out (particularly the cheap/free ones that will be of dubious quality). That might change over time but right now we cannot answer that question for you.

Alternatives to VPN

Our use case doesn't really care about privacy because we're only looking to bypass geolocking and this doesn't require complex encryption, only IP masking. Proxy services are a good alternative to VPNs and many popular XBMC video plugins support proxy configuration. Proxies often perform better than VPNs for video streaming because only the initial authorisation to start streaming is proxied with the main data stream coming directly from the CDN to XBMC at the full speed of your internet connection. Tunnelling the stream through a VPN with restricted bandwidth and much higher latency often gives more mixed results. DNS based VPN services are also becoming popular. DNS services have the same benefits as a proxy and are the easiest of all VPN services to get running.

Configuring a VPN

STILL TO BE DOCUMENTED.. SORRY :)

Debugging Problems

Create a new forum thread for your problem. Please resist the temptation to add your problem to an existing thread containing someone else's problem because even if it sounds similar it probably isn't the same and it makes it harder for the forum moderators to keep track of who had what issue. Telling us "I am using ACME VPN service and it doesn't work" isn't going to help us. You need to give us technical information about the connection configuration:

First we need to clear the existing /var/log/messages file and get a clean one, then restart connman-vpnd in debug mode:

rm /var/log/messages touch /var/log/messages pkill connman-vpnd /usr/sbin/connman-vpnd -d

Now use the addon GUI to make the VPN connection again, and after it fails:

cat /var/log/messages | paste

Please share the URL in your forum post. URLs are easy. If you insist on copy/pasting the logfile into a forum post (despite being asked really nicely to post the URL) the moderators will probably delete the post without reading it (because it's unreadable) and you'll get a terse request to post a URL.

The OpenELEC addon stores VPN configuration files in /storage/.config/vpn-config/ and the config file is named after the connection name entered in the GUI. To share the file with us we'll use "cat" and "paste" again, e.g.

cat /storage/.config/vpn-config/MyVPN.config | paste

Share the URL in the post. Resist the urge to cut/paste!

Connman stores its version of the config file in /storage/.cache/connman//settings and the  is based on the VPN server name. Again, we're going to "cat file | paste" to share the information, e.g.

cat /storage/.cache/connman/vpn_72_136_53_175_vpn/settings | paste

If you are trying to debug an OpenVPN connection you will also need to share the OpenVPN configuration file .. use the same process and share a URL not the file.