Toggle a VPN connection from the iOS Notification Center widget without leaving your current app.
Automatically connect to a VPN whenever you visit specific domains using the On Demand feature.
Give users a one-tap link that pre-fills a VPN server configuration inside the app via URL scheme.
Build and customize your own iOS VPN toggle app using this open-source Swift codebase as a starting point.
Requires a paid Apple Developer account, Xcode, Carthage, and enabling Personal VPN, Keychain Sharing, and App Groups in the Apple Developer Center before the app can run on a real device.
VPN On is an iOS app that makes switching on a VPN much faster than the standard Apple process. Normally, enabling a VPN on an iPhone or iPad means digging through several layers of menus in the Settings app. VPN On shortcuts that by adding a widget to the iOS Notification Center, so you can toggle your VPN connection in a few seconds without leaving whatever you are doing. The app supports VPN connections using the IPSec IKEv1 and IKEv2 protocols, which are common standards used by many commercial and self-hosted VPN services. There is also an On Demand feature that can automatically connect the VPN whenever you visit specific domain names, without requiring any manual action. Country flags are displayed alongside each saved VPN configuration to make them visually easy to identify at a glance. VPN On also supports a URL scheme, which means other apps or web links can trigger actions inside it. VPN providers can give customers a link that automatically pre-fills a server configuration in the app. You can also use URL schemes to connect to a specific saved VPN, disconnect from the current one, or open a callback URL after connecting. The URL format is documented in the README and covers accounts, passwords, server addresses, and options like always-on and IKEv2. Building the app from source requires Xcode, a paid Apple developer account, and a dependency manager called Carthage. You also need to enable several app capabilities inside Apple's Developer Center, including Personal VPN, Keychain Sharing, and App Groups, which are permissions required for a VPN app to function correctly on iOS. Provisioning profiles are needed to run the app on a real device. The project is open source under the MIT license. Translations have been contributed in Japanese, Polish, Turkish, and Dutch. It uses location data from MaxMind's GeoLite2 database to display country information for each server.
← lexrus on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.