diff --git a/.github/workflows/release-if-needed.yaml b/.github/workflows/release-if-needed.yaml index 79f0d63..0d2eb97 100644 --- a/.github/workflows/release-if-needed.yaml +++ b/.github/workflows/release-if-needed.yaml @@ -9,8 +9,6 @@ jobs: create: name: Create Release If Needed runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ github.token }} steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml new file mode 100644 index 0000000..6709edb --- /dev/null +++ b/.github/workflows/release-linux.yml @@ -0,0 +1,34 @@ +name: Release (Linux) +on: + release: + types: + - created +jobs: + appimage: + name: Build AppImage + runs-on: ubuntu-latest + container: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Build AppImage + run: | + docker build -t appimage-builder . -f burrow-gtk/build-aux/Dockerfile + docker create --name temp appimage-builder + docker cp temp:/app/burrow-gtk/build-appimage/Burrow-x86_64.AppImage . + docker rm temp + - name: Get Build Number + id: version + shell: bash + run: | + echo "BUILD_NUMBER=$(Tools/version.sh)" >> $GITHUB_OUTPUT + - name: Attach Artifacts + uses: SierraSoftworks/gh-releases@v1.0.7 + with: + token: ${{ secrets.GITHUB_TOKEN }} + release_tag: builds/${{ steps.version.outputs.BUILD_NUMBER }} + overwrite: "true" + files: | + Burrow-x86_64.AppImage diff --git a/Apple/Burrow.xcodeproj/project.pbxproj b/Apple/Burrow.xcodeproj/project.pbxproj index 748c82a..5c5e80b 100644 --- a/Apple/Burrow.xcodeproj/project.pbxproj +++ b/Apple/Burrow.xcodeproj/project.pbxproj @@ -15,25 +15,20 @@ D000363D2BB8928E00E582EC /* NetworkCarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D000363C2BB8928E00E582EC /* NetworkCarouselView.swift */; }; D000363F2BB895FB00E582EC /* OAuth2.swift in Sources */ = {isa = PBXBuildFile; fileRef = D000363E2BB895FB00E582EC /* OAuth2.swift */; }; D001173B2B30341C00D87C25 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D001173A2B30341C00D87C25 /* Logging.swift */; }; + D00117442B30372900D87C25 /* libBurrowShared.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D00117382B30341C00D87C25 /* libBurrowShared.a */; }; + D00117452B30372C00D87C25 /* libBurrowShared.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D00117382B30341C00D87C25 /* libBurrowShared.a */; }; D00AA8972A4669BC005C8102 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00AA8962A4669BC005C8102 /* AppDelegate.swift */; }; D01A79312B81630D0024EC91 /* NetworkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D01A79302B81630D0024EC91 /* NetworkView.swift */; }; D020F65829E4A697002790F6 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */; }; + D020F65D29E4A697002790F6 /* BurrowNetworkExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; D032E6522B8A79C20006B8AD /* HackClub.swift in Sources */ = {isa = PBXBuildFile; fileRef = D032E6512B8A79C20006B8AD /* HackClub.swift */; }; D032E6542B8A79DA0006B8AD /* WireGuard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D032E6532B8A79DA0006B8AD /* WireGuard.swift */; }; D05B9F7629E39EEC008CB1F9 /* BurrowApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05B9F7529E39EEC008CB1F9 /* BurrowApp.swift */; }; D05B9F7829E39EEC008CB1F9 /* BurrowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05B9F7729E39EEC008CB1F9 /* BurrowView.swift */; }; D05B9F7A29E39EED008CB1F9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D05B9F7929E39EED008CB1F9 /* Assets.xcassets */; }; D05EF8C82B81818D0017AB4F /* FloatingButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05EF8C72B81818D0017AB4F /* FloatingButtonStyle.swift */; }; - D06EB6462C3B5458005401CE /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06EB6452C3B5458005401CE /* main.swift */; }; - D06EB6542C3B56ED005401CE /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */; }; D08252762B5C9FC4005DA378 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = D08252752B5C9FC4005DA378 /* Constants.swift */; }; D09150422B9D2AF700BE3CB0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D09150412B9D2AF700BE3CB0 /* MainMenu.xib */; }; - D0A14BCA2C3B57C000685DCE /* libBurrowShared.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */; }; - D0A14BCB2C3B57C700685DCE /* libBurrowShared.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */; }; - D0A14BCC2C3B57D600685DCE /* libburrow.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCC6032A09535900AD070D /* libburrow.a */; }; - D0A14BE72C3B586F00685DCE /* BurrowSystemNetworkExtension.systemextension in Embed System Extensions */ = {isa = PBXBuildFile; fileRef = D0A14BCF2C3B57FE00685DCE /* BurrowSystemNetworkExtension.systemextension */; platformFilters = (macos, ); settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - D0A14BE82C3B588C00685DCE /* BurrowNetworkExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = D0A14BCE2C3B57FE00685DCE /* BurrowNetworkExtension.appex */; platformFilter = ios; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - D0A14BE92C3B58EC00685DCE /* libBurrowShared.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */; }; D0BCC5FD2A086D4700AD070D /* NetworkExtension+Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0BCC5FC2A086D4700AD070D /* NetworkExtension+Async.swift */; }; D0BCC6082A0981FE00AD070D /* Tunnel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B98FC629FDC5B5004E7149 /* Tunnel.swift */; }; D0BCC6092A09A03E00AD070D /* libburrow.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCC6032A09535900AD070D /* libburrow.a */; }; @@ -65,20 +60,6 @@ remoteGlobalIDString = D020F65229E4A697002790F6; remoteInfo = BurrowNetworkExtension; }; - D06EB6492C3B5458005401CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D05B9F6A29E39EEC008CB1F9 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D06EB63F2C3B5458005401CE; - remoteInfo = SystemNetworkExtension; - }; - D06EB6502C3B548F005401CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D05B9F6A29E39EEC008CB1F9 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D00117372B30341C00D87C25; - remoteInfo = Shared; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -88,22 +69,11 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - D0A14BE82C3B588C00685DCE /* BurrowNetworkExtension.appex in Embed Foundation Extensions */, + D020F65D29E4A697002790F6 /* BurrowNetworkExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; }; - D06EB64B2C3B5458005401CE /* Embed System Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "$(SYSTEM_EXTENSIONS_FOLDER_PATH)"; - dstSubfolderSpec = 16; - files = ( - D0A14BE72C3B586F00685DCE /* BurrowSystemNetworkExtension.systemextension in Embed System Extensions */, - ); - name = "Embed System Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -114,6 +84,7 @@ D000363E2BB895FB00E582EC /* OAuth2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OAuth2.swift; sourceTree = ""; }; D00117302B2FFFC900D87C25 /* NWConnection+Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NWConnection+Async.swift"; sourceTree = ""; }; D00117322B3001A400D87C25 /* NewlineProtocolFramer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewlineProtocolFramer.swift; sourceTree = ""; }; + D00117382B30341C00D87C25 /* libBurrowShared.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBurrowShared.a; sourceTree = BUILT_PRODUCTS_DIR; }; D001173A2B30341C00D87C25 /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; D00117412B30347800D87C25 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = ""; }; D00117422B30348D00D87C25 /* Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Shared.xcconfig; sourceTree = ""; }; @@ -124,6 +95,7 @@ D020F64229E4A1FF002790F6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D020F64929E4A34B002790F6 /* App.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = App.xcconfig; sourceTree = ""; }; D020F64A29E4A452002790F6 /* App.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = App.xcconfig; sourceTree = ""; }; + D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BurrowNetworkExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = ""; }; D020F65929E4A697002790F6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetworkExtension.xcconfig; sourceTree = ""; }; @@ -135,20 +107,14 @@ D032E6512B8A79C20006B8AD /* HackClub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HackClub.swift; sourceTree = ""; }; D032E6532B8A79DA0006B8AD /* WireGuard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WireGuard.swift; sourceTree = ""; }; D04A3E1D2BAF465F0043EC85 /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; + D05B9F7229E39EEC008CB1F9 /* Burrow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Burrow.app; sourceTree = BUILT_PRODUCTS_DIR; }; D05B9F7529E39EEC008CB1F9 /* BurrowApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BurrowApp.swift; sourceTree = ""; }; D05B9F7729E39EEC008CB1F9 /* BurrowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BurrowView.swift; sourceTree = ""; }; D05B9F7929E39EED008CB1F9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; D05EF8C72B81818D0017AB4F /* FloatingButtonStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FloatingButtonStyle.swift; sourceTree = ""; }; - D06EB6452C3B5458005401CE /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - D06EB6472C3B5458005401CE /* System-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "System-Info.plist"; sourceTree = ""; }; - D06EB6532C3B5605005401CE /* SystemNetworkExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SystemNetworkExtension.xcconfig; sourceTree = ""; }; D08252742B5C9DEB005DA378 /* Constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = ""; }; D08252752B5C9FC4005DA378 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; D09150412B9D2AF700BE3CB0 /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; - D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBurrowShared.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D0A14BCD2C3B57FE00685DCE /* Burrow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Burrow.app; sourceTree = BUILT_PRODUCTS_DIR; }; - D0A14BCE2C3B57FE00685DCE /* BurrowNetworkExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BurrowNetworkExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - D0A14BCF2C3B57FE00685DCE /* BurrowSystemNetworkExtension.systemextension */ = {isa = PBXFileReference; explicitFileType = "wrapper.system-extension"; includeInIndex = 0; path = BurrowSystemNetworkExtension.systemextension; sourceTree = BUILT_PRODUCTS_DIR; }; D0B98FBF29FD8072004E7149 /* build-rust.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-rust.sh"; sourceTree = ""; }; D0B98FC629FDC5B5004E7149 /* Tunnel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tunnel.swift; sourceTree = ""; }; D0B98FD829FDDB6F004E7149 /* libburrow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libburrow.h; sourceTree = ""; }; @@ -173,7 +139,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D0A14BCB2C3B57C700685DCE /* libBurrowShared.a in Frameworks */, + D00117442B30372900D87C25 /* libBurrowShared.a in Frameworks */, D0BCC6092A09A03E00AD070D /* libburrow.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -182,16 +148,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D0A14BE92C3B58EC00685DCE /* libBurrowShared.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D06EB63D2C3B5458005401CE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D0A14BCC2C3B57D600685DCE /* libburrow.a in Frameworks */, - D0A14BCA2C3B57C000685DCE /* libBurrowShared.a in Frameworks */, + D00117452B30372C00D87C25 /* libBurrowShared.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -222,6 +179,13 @@ path = Constants; sourceTree = ""; }; + D00117432B30372900D87C25 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; D020F63C29E4A1FF002790F6 /* Configuration */ = { isa = PBXGroup; children = ( @@ -239,13 +203,10 @@ isa = PBXGroup; children = ( D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */, - D06EB6452C3B5458005401CE /* main.swift */, D020F65929E4A697002790F6 /* Info.plist */, D020F66729E4A95D002790F6 /* NetworkExtension-iOS.entitlements */, - D06EB6472C3B5458005401CE /* System-Info.plist */, D020F66629E4A95D002790F6 /* NetworkExtension-macOS.entitlements */, D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */, - D06EB6532C3B5605005401CE /* SystemNetworkExtension.xcconfig */, D0B98FD729FDDB57004E7149 /* libburrow */, ); path = NetworkExtension; @@ -268,13 +229,21 @@ D020F65629E4A697002790F6 /* NetworkExtension */, D00117392B30341C00D87C25 /* Shared */, D020F63C29E4A1FF002790F6 /* Configuration */, - D0A14BC92C3B57C000685DCE /* Frameworks */, - D0A14BCD2C3B57FE00685DCE /* Burrow.app */, - D0A14BCE2C3B57FE00685DCE /* BurrowNetworkExtension.appex */, - D0A14BCF2C3B57FE00685DCE /* BurrowSystemNetworkExtension.systemextension */, + D05B9F7329E39EEC008CB1F9 /* Products */, + D00117432B30372900D87C25 /* Frameworks */, ); sourceTree = ""; }; + D05B9F7329E39EEC008CB1F9 /* Products */ = { + isa = PBXGroup; + children = ( + D05B9F7229E39EEC008CB1F9 /* Burrow.app */, + D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */, + D00117382B30341C00D87C25 /* libBurrowShared.a */, + ); + name = Products; + sourceTree = ""; + }; D05B9F7429E39EEC008CB1F9 /* App */ = { isa = PBXGroup; children = ( @@ -301,14 +270,6 @@ path = App; sourceTree = ""; }; - D0A14BC92C3B57C000685DCE /* Frameworks */ = { - isa = PBXGroup; - children = ( - D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */, - ); - name = Frameworks; - sourceTree = ""; - }; D0B98FD729FDDB57004E7149 /* libburrow */ = { isa = PBXGroup; children = ( @@ -329,7 +290,6 @@ buildPhases = ( D00117342B30341C00D87C25 /* Sources */, D00117352B30341C00D87C25 /* Frameworks */, - D06EB6522C3B54AB005401CE /* Compile Rust */, ); buildRules = ( ); @@ -337,13 +297,14 @@ ); name = Shared; productName = Shared; - productReference = D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */; + productReference = D00117382B30341C00D87C25 /* libBurrowShared.a */; productType = "com.apple.product-type.library.static"; }; D020F65229E4A697002790F6 /* NetworkExtension */ = { isa = PBXNativeTarget; buildConfigurationList = D020F65E29E4A697002790F6 /* Build configuration list for PBXNativeTarget "NetworkExtension" */; buildPhases = ( + D0BCC60B2A09A0C100AD070D /* Compile Rust */, D020F64F29E4A697002790F6 /* Sources */, D020F65029E4A697002790F6 /* Frameworks */, D020F65129E4A697002790F6 /* Resources */, @@ -355,7 +316,7 @@ ); name = NetworkExtension; productName = BurrowNetworkExtension; - productReference = D0A14BCE2C3B57FE00685DCE /* BurrowNetworkExtension.appex */; + productReference = D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */; productType = "com.apple.product-type.app-extension"; }; D05B9F7129E39EEC008CB1F9 /* App */ = { @@ -367,38 +328,18 @@ D05B9F6F29E39EEC008CB1F9 /* Frameworks */, D05B9F7029E39EEC008CB1F9 /* Resources */, D020F66129E4A697002790F6 /* Embed Foundation Extensions */, - D06EB64B2C3B5458005401CE /* Embed System Extensions */, ); buildRules = ( ); dependencies = ( D00117472B30373100D87C25 /* PBXTargetDependency */, D020F65C29E4A697002790F6 /* PBXTargetDependency */, - D06EB64A2C3B5458005401CE /* PBXTargetDependency */, ); name = App; productName = Burrow; - productReference = D0A14BCD2C3B57FE00685DCE /* Burrow.app */; + productReference = D05B9F7229E39EEC008CB1F9 /* Burrow.app */; productType = "com.apple.product-type.application"; }; - D06EB63F2C3B5458005401CE /* SystemNetworkExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = D06EB64D2C3B5458005401CE /* Build configuration list for PBXNativeTarget "SystemNetworkExtension" */; - buildPhases = ( - D06EB63C2C3B5458005401CE /* Sources */, - D06EB63D2C3B5458005401CE /* Frameworks */, - D06EB63E2C3B5458005401CE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - D06EB6512C3B548F005401CE /* PBXTargetDependency */, - ); - name = SystemNetworkExtension; - productName = SystemNetworkExtension; - productReference = D0A14BCF2C3B57FE00685DCE /* BurrowSystemNetworkExtension.systemextension */; - productType = "com.apple.product-type.system-extension"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -406,7 +347,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1600; + LastSwiftUpdateCheck = 1510; LastUpgradeCheck = 1520; TargetAttributes = { D00117372B30341C00D87C25 = { @@ -418,9 +359,6 @@ D05B9F7129E39EEC008CB1F9 = { CreatedOnToolsVersion = 14.3; }; - D06EB63F2C3B5458005401CE = { - CreatedOnToolsVersion = 16.0; - }; }; }; buildConfigurationList = D05B9F6D29E39EEC008CB1F9 /* Build configuration list for PBXProject "Burrow" */; @@ -434,13 +372,12 @@ mainGroup = D05B9F6929E39EEC008CB1F9; packageReferences = ( ); - productRefGroup = D05B9F6929E39EEC008CB1F9; + productRefGroup = D05B9F7329E39EEC008CB1F9 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( D05B9F7129E39EEC008CB1F9 /* App */, D020F65229E4A697002790F6 /* NetworkExtension */, - D06EB63F2C3B5458005401CE /* SystemNetworkExtension */, D00117372B30341C00D87C25 /* Shared */, ); }; @@ -463,13 +400,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D06EB63E2C3B5458005401CE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -494,25 +424,25 @@ shellPath = /bin/sh; shellScript = "\"$PROJECT_DIR/../Tools/version.sh\"\n"; }; - D06EB6522C3B54AB005401CE /* Compile Rust */ = { + D0BCC60B2A09A0C100AD070D /* Compile Rust */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( - "$(PROJECT_DIR)/../", ); name = "Compile Rust"; outputFileListPaths = ( ); outputPaths = ( - "$(BUILT_PRODUCTS_DIR)/libburrow.a", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PROJECT_DIR}/NetworkExtension/libburrow/build-rust.sh\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -561,15 +491,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D06EB63C2C3B5458005401CE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D06EB6462C3B5458005401CE /* main.swift in Sources */, - D06EB6542C3B56ED005401CE /* PacketTunnelProvider.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -585,23 +506,9 @@ }; D020F65C29E4A697002790F6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - platformFilter = ios; target = D020F65229E4A697002790F6 /* NetworkExtension */; targetProxy = D020F65B29E4A697002790F6 /* PBXContainerItemProxy */; }; - D06EB64A2C3B5458005401CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - platformFilters = ( - macos, - ); - target = D06EB63F2C3B5458005401CE /* SystemNetworkExtension */; - targetProxy = D06EB6492C3B5458005401CE /* PBXContainerItemProxy */; - }; - D06EB6512C3B548F005401CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D00117372B30341C00D87C25 /* Shared */; - targetProxy = D06EB6502C3B548F005401CE /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -661,20 +568,6 @@ }; name = Release; }; - D06EB64E2C3B5458005401CE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D06EB6532C3B5605005401CE /* SystemNetworkExtension.xcconfig */; - buildSettings = { - }; - name = Debug; - }; - D06EB64F2C3B5458005401CE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D06EB6532C3B5605005401CE /* SystemNetworkExtension.xcconfig */; - buildSettings = { - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -714,15 +607,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D06EB64D2C3B5458005401CE /* Build configuration list for PBXNativeTarget "SystemNetworkExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D06EB64E2C3B5458005401CE /* Debug */, - D06EB64F2C3B5458005401CE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = D05B9F6A29E39EEC008CB1F9 /* Project object */; diff --git a/Apple/Configuration/Compiler.xcconfig b/Apple/Configuration/Compiler.xcconfig index 5bcdba4..87b55fe 100644 --- a/Apple/Configuration/Compiler.xcconfig +++ b/Apple/Configuration/Compiler.xcconfig @@ -36,7 +36,6 @@ FUSE_BUILD_SCRIPT_PHASES = YES APP_GROUP_IDENTIFIER = group.$(APP_BUNDLE_IDENTIFIER) APP_GROUP_IDENTIFIER[sdk=macosx*] = $(DEVELOPMENT_TEAM).$(APP_BUNDLE_IDENTIFIER) NETWORK_EXTENSION_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).network -SYSTEM_NETWORK_EXTENSION_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).network-systemextension // Swift SWIFT_VERSION = 5.0 diff --git a/Apple/NetworkExtension/System-Info.plist b/Apple/NetworkExtension/System-Info.plist deleted file mode 100644 index 5b3a818..0000000 --- a/Apple/NetworkExtension/System-Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - NSSystemExtensionUsageDescription - Needed to install Burrow outside of the App Store - NetworkExtension - - NEMachServiceName - $(APP_GROUP_IDENTIFIER).system-extension - NEProviderClasses - - com.apple.networkextension.packet-tunnel - $(PRODUCT_MODULE_NAME).PacketTunnelProvider - - - - diff --git a/Apple/NetworkExtension/SystemNetworkExtension.xcconfig b/Apple/NetworkExtension/SystemNetworkExtension.xcconfig deleted file mode 100644 index 5abae96..0000000 --- a/Apple/NetworkExtension/SystemNetworkExtension.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -#include "../Configuration/Extension.xcconfig" - -PRODUCT_NAME = BurrowSystemNetworkExtension -PRODUCT_BUNDLE_IDENTIFIER = $(SYSTEM_NETWORK_EXTENSION_BUNDLE_IDENTIFIER) - -INFOPLIST_FILE = NetworkExtension/System-Info.plist -LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks - -CODE_SIGN_ENTITLEMENTS = NetworkExtension/NetworkExtension-macOS.entitlements - -SWIFT_INCLUDE_PATHS = $(inherited) $(PROJECT_DIR)/NetworkExtension diff --git a/Apple/NetworkExtension/main.swift b/Apple/NetworkExtension/main.swift deleted file mode 100644 index 410c838..0000000 --- a/Apple/NetworkExtension/main.swift +++ /dev/null @@ -1,8 +0,0 @@ -import Foundation -import NetworkExtension - -autoreleasepool { - NEProvider.startSystemExtensionMode() -} - -dispatchMain() diff --git a/Tools/export-developer-id.sh b/Tools/export-developer-id.sh deleted file mode 100644 index e450e9b..0000000 --- a/Tools/export-developer-id.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -export PATH="$PATH:/opt/homebrew/bin:/usr/local/bin:/etc/profiles/per-user/$USER/bin" - -set -euo pipefail - -cd "$(dirname "${BASH_SOURCE[0]}")"/.. - -ARCHIVE_PATH="$1" -if [[ -z $ARCHIVE_PATH ]]; then - echo "export-developer-id.sh " - exit 1 -fi - -APP_PATH="$ARCHIVE_PATH/Products/Applications/Burrow.app" - -codesign -d --entitlements Burrow.entitlements --xml "$APP_PATH" - - -TAG_PREFIX="builds/" - -CURRENT_BUILD=$(git tag --points-at HEAD | tail -n 1) -LATEST_BUILD="$TAG_PREFIX$(git tag -l "builds/[0-9]*" | cut -d'/' -f 2 | sort -n | tail -n 1)" - -CURRENT_BUILD_NUMBER=${CURRENT_BUILD#$TAG_PREFIX} -LATEST_BUILD_NUMBER=${LATEST_BUILD#$TAG_PREFIX} -if [[ -z $LATEST_BUILD_NUMBER ]]; then - LATEST_BUILD_NUMBER="0" -fi - -if [[ ! -z $LATEST_BUILD && $(git merge-base --is-ancestor $LATEST_BUILD HEAD) -ne 0 ]]; then - echo "error: HEAD is not descended from build $LATEST_BUILD_NUMBER" >&2 - exit 1 -fi - -BUILD_NUMBER=$LATEST_BUILD_NUMBER - -if [[ $# -gt 0 && "$1" == "increment" ]]; then - NEW_BUILD_NUMBER=$((LATEST_BUILD_NUMBER + 1)) - NEW_TAG="$TAG_PREFIX$NEW_BUILD_NUMBER" - BUILD_NUMBER=$NEW_BUILD_NUMBER - - git tag $NEW_TAG - git push --quiet origin $NEW_TAG - gh release create "$NEW_TAG" -t "Build $BUILD_NUMBER" --verify-tag --generate-notes >/dev/null -fi - -if [[ -z $(grep $BUILD_NUMBER Apple/Configuration/Version.xcconfig 2>/dev/null) ]]; then - echo "CURRENT_PROJECT_VERSION = $BUILD_NUMBER" > Apple/Configuration/Version.xcconfig - git update-index --assume-unchanged Apple/Configuration/Version.xcconfig -fi - -if [[ $# -gt 0 && "$1" == "status" ]]; then - if [[ $CURRENT_BUILD_NUMBER -eq $LATEST_BUILD_NUMBER ]]; then - echo "clean" - else - echo "dirty" - fi - exit 0 -fi - -echo $BUILD_NUMBER