Commit Graph

102 Commits

Author SHA1 Message Date
Roopesh Chander 50ed363ef2 macOS: Manage tunnels: Tunnel detail view 2019-01-14 14:52:31 +05:30
Roopesh Chander 8d39a2725c macOS: Manage tunnels window: Tunnels list 2019-01-14 14:52:30 +05:30
Roopesh Chander c1a5fb7ddd macOS: Ability to import tunnels from file
For now, the open panel shows as a separate window.
Later, we'll open it as a sheet on the 'Manage tunnels' window.
2019-01-14 14:52:30 +05:30
Roopesh Chander c8b3d5a8ed iOS: Refactor importFromFile
So that it can be used in macOS as well
2019-01-14 14:52:29 +05:30
Roopesh Chander f5e5fa4d5e macOS: Create status bar with tunnel names 2019-01-14 14:52:29 +05:30
Roopesh Chander ee4eae0ade macOS: Remove MainMenu.xib
When there's no xib, we should explicitly set the app delegate, so we
override NSApplication and set the app delegate in NSApplication.shared
2019-01-14 14:52:29 +05:30
Roopesh Chander c41be2a29d Make app groups work on both iOS and macOS 2019-01-14 14:52:28 +05:30
Roopesh Chander c8a8d4ba1e macOS: Add Network Extensions capability to app 2019-01-14 14:52:28 +05:30
Roopesh Chander 2632ead1bf iOS: Fix WireGuardNetworkExtensioniOS target
- Rename WireGuardNetworkExtension.entitlements to WireGuardNetworkExtension_iOS.entitlements
2019-01-14 14:52:28 +05:30
Roopesh Chander 10ff41cc64 iOS: Fix WireGuardiOS target
- Move Info.plist and entitlements to WireGuard/UI/iOS/
2019-01-14 14:52:28 +05:30
Roopesh Chander 3ea00e1f41 macOS: Fix WireGuardmacOS target
- Include non-UI code from iOS while building
- Add run scripts
- Move files to WireGuard/UI/macOS
- Set Swift-Obj-C bridging header
2019-01-14 14:52:28 +05:30
Roopesh Chander 966883ea05 macOS: Fix WireGuardNetworkExtensionmacOS target
- Build using common network extension code
- Add run scripts
- Set Info.plist to common network extension's Info.plist
- Move entitlements to common network extension folder
- Remove Xcode-generated macOS network extension code
- Set Swift-Obj-C bridging header
2019-01-14 14:52:27 +05:30
Roopesh Chander 548d6bda72 macOS: WireGuardNetworkExtensionmacOS depends on WireGuardGoBridgemacOS 2019-01-14 14:52:27 +05:30
Roopesh Chander fae6bc6bdf macOS: Add WireGuardNetworkExtensionmacOS target 2019-01-14 14:52:27 +05:30
Roopesh Chander 46b26a146c macOS: Add WireGuardmacOS target 2019-01-14 14:52:27 +05:30
Roopesh Chander 1fa38101c5 Xcode: Add WireGuardGoBridgemacOS target 2019-01-14 14:52:27 +05:30
Roopesh Chander ad502331f0 Move iOS images and storyboard into UI/iOS/ folder 2019-01-14 14:52:27 +05:30
Roopesh Chander 6ec9e94a39 Xcode: Rename iOS targets to include an 'iOS' suffix
But keep the PRODUCT_NAME as 'WireGuard', not 'WireGuardiOS'.
2019-01-14 14:52:26 +05:30
Roopesh Chander 8715b66caa xcconfig: Make app id platform-specific 2019-01-14 14:52:26 +05:30
Roopesh Chander a380f17974 minizip: Remove zip encryption code
We can now remove -DNOCRYPT cflag while compiling
2018-12-25 12:48:04 +05:30
Roopesh Chander baf99733f5 TunnelStatus: Absorb NEVPNStatus+CustomStringConvertible 2018-12-22 15:46:28 +05:30
Eric Kuck 8fb8d9a9d2 All models now Equatable 2018-12-21 22:57:17 -06:00
Jason A. Donenfeld 30cf9a1d1d Move model helpers to model directory 2018-12-22 01:36:42 +01:00
Eric Kuck c62c56da13 providerConfiguration is now a WgQuickConfig 2018-12-21 16:32:08 -06:00
Eric Kuck d7a27426e9 All migration stuff moved to one gross file 2018-12-21 12:51:14 -06:00
Eric Kuck f39893685f Updated NETunnelProvider save format 2018-12-21 16:42:16 +01:00
Roopesh Chander 6b48cb3095 Localize all the things 2018-12-21 18:34:09 +05:30
Eric Kuck cba41de73a Added a String->[String] helper 2018-12-20 10:46:26 -06:00
Roopesh Chander 92903e5b63 Error handling: Add info on the underlying system error to error alerts 2018-12-17 19:04:17 +05:30
Eric Kuck d1825d6b6c Got TunnelsManager back under the max file length by splitting out NEVPNStatus+CustomStringConvertible 2018-12-16 23:51:25 -06:00
Roopesh Chander 6d348ab0e6 Provide mock tunnels for the Simulator
To help in generation of screenshots for the App Store
2018-12-16 01:15:10 +05:30
Eric Kuck 66fcdfd13c KeyValueCells now share code 2018-12-14 20:02:37 -06:00
Eric Kuck 4ae0c4bb17 Reorganized project structure 2018-12-14 17:27:11 -06:00
Eric Kuck b06a43e2a2 Most similar views now shared between ViewControllers 2018-12-14 17:15:22 -06:00
Eric Kuck a8cbe0d683 Reorganized ViewControllers (split out UIViews and UITableViewCells into their own classes)
All swiftlint warnings except one fixed up
2018-12-13 12:58:50 -06:00
Roopesh Chander 03680bf3c9 Remove unused code: InternetReachability 2018-12-13 23:45:21 +05:30
Roopesh Chander 3520ad13e7 Logging: Use ringlogger for logging from the extension 2018-12-13 17:37:14 +05:30
Roopesh Chander 3f2e332c27 mv WireGuard/WireGuard/VPN/ WireGuard/WireGuard/Tunnel/ 2018-12-13 12:14:21 +05:30
Eric Kuck 965f66e5e2 More linter warnings fixed, enabled more swiftlint rules, project cleanup 2018-12-12 15:33:14 -06:00
Eric Kuck fa558a4019 Added swiftlint and fixed all errors (and a bunch, but not all, warnings) 2018-12-12 11:40:57 -06:00
Roopesh Chander 8d58a79272 Error handling: Introduce a WireGuardResult type to handle errors in callbacks across the app 2018-12-07 12:36:19 +05:30
Roopesh Chander 5aee6f5753 Error handling: Introduce a WireGuardAppError protocol to manage errors
The alert strings shall be located next to where the errors are declared.
2018-12-07 12:36:19 +05:30
Roopesh Chander 5764fa4930 NE: Logging: Log file should begin with version numbers and tunnel name 2018-12-07 12:36:19 +05:30
Roopesh Chander 981b86d357 VPN: Error out when tunnel activation fails because there's no internet 2018-12-03 18:51:42 +05:30
Roopesh Chander 67268a0ce5 NE: Write log to file 2018-11-30 00:36:33 +05:30
Roopesh Chander 41aca352a7 Xcode: Add app groups capability 2018-11-29 12:01:45 +05:30
Roopesh Chander 6857a579b3 Exporting: Refactor out zip exporting into a separate class 2018-11-15 13:39:56 +05:30
Roopesh Chander b2b2818e2e Importing: Refactor out zip importing into a separate class 2018-11-14 18:52:10 +05:30
Roopesh Chander c0eb34c755 Model, Tunnels manager: Rewrite the model for VPN-on-demand
The VPN-on-demand settings should not be part of the tunnel
configuration. Rather, the onDemandRules stored in the
tunnel provider configuration serve as the one place
where the VPN-on-demand settings are stored.
2018-11-12 19:24:13 +05:30
Roopesh Chander 75474acb59 Model: ActivityType enum to represent VPN-on-demand options 2018-11-10 19:17:24 +05:30