Setup in four steps (sign in, name the device, allow the VPN configuration, done), Status with its five states, Devices and Settings, drawn from the Mobile artboards of the "Skyglide UI" canvas. SkyglideKit holds the testable core: the device key generated on the device and kept in the shared Keychain group, PKCE, route planning (private network only, or everything with IPv6 that cannot leak), location detection from the controller's answer only, the connection state machine and the app model behind a controller seam with no wire code. The packet tunnel extension reads its configuration and the key and applies routes, DNS and MTU; the WireGuard data path is a seam that refuses to start until WireGuardKit can be linked.
@skyglide.com/swiftapp
Skyglide for iPhone and iPad. At a Skyglide location a phone joins its member's private network through the skyglide.com Wi-Fi; everywhere else this app connects it to the same network through the Skyglide cloud, over WireGuard.
Issue Reporting and Security
For reporting bugs, issues, or security vulnerabilities, please visit community.foss.global/. This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a code.foss.global/ account to submit Pull Requests directly.
What it does
- Setup in four steps: sign in with your Skyglide account in the system's browser sheet, name the device, allow the VPN configuration, done. The device's WireGuard key is created on the device and stays in its keychain; your account only learns its public half.
- Status: connected through the Skyglide cloud; at a Skyglide location, where the connection stays idle once the Skyglide cloud confirms the Wi-Fi really is your network (a network with the same name elsewhere does not count); disconnected; waiting for a hotel's or train's Wi-Fi sign-in page; membership paused.
- Internet through Skyglide: off by default, so only traffic to your own devices uses Skyglide. Turned on, all traffic goes through the Skyglide cloud and is inspected there.
- Devices: your devices away from a location and at each location, with their addresses and private names to copy.
- Settings: membership, Connect automatically, notifications, this device's name, address and key, and removing the device from your network.
On the iPhone the app has a tab bar; on the iPad a sidebar.
State
Skyglide is being built. This app has its screens, its state, the key handling and the tunnel extension's settings; it does not connect yet. The WireGuard data path is not linked (it needs WireGuardKit, which needs a Go toolchain to build), and the Skyglide service the app signs in to does not exist yet, so sign-in says the service can't be reached.
Development
Needs a Mac with Xcode 26 or later.
cd SkyglideKit && swift test
xcodebuild build -project Skyglide.xcodeproj -scheme Skyglide -destination 'generic/platform=iOS Simulator'
xcodebuild test -project Skyglide.xcodeproj -scheme Skyglide -destination 'platform=iOS Simulator,name=iPhone 17 Pro'
Debug builds show every screen with sample data: xcrun simctl launch <device> com.skyglide.app -SkyglideDemo connected (also welcome, name, permission, done, location, off, captive, restricted; add -SkyglideTab devices or settings).
License and Legal Information
This repository is licensed under the MIT license, see license.md.