diff --git a/Resources/Settings.bundle/Acknowledgements.plist b/Resources/Settings.bundle/Acknowledgements.plist
deleted file mode 100644
index 7c82be4..0000000
--- a/Resources/Settings.bundle/Acknowledgements.plist
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/Resources/Settings.bundle/Root.plist b/Resources/Settings.bundle/Root.plist
deleted file mode 100644
index 5bac309..0000000
--- a/Resources/Settings.bundle/Root.plist
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
- PreferenceSpecifiers
-
-
- Type
- PSGroupSpecifier
- Title
- Version Info
-
-
- DefaultValue
- Set at build time.
- Key
- version_preference
- Title
- WireGuard iOS
- Type
- PSTitleValueSpecifier
-
-
- DefaultValue
- Set at build time.
- Key
- wireguard_version_preference
- Title
- WireGuard Go
- Type
- PSTitleValueSpecifier
-
-
- Type
- PSGroupSpecifier
- FooterText
- Apple Acknowledgement
-
-
- Type
- PSChildPaneSpecifier
- Title
- Acknowledgements
- File
- Acknowledgements
-
-
- StringsTable
- Root
- Title
-
-
-
diff --git a/Resources/Settings.bundle/en.lproj/Root.strings b/Resources/Settings.bundle/en.lproj/Root.strings
deleted file mode 100644
index 11ce8e4..0000000
--- a/Resources/Settings.bundle/en.lproj/Root.strings
+++ /dev/null
@@ -1,5 +0,0 @@
-/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */
-
-"Version Info" = "Version Info";
-"Acknowledgements" = "Acknowledgements";
-"Apple Acknowledgement" = "This app contains code derived from Apple sample code: https://developer.apple.com/library/archive/samplecode/SimpleTunnel/Introduction/Intro.html";
diff --git a/Resources/Settings.bundle/nl.lproj/Root.strings b/Resources/Settings.bundle/nl.lproj/Root.strings
deleted file mode 100644
index 306b7d1..0000000
--- a/Resources/Settings.bundle/nl.lproj/Root.strings
+++ /dev/null
@@ -1,6 +0,0 @@
-/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */
-
-"Version Info" = "Versie informatie";
-"Acknowledgements" = "Licenties";
-"Apple Acknowledgement" = "Deze app bevat code afgeleid van Apple voorbeeld code: https://developer.apple.com/library/archive/samplecode/SimpleTunnel/Introduction/Intro.html";
-
diff --git a/Resources/icon_20pt.png b/Resources/icon_20pt.png
deleted file mode 100644
index 78f0792..0000000
Binary files a/Resources/icon_20pt.png and /dev/null differ
diff --git a/Resources/icon_20pt@3x.png b/Resources/icon_20pt@3x.png
deleted file mode 100644
index f7b6c66..0000000
Binary files a/Resources/icon_20pt@3x.png and /dev/null differ
diff --git a/Scripts/extract_wireguard_go_version.sh b/Scripts/extract_wireguard_go_version.sh
deleted file mode 100755
index 7a5153c..0000000
--- a/Scripts/extract_wireguard_go_version.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-sed=$(sh /etc/profile; which sed)
-wireguard_go_version=$("$sed" -n 's/.*WireGuardGoVersion = "\(.*\)\".*/\1/p' wireguard-go/version.go)
-
-target_plist="$TARGET_BUILD_DIR/$INFOPLIST_PATH"
-dsym_plist="$DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME/Contents/Info.plist"
-
-for plist in "$target_plist" "$dsym_plist"; do
- if [ -f "$plist" ]; then
- echo $wireguard_go_version
- /usr/libexec/PlistBuddy -c "Set :WireGuardGoVersion $wireguard_go_version" "$plist"
- fi
-done
-
-settings_root_plist="$TARGET_BUILD_DIR/WireGuard.app/Settings.bundle/Root.plist"
-
-if [ -f "$settings_root_plist" ]; then
- /usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:2:DefaultValue $wireguard_go_version" "$settings_root_plist"
-else
- echo "Could not find: $settings_root_plist"
- exit 1
-fi
diff --git a/Scripts/set_build_number.sh b/Scripts/set_build_number.sh
deleted file mode 100755
index 1c49437..0000000
--- a/Scripts/set_build_number.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-git=$(sh /etc/profile; which git)
-date=$(sh /etc/profile; which date)
-
-number_of_commits=$("$git" rev-list HEAD --count)
-date_timestamp=$("$date" +%Y%m%d)
-
-target_plist="$TARGET_BUILD_DIR/$INFOPLIST_PATH"
-echo $target_plist
-dsym_plist="$DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME/Contents/Info.plist"
-echo $dsym_plist
-
-for plist in "$target_plist" "$dsym_plist"; do
- if [ -f "$plist" ]; then
- echo $date_timestamp
- echo $plist
- echo $number_of_commits
- /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $number_of_commits" "$plist"
- /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString 0.0.$date_timestamp" "$plist"
-
- fi
-done
-
-settings_root_plist="$TARGET_BUILD_DIR/WireGuard.app/Settings.bundle/Root.plist"
-
-if [ -f "$settings_root_plist" ]; then
- settingsVersion="`agvtool what-marketing-version -terse1`(${number_of_commits})"
- /usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:1:DefaultValue $settingsVersion" "$settings_root_plist"
- /usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:1:DefaultValue 0.0.$date_timestamp" "$settings_root_plist"
-else
- echo "Could not find: $settings_root_plist"
- exit 1
-fi
-
diff --git a/Shared/ExtensionMessage.swift b/Shared/ExtensionMessage.swift
deleted file mode 100644
index e45ed7a..0000000
--- a/Shared/ExtensionMessage.swift
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// Copyright © 2018 WireGuard LLC. All Rights Reserved.
-//
-
-import Foundation
-
-public class ExtensionMessage: Equatable {
-
- public static let requestVersion = ExtensionMessage(0xff)
-
- public let data: Data
-
- private init(_ byte: UInt8) {
- data = Data(bytes: [byte])
- }
-
- init(_ data: Data) {
- self.data = data
- }
-
- // MARK: Equatable
- public static func == (lhs: ExtensionMessage, rhs: ExtensionMessage) -> Bool {
- return (lhs.data == rhs.data)
- }
-}
diff --git a/Shared/ProviderConfigurationKeys.swift b/Shared/ProviderConfigurationKeys.swift
deleted file mode 100644
index 6213165..0000000
--- a/Shared/ProviderConfigurationKeys.swift
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-// Copyright © 2018 WireGuard LLC. All Rights Reserved.
-//
-
-import Foundation
-
-enum PCKeys: String {
- case title, tunnelIdentifier, endpoints, dns, addresses, mtu, settings
-}
diff --git a/Shared/Validators.swift b/Shared/Validators.swift
deleted file mode 100644
index 0e227aa..0000000
--- a/Shared/Validators.swift
+++ /dev/null
@@ -1,180 +0,0 @@
-//
-// Copyright © 2018 WireGuard LLC. All Rights Reserved.
-//
-
-import Foundation
-
-enum AddressType {
- case IPv6, IPv4, other
-}
-
-public enum EndpointValidationError: Error {
- case noIpAndPort(String)
- case invalidIP(String)
- case invalidPort(String)
-
- var localizedDescription: String {
- switch self {
- case .noIpAndPort:
- return NSLocalizedString("EndpointValidationError.noIpAndPort", comment: "Error message for malformed endpoint.")
- case .invalidIP:
- return NSLocalizedString("EndpointValidationError.invalidIP", comment: "Error message for invalid endpoint ip.")
- case .invalidPort:
- return NSLocalizedString("EndpointValidationError.invalidPort", comment: "Error message invalid endpoint port.")
- }
- }
-}
-
-struct Endpoint {
- var ipAddress: String
- var port: Int32?
- var addressType: AddressType
-
- init?(endpointString: String, needsPort: Bool = true) throws {
- var hostString: String
- if needsPort {
- guard let range = endpointString.range(of: ":", options: .backwards, range: nil, locale: nil) else {
- throw EndpointValidationError.noIpAndPort(endpointString)
- }
- hostString = String(endpointString[.. 0 else {
- throw EndpointValidationError.invalidPort(String(portString/*parts[1]*/))
- }
- self.port = port
- } else {
- hostString = endpointString
- }
-
- hostString = hostString.replacingOccurrences(of: "[", with: "").replacingOccurrences(of: "]", with: "")
- var addressType = validateIpAddress(ipToValidate: hostString)
- let ipString: String
- if addressType == .other {
- ipString = convertToipAddress(from: hostString)
- } else {
- ipString = hostString
- }
-
- ipAddress = String(ipString)
- addressType = validateIpAddress(ipToValidate: ipAddress)
- guard addressType == .IPv4 || addressType == .IPv6 else {
- throw EndpointValidationError.invalidIP(ipAddress)
- }
- self.addressType = addressType
- }
-}
-
-private func convertToipAddress(from hostname: String) -> String {
- let host = CFHostCreateWithName(nil, hostname as CFString).takeRetainedValue()
- CFHostStartInfoResolution(host, .addresses, nil)
- var success: DarwinBoolean = false
- if let addresses = CFHostGetAddressing(host, &success)?.takeUnretainedValue() as NSArray?,
- let theAddress = addresses.firstObject as? NSData {
- var hostname = [CChar](repeating: 0, count: Int(NI_MAXHOST))
- if getnameinfo(theAddress.bytes.assumingMemoryBound(to: sockaddr.self), socklen_t(theAddress.length),
- &hostname, socklen_t(hostname.count), nil, 0, NI_NUMERICHOST) == 0 {
- let numAddress = String(cString: hostname)
- return numAddress
- }
- }
- return hostname
-}
-
-func validateIpAddress(ipToValidate: String) -> AddressType {
-
- var sin = sockaddr_in()
- if ipToValidate.withCString({ cstring in inet_pton(AF_INET, cstring, &sin.sin_addr) }) == 1 {
- // IPv4 peer.
- return .IPv4
- }
-
- var sin6 = sockaddr_in6()
- if ipToValidate.withCString({ cstring in inet_pton(AF_INET6, cstring, &sin6.sin6_addr) }) == 1 {
- // IPv6 peer.
- return .IPv6
- }
-
- return .other
-}
-
-public enum CIDRAddressValidationError: Error {
- case noIpAndSubnet(String)
- case invalidIP(String)
- case invalidSubnet(String)
-
- var localizedDescription: String {
- switch self {
- case .noIpAndSubnet:
- return NSLocalizedString("CIDRAddressValidationError", comment: "Error message for malformed CIDR address.")
- case .invalidIP:
- return NSLocalizedString("CIDRAddressValidationError", comment: "Error message for invalid address ip.")
- case .invalidSubnet:
- return NSLocalizedString("CIDRAddressValidationError", comment: "Error message invalid address subnet.")
- }
- }
-}
-
-struct CIDRAddress {
- var ipAddress: String
- var subnet: Int32
- var addressType: AddressType
-
- init?(stringRepresentation: String) throws {
- let subnetString: String.SubSequence
- if let range = stringRepresentation.range(of: "/", options: .backwards, range: nil, locale: nil) {
- let ipString = stringRepresentation[.. 128 ? 128 : subnet
- case .IPv4:
- self.subnet = subnet > 32 ? 32 : subnet
- case .other:
- self.subnet = subnet
- }
- } else {
- switch addressType {
- case .IPv4:
- subnet = 32
- case .IPv6:
- subnet = 128
- case .other:
- throw CIDRAddressValidationError.invalidSubnet(String(subnetString))
- }
- }
- }
-
- var subnetString: String {
- // We could calculate these.
-
- var bitMask: UInt32 = 0b11111111111111111111111111111111
- bitMask = bitMask << (32 - subnet)
-
- let first = UInt8(truncatingIfNeeded: bitMask >> 24)
- let second = UInt8(truncatingIfNeeded: bitMask >> 16 )
- let third = UInt8(truncatingIfNeeded: bitMask >> 8)
- let fourth = UInt8(truncatingIfNeeded: bitMask)
-
- return "\(first).\(second).\(third).\(fourth)"
- }
-
- var stringRepresentation: String {
- return "\(ipAddress)/\(subnet)"
- }
-}
diff --git a/designs/WireGuard-app-icon.sketch b/designs/WireGuard-app-icon.sketch
deleted file mode 100644
index d247a6c..0000000
Binary files a/designs/WireGuard-app-icon.sketch and /dev/null differ
diff --git a/icon_20pt.png b/icon_20pt.png
deleted file mode 100644
index 78f0792..0000000
Binary files a/icon_20pt.png and /dev/null differ