mirror of
https://github.com/amnezia-vpn/amneziawg-apple.git
synced 2026-05-17 00:16:25 +03:00
AmneziaWG 1.0.0 (0)
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -44,8 +44,5 @@ fastlane/test_output
|
||||
Preview.html
|
||||
output
|
||||
|
||||
# Wireguard specific
|
||||
Sources/WireGuardApp/Config/Developer.xcconfig
|
||||
|
||||
# Vim
|
||||
.*.sw*
|
||||
|
||||
@@ -130,32 +130,33 @@ extension TunnelConfiguration {
|
||||
if let listenPort = interface.listenPort {
|
||||
output.append("ListenPort = \(listenPort)\n")
|
||||
}
|
||||
if let Jc = interface.Jc {
|
||||
output.append("Jc = \(Jc)\n")
|
||||
|
||||
if let junkPacketCount = interface.junkPacketCount {
|
||||
output.append("Jc = \(junkPacketCount)\n")
|
||||
}
|
||||
if let Jmin = interface.Jmin {
|
||||
output.append("Jmin = \(Jmin)\n")
|
||||
if let junkPacketMinSize = interface.junkPacketMinSize {
|
||||
output.append("Jmin = \(junkPacketMinSize)\n")
|
||||
}
|
||||
if let Jmax = interface.Jmax {
|
||||
output.append("Jmax = \(Jmax)\n")
|
||||
if let junkPacketMaxSize = interface.junkPacketMaxSize {
|
||||
output.append("Jmax = \(junkPacketMaxSize)\n")
|
||||
}
|
||||
if let S1 = interface.S1 {
|
||||
output.append("S1 = \(S1)\n")
|
||||
if let initPacketJunkSize = interface.initPacketJunkSize {
|
||||
output.append("S1 = \(initPacketJunkSize)\n")
|
||||
}
|
||||
if let S2 = interface.S2 {
|
||||
output.append("S2 = \(S2)\n")
|
||||
if let responsePacketJunkSize = interface.responsePacketJunkSize {
|
||||
output.append("S2 = \(responsePacketJunkSize)\n")
|
||||
}
|
||||
if let H1 = interface.H1 {
|
||||
output.append("H1 = \(H1)\n")
|
||||
if let initPacketMagicHeader = interface.initPacketMagicHeader {
|
||||
output.append("H1 = \(initPacketMagicHeader)\n")
|
||||
}
|
||||
if let H2 = interface.H2 {
|
||||
output.append("H2 = \(H2)\n")
|
||||
if let responsePacketMagicHeader = interface.responsePacketMagicHeader {
|
||||
output.append("H2 = \(responsePacketMagicHeader)\n")
|
||||
}
|
||||
if let H3 = interface.H3 {
|
||||
output.append("H3 = \(H3)\n")
|
||||
if let underloadPacketMagicHeader = interface.underloadPacketMagicHeader {
|
||||
output.append("H3 = \(underloadPacketMagicHeader)\n")
|
||||
}
|
||||
if let H4 = interface.H4 {
|
||||
output.append("H4 = \(H4)\n")
|
||||
if let transportPacketMagicHeader = interface.transportPacketMagicHeader {
|
||||
output.append("H4 = \(transportPacketMagicHeader)\n")
|
||||
}
|
||||
if !interface.addresses.isEmpty {
|
||||
let addressString = interface.addresses.map { $0.stringRepresentation }.joined(separator: ", ")
|
||||
@@ -235,59 +236,59 @@ extension TunnelConfiguration {
|
||||
}
|
||||
interface.mtu = mtu
|
||||
}
|
||||
if let JcString = attributes["jc"] {
|
||||
guard let jc = UInt16(JcString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(JcString)
|
||||
if let junkPacketCountString = attributes["jc"] {
|
||||
guard let junkPacketCount = UInt16(junkPacketCountString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(junkPacketCountString)
|
||||
}
|
||||
interface.Jc = jc
|
||||
interface.junkPacketCount = junkPacketCount
|
||||
}
|
||||
if let JminString = attributes["jmin"] {
|
||||
guard let jmin = UInt16(JminString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(JminString)
|
||||
if let junkPacketMinSizeString = attributes["jmin"] {
|
||||
guard let junkPacketMinSize = UInt16(junkPacketMinSizeString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(junkPacketMinSizeString)
|
||||
}
|
||||
interface.Jmin = jmin
|
||||
interface.junkPacketMinSize = junkPacketMinSize
|
||||
}
|
||||
if let JmaxString = attributes["jmax"] {
|
||||
guard let jmax = UInt16(JmaxString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(JmaxString)
|
||||
if let junkPacketMaxSizeString = attributes["jmax"] {
|
||||
guard let junkPacketMaxSize = UInt16(junkPacketMaxSizeString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(junkPacketMaxSizeString)
|
||||
}
|
||||
interface.Jmax = jmax
|
||||
interface.junkPacketMaxSize = junkPacketMaxSize
|
||||
}
|
||||
if let S1String = attributes["s1"] {
|
||||
guard let s1 = UInt16(S1String) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(S1String)
|
||||
if let initPacketJunkSizeString = attributes["s1"] {
|
||||
guard let initPacketJunkSize = UInt16(initPacketJunkSizeString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(initPacketJunkSizeString)
|
||||
}
|
||||
interface.S1 = s1
|
||||
interface.initPacketJunkSize = initPacketJunkSize
|
||||
}
|
||||
if let S2String = attributes["s2"] {
|
||||
guard let s2 = UInt16(S2String) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(S2String)
|
||||
if let responsePacketJunkSizeString = attributes["s2"] {
|
||||
guard let responsePacketJunkSize = UInt16(responsePacketJunkSizeString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(responsePacketJunkSizeString)
|
||||
}
|
||||
interface.S2 = s2
|
||||
interface.responsePacketJunkSize = responsePacketJunkSize
|
||||
}
|
||||
if let H1String = attributes["h1"] {
|
||||
guard let h1 = UInt32(H1String) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(H1String)
|
||||
if let initPacketMagicHeaderString = attributes["h1"] {
|
||||
guard let initPacketMagicHeader = UInt32(initPacketMagicHeaderString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(initPacketMagicHeaderString)
|
||||
}
|
||||
interface.H1 = h1
|
||||
interface.initPacketMagicHeader = initPacketMagicHeader
|
||||
}
|
||||
if let H2String = attributes["h2"] {
|
||||
guard let h2 = UInt32(H2String) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(H2String)
|
||||
if let responsePacketMagicHeaderString = attributes["h2"] {
|
||||
guard let responsePacketMagicHeader = UInt32(responsePacketMagicHeaderString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(responsePacketMagicHeaderString)
|
||||
}
|
||||
interface.H2 = h2
|
||||
interface.responsePacketMagicHeader = responsePacketMagicHeader
|
||||
}
|
||||
if let H3String = attributes["h3"] {
|
||||
guard let h3 = UInt32(H3String) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(H3String)
|
||||
if let underloadPacketMagicHeaderString = attributes["h3"] {
|
||||
guard let underloadPacketMagicHeader = UInt32(underloadPacketMagicHeaderString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(underloadPacketMagicHeaderString)
|
||||
}
|
||||
interface.H3 = h3
|
||||
interface.underloadPacketMagicHeader = underloadPacketMagicHeader
|
||||
}
|
||||
if let H4String = attributes["h4"] {
|
||||
guard let h4 = UInt32(H4String) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(H4String)
|
||||
if let transportPacketMagicHeaderString = attributes["h4"] {
|
||||
guard let transportPacketMagicHeader = UInt32(transportPacketMagicHeaderString) else {
|
||||
throw ParseError.interfaceHasInvalidCustomParam(transportPacketMagicHeaderString)
|
||||
}
|
||||
interface.H4 = h4
|
||||
interface.transportPacketMagicHeader = transportPacketMagicHeader
|
||||
}
|
||||
return interface
|
||||
}
|
||||
|
||||
@@ -402,6 +402,8 @@
|
||||
|
||||
"macAlertMultipleEntriesForKey (%@)" = "There should be only one entry per section for key ‘%@’";
|
||||
|
||||
"macAlertInterfaceHasInvalidCustomParam (%@)" = "Interface has invalid custom param ‘%@’";
|
||||
|
||||
// Mac about dialog
|
||||
|
||||
"macAppVersion (%@)" = "App version: %@";
|
||||
|
||||
10
Sources/WireGuardApp/Config/Developer.xcconfig
Normal file
10
Sources/WireGuardApp/Config/Developer.xcconfig
Normal file
@@ -0,0 +1,10 @@
|
||||
// Developer.xcconfig
|
||||
|
||||
// You Apple developer account's Team ID
|
||||
DEVELOPMENT_TEAM = X7UJ388FXK
|
||||
|
||||
// The bundle identifier of the apps.
|
||||
// Should be an app id created at developer.apple.com
|
||||
// with Network Extensions capabilty.
|
||||
APP_ID_IOS = org.amnezia.awg
|
||||
APP_ID_MACOS = org.amnezia.awg
|
||||
@@ -1,2 +1,2 @@
|
||||
VERSION_NAME = 1.0.16
|
||||
VERSION_ID = 27
|
||||
VERSION_NAME = 1.0.0
|
||||
VERSION_ID = 0
|
||||
|
||||
@@ -149,9 +149,10 @@ extension SettingsTableViewController {
|
||||
appVersion += " (\(appBuild))"
|
||||
}
|
||||
cell.value = appVersion
|
||||
} else if field == .goBackendVersion {
|
||||
cell.value = WIREGUARD_GO_VERSION
|
||||
}
|
||||
// else if field == .goBackendVersion {
|
||||
// cell.value = WIREGUARD_GO_VERSION
|
||||
// }
|
||||
return cell
|
||||
} else if field == .exportZipArchive {
|
||||
let cell: ButtonCell = tableView.dequeueReusableCell(for: indexPath)
|
||||
|
||||
@@ -195,7 +195,7 @@ extension AppDelegate {
|
||||
}
|
||||
let appVersionString = [
|
||||
tr(format: "macAppVersion (%@)", appVersion),
|
||||
tr(format: "macGoBackendVersion (%@)", WIREGUARD_GO_VERSION)
|
||||
// tr(format: "macGoBackendVersion (%@)", WIREGUARD_GO_VERSION)
|
||||
].joined(separator: "\n")
|
||||
NSApp.activate(ignoringOtherApps: true)
|
||||
NSApp.orderFrontStandardAboutPanel(options: [
|
||||
|
||||
@@ -51,6 +51,8 @@ extension TunnelConfiguration.ParseError: WireGuardAppError {
|
||||
return (tr("alertInvalidPeerMessagePublicKeyDuplicated"), "")
|
||||
case .multipleEntriesForKey(let value):
|
||||
return (tr(format: "macAlertMultipleEntriesForKey (%@)", value), "")
|
||||
case .interfaceHasInvalidCustomParam(let customParam):
|
||||
return (tr(format: "macAlertInterfaceHasInvalidCustomParam (%@)", customParam), "")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,15 +7,15 @@ import Network
|
||||
public struct InterfaceConfiguration {
|
||||
public var privateKey: PrivateKey
|
||||
public var addresses = [IPAddressRange]()
|
||||
public var Jc: UInt16?
|
||||
public var Jmin: UInt16?
|
||||
public var Jmax: UInt16?
|
||||
public var S1: UInt16?
|
||||
public var S2: UInt16?
|
||||
public var H1: UInt32?
|
||||
public var H2: UInt32?
|
||||
public var H3: UInt32?
|
||||
public var H4: UInt32?
|
||||
public var junkPacketCount: UInt16?
|
||||
public var junkPacketMinSize: UInt16?
|
||||
public var junkPacketMaxSize: UInt16?
|
||||
public var initPacketJunkSize: UInt16?
|
||||
public var responsePacketJunkSize: UInt16?
|
||||
public var initPacketMagicHeader: UInt32?
|
||||
public var responsePacketMagicHeader: UInt32?
|
||||
public var underloadPacketMagicHeader: UInt32?
|
||||
public var transportPacketMagicHeader: UInt32?
|
||||
public var listenPort: UInt16?
|
||||
public var mtu: UInt16?
|
||||
public var dns = [DNSServer]()
|
||||
|
||||
@@ -47,32 +47,33 @@ class PacketTunnelSettingsGenerator {
|
||||
if let listenPort = tunnelConfiguration.interface.listenPort {
|
||||
wgSettings.append("listen_port=\(listenPort)\n")
|
||||
}
|
||||
if let Jc = tunnelConfiguration.interface.Jc {
|
||||
wgSettings.append("jc=\(Jc)\n")
|
||||
|
||||
if let junkPacketCount = tunnelConfiguration.interface.junkPacketCount {
|
||||
wgSettings.append("jc=\(junkPacketCount)\n")
|
||||
}
|
||||
if let Jmin = tunnelConfiguration.interface.Jmin {
|
||||
wgSettings.append("jmin=\(Jmin)\n")
|
||||
if let junkPacketMinSize = tunnelConfiguration.interface.junkPacketMinSize {
|
||||
wgSettings.append("jmin=\(junkPacketMinSize)\n")
|
||||
}
|
||||
if let Jmax = tunnelConfiguration.interface.Jmax {
|
||||
wgSettings.append("jmax=\(Jmax)\n")
|
||||
if let junkPacketMaxSize = tunnelConfiguration.interface.junkPacketMaxSize {
|
||||
wgSettings.append("jmax=\(junkPacketMaxSize)\n")
|
||||
}
|
||||
if let S1 = tunnelConfiguration.interface.S1 {
|
||||
wgSettings.append("s1=\(S1)\n")
|
||||
if let initPacketJunkSize = tunnelConfiguration.interface.initPacketJunkSize {
|
||||
wgSettings.append("s1=\(initPacketJunkSize)\n")
|
||||
}
|
||||
if let S2 = tunnelConfiguration.interface.S2 {
|
||||
wgSettings.append("s2=\(S2)\n")
|
||||
if let responsePacketJunkSize = tunnelConfiguration.interface.responsePacketJunkSize {
|
||||
wgSettings.append("s2=\(responsePacketJunkSize)\n")
|
||||
}
|
||||
if let H1 = tunnelConfiguration.interface.H1 {
|
||||
wgSettings.append("h1=\(H1)\n")
|
||||
if let initPacketMagicHeader = tunnelConfiguration.interface.initPacketMagicHeader {
|
||||
wgSettings.append("h1=\(initPacketMagicHeader)\n")
|
||||
}
|
||||
if let H2 = tunnelConfiguration.interface.H2 {
|
||||
wgSettings.append("h2=\(H2)\n")
|
||||
if let responsePacketMagicHeader = tunnelConfiguration.interface.responsePacketMagicHeader {
|
||||
wgSettings.append("h2=\(responsePacketMagicHeader)\n")
|
||||
}
|
||||
if let H3 = tunnelConfiguration.interface.H3 {
|
||||
wgSettings.append("h3=\(H3)\n")
|
||||
if let underloadPacketMagicHeader = tunnelConfiguration.interface.underloadPacketMagicHeader {
|
||||
wgSettings.append("h3=\(underloadPacketMagicHeader)\n")
|
||||
}
|
||||
if let H4 = tunnelConfiguration.interface.H4 {
|
||||
wgSettings.append("h4=\(H4)\n")
|
||||
if let transportPacketMagicHeader = tunnelConfiguration.interface.transportPacketMagicHeader {
|
||||
wgSettings.append("h4=\(transportPacketMagicHeader)\n")
|
||||
}
|
||||
if !tunnelConfiguration.peers.isEmpty {
|
||||
wgSettings.append("replace_peers=true\n")
|
||||
@@ -143,7 +144,7 @@ class PacketTunnelSettingsGenerator {
|
||||
let (ipv4Addresses, ipv6Addresses) = addresses()
|
||||
let (ipv4IncludedRoutes, ipv6IncludedRoutes) = includedRoutes()
|
||||
let (ipv4ExcludedRoutes, ipv6ExcludedRoutes) = excludedRoutes()
|
||||
|
||||
|
||||
let ipv4Settings = NEIPv4Settings(addresses: ipv4Addresses.map { $0.destinationAddress }, subnetMasks: ipv4Addresses.map { $0.destinationSubnetMask })
|
||||
ipv4Settings.includedRoutes = ipv4IncludedRoutes
|
||||
ipv4Settings.excludedRoutes = ipv4ExcludedRoutes
|
||||
@@ -202,7 +203,7 @@ class PacketTunnelSettingsGenerator {
|
||||
}
|
||||
return (ipv4IncludedRoutes, ipv6IncludedRoutes)
|
||||
}
|
||||
|
||||
|
||||
private func excludedRoutes() -> ([NEIPv4Route], [NEIPv6Route]) {
|
||||
var ipv4ExcludedRoutes = [NEIPv4Route]()
|
||||
var ipv6ExcludedRoutes = [NEIPv6Route]()
|
||||
|
||||
@@ -6,3 +6,10 @@ require (
|
||||
github.com/amnezia-vpn/amneziawg-go v0.2.1
|
||||
golang.org/x/sys v0.17.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/tevino/abool/v2 v2.1.0 // indirect
|
||||
golang.org/x/crypto v0.19.0 // indirect
|
||||
golang.org/x/net v0.21.0 // indirect
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -292,7 +292,7 @@
|
||||
585B104D2577E293004F691E /* DNSResolver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSResolver.swift; sourceTree = "<group>"; };
|
||||
585B104E2577E293004F691E /* IPAddress+AddrInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "IPAddress+AddrInfo.swift"; sourceTree = "<group>"; };
|
||||
585B104F2577E293004F691E /* PrivateKey.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrivateKey.swift; sourceTree = "<group>"; };
|
||||
585B10502577E293004F691E /* PacketTunnelSettingsGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PacketTunnelSettingsGenerator.swift; sourceTree = "<group>"; };
|
||||
585B10502577E293004F691E /* PacketTunnelSettingsGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.swift; path = PacketTunnelSettingsGenerator.swift; sourceTree = "<group>"; tabWidth = 4; };
|
||||
585B10512577E293004F691E /* IPAddressRange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPAddressRange.swift; sourceTree = "<group>"; };
|
||||
585B10522577E293004F691E /* Endpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = "<group>"; };
|
||||
585B10542577E293004F691E /* WireGuardKitC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WireGuardKitC.h; sourceTree = "<group>"; };
|
||||
@@ -317,7 +317,7 @@
|
||||
5F52D0BE21E3788900283CEA /* NSColor+Hex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSColor+Hex.swift"; sourceTree = "<group>"; };
|
||||
5F52D0C021E378C000283CEA /* highlighter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = highlighter.h; sourceTree = "<group>"; };
|
||||
5F52D0C121E378C000283CEA /* highlighter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = highlighter.c; sourceTree = "<group>"; };
|
||||
5F9696AF21CD7128008063FE /* TunnelConfiguration+WgQuickConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TunnelConfiguration+WgQuickConfig.swift"; sourceTree = "<group>"; };
|
||||
5F9696AF21CD7128008063FE /* TunnelConfiguration+WgQuickConfig.swift */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.swift; path = "TunnelConfiguration+WgQuickConfig.swift"; sourceTree = "<group>"; tabWidth = 4; };
|
||||
6B5C5E26220A48D30024272E /* Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = "<group>"; };
|
||||
6B62E45E220A6FA900EF34A6 /* PrivateDataConfirmation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivateDataConfirmation.swift; sourceTree = "<group>"; };
|
||||
6B6956352211DA80001B618A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
@@ -347,8 +347,6 @@
|
||||
6F6483E6229293300075BA15 /* LaunchedAtLoginDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchedAtLoginDetector.swift; sourceTree = "<group>"; };
|
||||
6F689999218043390012E523 /* WireGuard-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "WireGuard-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
6F70E20D221058DF008BDFB4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Sources/WireGuardApp/Base.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6F70E20D221058DF008BDFBA /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
6F70E20D221058DF008BDFC6 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
6F70E22922106A2D008BDFB4 /* WireGuardLoginItemHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WireGuardLoginItemHelper.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6F70E23222106A31008BDFB4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
6F70E23922109BEF008BDFB4 /* LoginItemHelper.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LoginItemHelper.entitlements; sourceTree = "<group>"; };
|
||||
@@ -402,26 +400,26 @@
|
||||
6FDEF7FE21863C0100D8FBF6 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = "<group>"; };
|
||||
6FDEF7FF21863C0100D8FBF6 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
|
||||
6FDEF801218646B900D8FBF6 /* ZipArchive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZipArchive.swift; sourceTree = "<group>"; };
|
||||
6FDEF805218725D200D8FBF6 /* SettingsTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsTableViewController.swift; sourceTree = "<group>"; };
|
||||
6FDEF805218725D200D8FBF6 /* SettingsTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.swift; path = SettingsTableViewController.swift; sourceTree = "<group>"; tabWidth = 4; };
|
||||
6FE1765521C90BBE002690EA /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Sources/WireGuardApp/Base.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690FC /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh-Hant; path = Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F0 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh-Hans; path = Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690FB /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = Sources/WireGuardApp/id.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = Sources/WireGuardApp/it.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F9 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Sources/WireGuardApp/de.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690EB /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = Sources/WireGuardApp/fr.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = Sources/WireGuardApp/fi.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F4 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = Sources/WireGuardApp/fa.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690FA /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = Sources/WireGuardApp/sl.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690EC /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = Sources/WireGuardApp/pl.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690EF /* pa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pa; path = Sources/WireGuardApp/pa.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F7 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = Sources/WireGuardApp/ko.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690EE /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = Sources/WireGuardApp/ca.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = Sources/WireGuardApp/ru.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F3 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = Sources/WireGuardApp/ro.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F8 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = Sources/WireGuardApp/tr.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F1 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = Sources/WireGuardApp/ja.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690ED /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Sources/WireGuardApp/es.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690EE /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = Sources/WireGuardApp/ca.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690EF /* pa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pa; path = Sources/WireGuardApp/pa.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F0 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F1 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = Sources/WireGuardApp/ja.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = Sources/WireGuardApp/it.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F3 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = Sources/WireGuardApp/ro.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F4 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = Sources/WireGuardApp/fa.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = Sources/WireGuardApp/fi.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = Sources/WireGuardApp/ru.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F7 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = Sources/WireGuardApp/ko.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F8 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = Sources/WireGuardApp/tr.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690F9 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Sources/WireGuardApp/de.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690FA /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = Sources/WireGuardApp/sl.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690FB /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = Sources/WireGuardApp/id.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
6FE1765521C90BBE002690FC /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
6FE1765921C90E87002690EA /* LocalizationHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizationHelper.swift; sourceTree = "<group>"; };
|
||||
6FE254FA219C10800028284D /* ZipImporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZipImporter.swift; sourceTree = "<group>"; };
|
||||
6FE254FE219C60290028284D /* ZipExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZipExporter.swift; sourceTree = "<group>"; };
|
||||
@@ -429,7 +427,7 @@
|
||||
6FF3526B21C23F960008484E /* ringlogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ringlogger.h; sourceTree = "<group>"; };
|
||||
6FF3526C21C23F960008484E /* ringlogger.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ringlogger.c; sourceTree = "<group>"; };
|
||||
6FF3526E21C23FA10008484E /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = "<group>"; };
|
||||
6FF4AC14211EC46F002C96EB /* WireGuard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WireGuard.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6FF4AC14211EC46F002C96EB /* AmneziaWG.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AmneziaWG.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6FF4AC1E211EC472002C96EB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
6FF4AC21211EC472002C96EB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
6FF4AC23211EC472002C96EB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -439,7 +437,7 @@
|
||||
6FFA5D942194454A0001E2F7 /* NETunnelProviderProtocol+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NETunnelProviderProtocol+Extension.swift"; sourceTree = "<group>"; };
|
||||
6FFA5D9F21958ECC0001E2F7 /* ErrorNotifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorNotifier.swift; sourceTree = "<group>"; };
|
||||
6FFA5DA32197085D0001E2F7 /* ActivateOnDemandOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivateOnDemandOption.swift; sourceTree = "<group>"; };
|
||||
6FFACD1E21E4D89600E9A2A5 /* ParseError+WireGuardAppError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ParseError+WireGuardAppError.swift"; sourceTree = "<group>"; };
|
||||
6FFACD1E21E4D89600E9A2A5 /* ParseError+WireGuardAppError.swift */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.swift; path = "ParseError+WireGuardAppError.swift"; sourceTree = "<group>"; tabWidth = 4; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -777,7 +775,7 @@
|
||||
6FF4AC15211EC46F002C96EB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6FF4AC14211EC46F002C96EB /* WireGuard.app */,
|
||||
6FF4AC14211EC46F002C96EB /* AmneziaWG.app */,
|
||||
6F5D0C1A218352EF000F85AD /* WireGuardNetworkExtension.appex */,
|
||||
6FB1BD5D21D2607A00A991BF /* WireGuard.app */,
|
||||
6FB1BD9121D4BFE600A991BF /* WireGuardNetworkExtension.appex */,
|
||||
@@ -951,7 +949,7 @@
|
||||
packageProductDependencies = (
|
||||
);
|
||||
productName = WireGuard;
|
||||
productReference = 6FF4AC14211EC46F002C96EB /* WireGuard.app */;
|
||||
productReference = 6FF4AC14211EC46F002C96EB /* AmneziaWG.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
@@ -1622,6 +1620,7 @@
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
INFOPLIST_FILE = Sources/WireGuardApp/UI/macOS/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = AmneziaWG;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
@@ -1643,6 +1642,7 @@
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
INFOPLIST_FILE = Sources/WireGuardApp/UI/macOS/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = AmneziaWG;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
@@ -1792,6 +1792,8 @@
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PATH = "${PATH}:/opt/homebrew/opt/go/bin";
|
||||
PRODUCT_NAME = AmneziaWG;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Sources/WireGuardApp/WireGuard-Bridging-Header.h";
|
||||
@@ -1799,6 +1801,7 @@
|
||||
SWIFT_PRECOMPILE_BRIDGING_HEADER = NO;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
WIREGUARD_GO_VERSION = 0.2.1;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -1854,6 +1857,8 @@
|
||||
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
PATH = "${PATH}:/opt/homebrew/opt/go/bin";
|
||||
PRODUCT_NAME = AmneziaWG;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Sources/WireGuardApp/WireGuard-Bridging-Header.h";
|
||||
@@ -1862,6 +1867,7 @@
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
WIREGUARD_GO_VERSION = 0.2.1;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -1877,7 +1883,6 @@
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(APP_ID_IOS)";
|
||||
PRODUCT_NAME = WireGuard;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -1894,7 +1899,6 @@
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(APP_ID_IOS)";
|
||||
PRODUCT_NAME = WireGuard;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
Reference in New Issue
Block a user