Turning on a VPN is always a painful experience on an iOS device due to the deep nested menus. This App installs a Today Widget into Notification Center which make it possible to turn on a VPN in about 3 seconds(depends on the connection speed). Furthermore, by turning on On Demand feature, the VPN could be automatically connected when you visit any domain specified in this App.
- An iPhone running iOS 8.1
- An IPSec IKEv1 / IKEv2 VPN(create yours with my Ansible Playbook or deploy on DigitalOcean)
- Xcode 6.1.1
- An Apple iOS developer account
To compile the project, you may temporarily modify the bundle_id after adding yours into the Apple Developer Center. And then activate the following capabilities of both the container App and the widget:
- Personal VPN
- Keychain Sharing
- App Groups
Meanwhile, provisioning profiles are required for testing on iPhone.
After creating a VPN configuration you can activate the Today Widget in Notification Center, then turn on the VPN by tapping the switch. You may be asked to allow the installation of a VPN profile for the first time.
Issues and roadmap are listed here.
This project follows the gitflow workflow. You'd better create a branch called feature/sth_improved
before any major improvements. Meanwhile minor bug fixes are welcomed in the develop branch.
Please contribute to the Transifex project.
VPN service providers may list a link for their customers to efficiently add server configurations in VPN On. By register the vpnon://
protocol, it supports the following URL scheme:
vpnon://{account}:{password}@{server}/?title={title}&group={group}&secret={secret}&alwayson=[yes|no]&ikev2=[yes|no]&certificate={certificate}
server
and title
are required, other fields are optional. The following URLs are valid:
-
vpnon://jony:ive@apple.com/?title=Apple&group=Design&secret=iPhone
-
vpnon://apple.com/?title=Apple
-
vpnon://admin@192.168.0.123/?title=Google&group=devops
-
vpnon://admin@202.96.209.6/?title=Yahoo&alwayson=no
-
vpnon://jony:ive@202.96.209.5/?title=Twitter&ikev2=yes
-
vpnon://jony:ive@202.96.209.5/?title=GitHub&ikev2=yes&certificate=https://github.com/
Although this App is 100% open-sourced, it may takes about 20~60 minutes to configure the environment. I'd appreciate if you could buy VPN On from App Store.
BTW. I'm a coffee addict, buy me a coffee via PayPal or Alipay: lexrus@gmail.com
- Japanese translation - Onevcat
- Polish translation - Seb Kaczorowski
KeychainWrapper
Note: I set the optimization level of VPNOnKit to None
in order to read Keychain properly due to an issue of Swift.
Flags are rasterized from flag-icon-css.
This code is distributed under the terms and conditions of the MIT license.