Compare commits

..

No commits in common. "4695791b4dea907f13cd9694613eddefd85a7f6a" and "3dedca4de308a16f1782f3fdc30c6cce5056c8d3" have entirely different histories.

8 changed files with 71 additions and 255 deletions

View file

@ -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

34
.github/workflows/release-linux.yml vendored Normal file
View file

@ -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

View file

@ -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 = "<group>"; };
D00117302B2FFFC900D87C25 /* NWConnection+Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NWConnection+Async.swift"; sourceTree = "<group>"; };
D00117322B3001A400D87C25 /* NewlineProtocolFramer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewlineProtocolFramer.swift; sourceTree = "<group>"; };
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 = "<group>"; };
D00117412B30347800D87C25 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
D00117422B30348D00D87C25 /* Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Shared.xcconfig; sourceTree = "<group>"; };
@ -124,6 +95,7 @@
D020F64229E4A1FF002790F6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D020F64929E4A34B002790F6 /* App.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = App.xcconfig; sourceTree = "<group>"; };
D020F64A29E4A452002790F6 /* App.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = App.xcconfig; sourceTree = "<group>"; };
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 = "<group>"; };
D020F65929E4A697002790F6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetworkExtension.xcconfig; sourceTree = "<group>"; };
@ -135,20 +107,14 @@
D032E6512B8A79C20006B8AD /* HackClub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HackClub.swift; sourceTree = "<group>"; };
D032E6532B8A79DA0006B8AD /* WireGuard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WireGuard.swift; sourceTree = "<group>"; };
D04A3E1D2BAF465F0043EC85 /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
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 = "<group>"; };
D05B9F7729E39EEC008CB1F9 /* BurrowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BurrowView.swift; sourceTree = "<group>"; };
D05B9F7929E39EED008CB1F9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
D05EF8C72B81818D0017AB4F /* FloatingButtonStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FloatingButtonStyle.swift; sourceTree = "<group>"; };
D06EB6452C3B5458005401CE /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
D06EB6472C3B5458005401CE /* System-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "System-Info.plist"; sourceTree = "<group>"; };
D06EB6532C3B5605005401CE /* SystemNetworkExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SystemNetworkExtension.xcconfig; sourceTree = "<group>"; };
D08252742B5C9DEB005DA378 /* Constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = "<group>"; };
D08252752B5C9FC4005DA378 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
D09150412B9D2AF700BE3CB0 /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = "<group>"; };
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 = "<group>"; };
D0B98FC629FDC5B5004E7149 /* Tunnel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tunnel.swift; sourceTree = "<group>"; };
D0B98FD829FDDB6F004E7149 /* libburrow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libburrow.h; sourceTree = "<group>"; };
@ -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 = "<group>";
};
D00117432B30372900D87C25 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
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 = "<group>";
};
D05B9F7329E39EEC008CB1F9 /* Products */ = {
isa = PBXGroup;
children = (
D05B9F7229E39EEC008CB1F9 /* Burrow.app */,
D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */,
D00117382B30341C00D87C25 /* libBurrowShared.a */,
);
name = Products;
sourceTree = "<group>";
};
D05B9F7429E39EEC008CB1F9 /* App */ = {
isa = PBXGroup;
children = (
@ -301,14 +270,6 @@
path = App;
sourceTree = "<group>";
};
D0A14BC92C3B57C000685DCE /* Frameworks */ = {
isa = PBXGroup;
children = (
D0A14BC82C3B57BC00685DCE /* libBurrowShared.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
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 */;

View file

@ -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

View file

@ -1,18 +0,0 @@
<?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>NSSystemExtensionUsageDescription</key>
<string>Needed to install Burrow outside of the App Store</string>
<key>NetworkExtension</key>
<dict>
<key>NEMachServiceName</key>
<string>$(APP_GROUP_IDENTIFIER).system-extension</string>
<key>NEProviderClasses</key>
<dict>
<key>com.apple.networkextension.packet-tunnel</key>
<string>$(PRODUCT_MODULE_NAME).PacketTunnelProvider</string>
</dict>
</dict>
</dict>
</plist>

View file

@ -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

View file

@ -1,8 +0,0 @@
import Foundation
import NetworkExtension
autoreleasepool {
NEProvider.startSystemExtensionMode()
}
dispatchMain()

View file

@ -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 <achive-path>"
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