Roopesh Chander
3136fe0e2c
NE: When there's an error starting the tunnel, show it to the user using displayMessage()
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-09 17:07:42 +05:30
Roopesh Chander
a1070d2b29
Remove unused file PacketTunnelOptionKey.swift
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 18:59:16 +05:30
Roopesh Chander
e66cf5264a
Move logic to extension: NETunnelProviderProtocol extension code should be shared
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 17:52:01 +05:30
Roopesh Chander
af58bfcb00
Move logic to extension: Refactor PacketTunnelOptionsGenerator into a PacketTunnelSettingsGenerator
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 15:44:13 +05:30
Roopesh Chander
2f7e437202
Move logic to extension: Move DNSResolver to extension
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 15:09:45 +05:30
Roopesh Chander
7827147bc8
Move logic to extension: Include shared model code when building the extension
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 14:50:05 +05:30
Roopesh Chander
fb6a7f6007
Move logic to extension: Move PacketTunnelOptionsGenerator to the extension
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 14:16:30 +05:30
Roopesh Chander
c88c660b51
Move logic to extension: Move model files to Shared
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08 13:56:50 +05:30
Jason A. Donenfeld
02c31c89f6
Xcode: enable more warnings
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-06 16:27:25 +01:00
Roopesh Chander
1a43ad6e39
Tunnel detail: Refactor out the label scrolling into a separate UI class
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-06 16:49:09 +05:30
Jason A. Donenfeld
e228ac9d99
global: convert to Swift 4.2
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 06:31:25 +01:00
Jason A. Donenfeld
4bd1ea63c6
XCode: use old network extension ID
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-04 05:42:25 +01:00
Jason A. Donenfeld
6c40479863
XCode: unify version strings
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-04 03:51:50 +01:00
Roopesh Chander
1e5bd7e458
Add document icon
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-02 17:39:43 +05:30
Roopesh Chander
bd1820e9f5
VPN: An ErrorPresenter class to consolidate showing of error alerts
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-01 11:45:44 +05:30
Jason A. Donenfeld
9f5612f93f
wireguard-go-bridge: extract version for consumption by network extension
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 04:08:13 +01:00
Jason A. Donenfeld
2e78aecd68
UI: More elegant copy-to-clipboard behavior
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 02:17:47 +01:00
Jason A. Donenfeld
fc6bee0b8c
XCode: fall back to default settings
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-30 03:54:00 +01:00
Roopesh Chander
6fe0eb0bcf
Export: Exporting config files
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 23:06:55 +05:30
Roopesh Chander
fc78187d54
mv Parsing/ ConfigFile/
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 19:05:01 +05:30
Roopesh Chander
ffc9b11efb
Settings: Add a settings panel
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 17:34:09 +05:30
Roopesh Chander
3356cfd688
Zip: Import configs from zip files
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:52:43 +05:30
Roopesh Chander
de3dde84fd
Zip: Add zip file reader
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:51:49 +05:30
Roopesh Chander
38b816ba4c
Zip: Include minizip in our Xcode project
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:03:53 +05:30
Roopesh Chander
08c855fce6
QR code: Integrate Eric's QR code scanner
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 22:22:32 +05:30
Roopesh Chander
dba3226a34
Xcode: Disable bitcode
...
Enabling bitcode generates a linker error when linking with libwg-go.a
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
793bf63989
VPN: Bring up the tunnel
...
The app figures out all settings and passes them in the
'options' parameter of startTunnel().
The network extension just takes them as is and just plugs the supplied
values into the right places.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
a08e08fe2e
Xcode: Make Xcode build libwg-go.a automatically
...
This is based on Jeroen Leenarts' work (commit a3cdb84
)
and Jason Donenfeld's work (commit 9d01829
).
To reproduce:
In Xcode, add a new target called 'WireGuardGoBridge' with
the Cross-platform > External build system template. Configure
that target with the 'make' build tool and ask it to build on the
wireguard-go-bridge directory.
The Makefile in wireguard-go-bridge is already configured to
handle being called from Xcode as an external build system.
In WireGuardNetworkExtension's build phases, add a dependancy to
WireGuardGoBridge, and ask it to link to libwg-go.a (the make command
shall generate this archive). Add libwg-go.a as a library to be linked
with.
Edit the Xcode pbxproj file and in the file reference entry for
libwg-go.a, set path as "libwg-go.a" and sourceTree as
BUILT_PRODUCTS_DIR.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
3044637196
NE: Add bridging header
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
2c591f33c6
NE: Include the network extension in the project
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
3f4d12c404
VPN: DNSResolver: A class that does DNS resolution using getaddrinfo
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
ff7adb8bc8
Import: Support for importing a config file from file providers
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:02 +05:30
Roopesh Chander
e0c7006dbc
Config file: Parsing a wg-quick config file
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
c689be7eff
Crypto: Swift wrapper for the Curve25519 C code
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
acfa77f3df
Crypto: Add Curve25519 C code to project
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
c14d816b87
Tunnel detail: Start off with the tunnel detail view
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
e1b8b67890
Model for DNS server
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
607dd4bf3d
Tunnel creation: Refactor by creating a separate view model
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
911b16d54e
Tunnel creation: Start off with tunnel creation
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
c12f481b70
Model for an endpoint
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
b63abc65c3
VPN: Add TunnelsManager to manage the tunnels in the app
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
8ca3993804
Bump deployment target to iOS 12.0
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
0ce6b9e79e
Model for an IP Address range
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
3630543be5
Models for tunnel, interface and peer
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
5fe60a8bef
Use a split-view controller as the main (root) view controller
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
c76e5933e2
Move UI code into a separate platform-specific folder
...
Later, we hope to have a UI/macOS folder for developing a macOS client
from this codebase.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
5776523bd2
Use APP_ID in xcconfig rather than PRODUCT_BUNDLE_IDENTIFIER
...
This is required because when we add an app extension to the
project, there will be two PRODUCT_BUNDLE_IDENTIFIER fields
in our project file, so we cannot use xcconfig to set that
key directly.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
6fe8b8dbe4
Enable Network Extensions capability
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
e2022d3e00
Move App ID to Developer.xcconfig as well
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander
700c7221a9
Remove storyboard and create UI from code
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30