Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commiteb61235

Browse files
authored
feat: VPN protocol (#11)
Adds support for the VPN Protocol, up to a generic, abstract base `Speaker` class. We'll subclass this and override the handlers for the real `Manager` class in the network extension.
1 parentc070ac7 commiteb61235

File tree

12 files changed

+3085
-2
lines changed

12 files changed

+3085
-2
lines changed

‎Coder Desktop/Coder Desktop.xcodeproj/project.pbxproj

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
AA8BC33F2D0061F200E1ABAA /* FluidMenuBarExtra in Frameworks */ = {isa = PBXBuildFile; productRef = AA8BC33E2D0061F200E1ABAA /* FluidMenuBarExtra */; };
1414
AA8BC4CF2D00A4B700E1ABAA /* KeychainAccess in Frameworks */ = {isa = PBXBuildFile; productRef = AA8BC4CE2D00A4B700E1ABAA /* KeychainAccess */; };
1515
AAD720D02D0816B200F6304D /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = AAD720CF2D0816B200F6304D /* Alamofire */; };
16+
961679532CFF207900B2B6DF /* SwiftProtobuf in Frameworks */ = {isa = PBXBuildFile; productRef = 961679522CFF207900B2B6DF /* SwiftProtobuf */; };
17+
961679552CFF207900B2B6DF /* SwiftProtobufPluginLibrary in Frameworks */ = {isa = PBXBuildFile; productRef = 961679542CFF207900B2B6DF /* SwiftProtobufPluginLibrary */; };
1618
/* End PBXBuildFile section */
1719

1820
/* Begin PBXContainerItemProxy section */
@@ -37,6 +39,13 @@
3739
remoteGlobalIDString = 9616792F2CFF117300B2B6DF;
3840
remoteInfo = VPN;
3941
};
42+
961679DD2D030E1D00B2B6DF /* PBXContainerItemProxy */ = {
43+
isa = PBXContainerItemProxy;
44+
containerPortal = 961678F42CFF100D00B2B6DF /* Project object */;
45+
proxyType = 1;
46+
remoteGlobalIDString = 961678FB2CFF100D00B2B6DF;
47+
remoteInfo = "Coder Desktop";
48+
};
4049
/* End PBXContainerItemProxy section */
4150

4251
/* Begin PBXCopyFilesBuildPhase section */
@@ -59,6 +68,7 @@
5968
961679192CFF100E00B2B6DF /* Coder DesktopUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Coder DesktopUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
6069
961679302CFF117300B2B6DF /* com.coder.Coder-Desktop.VPN.systemextension */ = {isa = PBXFileReference; explicitFileType = "wrapper.system-extension"; includeInIndex = 0; path = "com.coder.Coder-Desktop.VPN.systemextension"; sourceTree = BUILT_PRODUCTS_DIR; };
6170
961679322CFF117300B2B6DF /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; };
71+
961679D92D030E1D00B2B6DF /* ProtoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ProtoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
6272
/* End PBXFileReference section */
6373

6474
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
@@ -69,6 +79,13 @@
6979
);
7080
target = 9616792F2CFF117300B2B6DF /* VPN */;
7181
};
82+
961679472CFF14EA00B2B6DF /* Exceptions for "Proto" folder in "VPN" target */ = {
83+
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
84+
membershipExceptions = (
85+
Sender.swift,
86+
);
87+
target = 9616792F2CFF117300B2B6DF /* VPN */;
88+
};
7289
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
7390

7491
/* Begin PBXFileSystemSynchronizedRootGroup section */
@@ -95,6 +112,19 @@
95112
path = VPN;
96113
sourceTree = "<group>";
97114
};
115+
961679432CFF149000B2B6DF /* Proto */ = {
116+
isa = PBXFileSystemSynchronizedRootGroup;
117+
exceptions = (
118+
961679472CFF14EA00B2B6DF /* Exceptions for "Proto" folder in "VPN" target */,
119+
);
120+
path = Proto;
121+
sourceTree = "<group>";
122+
};
123+
961679DA2D030E1D00B2B6DF /* ProtoTests */ = {
124+
isa = PBXFileSystemSynchronizedRootGroup;
125+
path = ProtoTests;
126+
sourceTree = "<group>";
127+
};
98128
/* End PBXFileSystemSynchronizedRootGroup section */
99129

100130
/* Begin PBXFrameworksBuildPhase section */
@@ -105,6 +135,8 @@
105135
AAD720D02D0816B200F6304D /* Alamofire in Frameworks */,
106136
AA8BC4CF2D00A4B700E1ABAA /* KeychainAccess in Frameworks */,
107137
AA8BC33F2D0061F200E1ABAA /* FluidMenuBarExtra in Frameworks */,
138+
961679552CFF207900B2B6DF /* SwiftProtobufPluginLibrary in Frameworks */,
139+
961679532CFF207900B2B6DF /* SwiftProtobuf in Frameworks */,
108140
);
109141
runOnlyForDeploymentPostprocessing = 0;
110142
};
@@ -127,7 +159,16 @@
127159
isa = PBXFrameworksBuildPhase;
128160
buildActionMask = 2147483647;
129161
files = (
162+
961679E52D03144C00B2B6DF /* SwiftProtobufPluginLibrary in Frameworks */,
130163
961679332CFF117300B2B6DF /* NetworkExtension.framework in Frameworks */,
164+
961679E32D03144900B2B6DF /* SwiftProtobuf in Frameworks */,
165+
);
166+
runOnlyForDeploymentPostprocessing = 0;
167+
};
168+
961679D62D030E1D00B2B6DF /* Frameworks */ = {
169+
isa = PBXFrameworksBuildPhase;
170+
buildActionMask = 2147483647;
171+
files = (
131172
);
132173
runOnlyForDeploymentPostprocessing = 0;
133174
};
@@ -137,6 +178,8 @@
137178
961678F32CFF100D00B2B6DF = {
138179
isa = PBXGroup;
139180
children = (
181+
961679432CFF149000B2B6DF /* Proto */,
182+
961679DA2D030E1D00B2B6DF /* ProtoTests */,
140183
961678FE2CFF100D00B2B6DF /* Coder Desktop */,
141184
961679122CFF100E00B2B6DF /* Coder DesktopTests */,
142185
9616791C2CFF100E00B2B6DF /* Coder DesktopUITests */,
@@ -153,6 +196,7 @@
153196
9616790F2CFF100E00B2B6DF /* Coder DesktopTests.xctest */,
154197
961679192CFF100E00B2B6DF /* Coder DesktopUITests.xctest */,
155198
961679302CFF117300B2B6DF /* com.coder.Coder-Desktop.VPN.systemextension */,
199+
961679D92D030E1D00B2B6DF /* ProtoTests.xctest */,
156200
);
157201
name = Products;
158202
sourceTree = "<group>";
@@ -185,12 +229,15 @@
185229
);
186230
fileSystemSynchronizedGroups = (
187231
961678FE2CFF100D00B2B6DF /* Coder Desktop */,
232+
961679432CFF149000B2B6DF /* Proto */,
188233
);
189234
name = "Coder Desktop";
190235
packageProductDependencies = (
191236
AA8BC33E2D0061F200E1ABAA /* FluidMenuBarExtra */,
192237
AA8BC4CE2D00A4B700E1ABAA /* KeychainAccess */,
193238
AAD720CF2D0816B200F6304D /* Alamofire */,
239+
961679522CFF207900B2B6DF /* SwiftProtobuf */,
240+
961679542CFF207900B2B6DF /* SwiftProtobufPluginLibrary */,
194241
);
195242
productName = "Coder Desktop";
196243
productReference = 961678FC2CFF100D00B2B6DF /* Coder Desktop.app */;
@@ -260,11 +307,36 @@
260307
);
261308
name = VPN;
262309
packageProductDependencies = (
310+
961679E22D03144900B2B6DF /* SwiftProtobuf */,
311+
961679E42D03144C00B2B6DF /* SwiftProtobufPluginLibrary */,
263312
);
264313
productName = VPN;
265314
productReference = 961679302CFF117300B2B6DF /* com.coder.Coder-Desktop.VPN.systemextension */;
266315
productType = "com.apple.product-type.system-extension";
267316
};
317+
961679D82D030E1D00B2B6DF /* ProtoTests */ = {
318+
isa = PBXNativeTarget;
319+
buildConfigurationList = 961679DF2D030E1D00B2B6DF /* Build configuration list for PBXNativeTarget "ProtoTests" */;
320+
buildPhases = (
321+
961679D52D030E1D00B2B6DF /* Sources */,
322+
961679D62D030E1D00B2B6DF /* Frameworks */,
323+
961679D72D030E1D00B2B6DF /* Resources */,
324+
);
325+
buildRules = (
326+
);
327+
dependencies = (
328+
961679DE2D030E1D00B2B6DF /* PBXTargetDependency */,
329+
);
330+
fileSystemSynchronizedGroups = (
331+
961679DA2D030E1D00B2B6DF /* ProtoTests */,
332+
);
333+
name = ProtoTests;
334+
packageProductDependencies = (
335+
);
336+
productName = ProtoTests;
337+
productReference = 961679D92D030E1D00B2B6DF /* ProtoTests.xctest */;
338+
productType = "com.apple.product-type.bundle.unit-test";
339+
};
268340
/* End PBXNativeTarget section */
269341

270342
/* Begin PBXProject section */
@@ -289,6 +361,10 @@
289361
9616792F2CFF117300B2B6DF = {
290362
CreatedOnToolsVersion = 16.1;
291363
};
364+
961679D82D030E1D00B2B6DF = {
365+
CreatedOnToolsVersion = 16.1;
366+
TestTargetID = 961678FB2CFF100D00B2B6DF;
367+
};
292368
};
293369
};
294370
buildConfigurationList = 961678F72CFF100D00B2B6DF /* Build configuration list for PBXProject "Coder Desktop" */;
@@ -306,6 +382,7 @@
306382
AA8BC33D2D0061F200E1ABAA /* XCRemoteSwiftPackageReference "fluid-menu-bar-extra" */,
307383
AA8BC4CD2D00A4B700E1ABAA /* XCRemoteSwiftPackageReference "KeychainAccess" */,
308384
AAD720CE2D0816B200F6304D /* XCRemoteSwiftPackageReference "Alamofire" */,
385+
961679512CFF207900B2B6DF /* XCRemoteSwiftPackageReference "swift-protobuf" */,
309386
);
310387
preferredProjectObjectVersion = 77;
311388
productRefGroup = 961678FD2CFF100D00B2B6DF /* Products */;
@@ -316,6 +393,7 @@
316393
9616790E2CFF100E00B2B6DF /* Coder DesktopTests */,
317394
961679182CFF100E00B2B6DF /* Coder DesktopUITests */,
318395
9616792F2CFF117300B2B6DF /* VPN */,
396+
961679D82D030E1D00B2B6DF /* ProtoTests */,
319397
);
320398
};
321399
/* End PBXProject section */
@@ -349,6 +427,13 @@
349427
);
350428
runOnlyForDeploymentPostprocessing = 0;
351429
};
430+
961679D72D030E1D00B2B6DF /* Resources */ = {
431+
isa = PBXResourcesBuildPhase;
432+
buildActionMask = 2147483647;
433+
files = (
434+
);
435+
runOnlyForDeploymentPostprocessing = 0;
436+
};
352437
/* End PBXResourcesBuildPhase section */
353438

354439
/* Begin PBXSourcesBuildPhase section */
@@ -380,6 +465,13 @@
380465
);
381466
runOnlyForDeploymentPostprocessing = 0;
382467
};
468+
961679D52D030E1D00B2B6DF /* Sources */ = {
469+
isa = PBXSourcesBuildPhase;
470+
buildActionMask = 2147483647;
471+
files = (
472+
);
473+
runOnlyForDeploymentPostprocessing = 0;
474+
};
383475
/* End PBXSourcesBuildPhase section */
384476

385477
/* Begin PBXTargetDependency section */
@@ -402,6 +494,11 @@
402494
isa = PBXTargetDependency;
403495
productRef = AA8BC33B2D0060E700E1ABAA /* SwiftLintBuildToolPlugin */;
404496
};
497+
961679DE2D030E1D00B2B6DF /* PBXTargetDependency */ = {
498+
isa = PBXTargetDependency;
499+
target = 961678FB2CFF100D00B2B6DF /* Coder Desktop */;
500+
targetProxy = 961679DD2D030E1D00B2B6DF /* PBXContainerItemProxy */;
501+
};
405502
/* End PBXTargetDependency section */
406503

407504
/* Begin XCBuildConfiguration section */
@@ -701,6 +798,40 @@
701798
};
702799
name = Release;
703800
};
801+
961679E02D030E1D00B2B6DF /* Debug */ = {
802+
isa = XCBuildConfiguration;
803+
buildSettings = {
804+
BUNDLE_LOADER = "$(TEST_HOST)";
805+
CODE_SIGN_STYLE = Automatic;
806+
CURRENT_PROJECT_VERSION = 1;
807+
DEVELOPMENT_TEAM = 4399GN35BJ;
808+
GENERATE_INFOPLIST_FILE = YES;
809+
MARKETING_VERSION = 1.0;
810+
PRODUCT_BUNDLE_IDENTIFIER = "com.coder.Coder-Desktop.ProtoTests";
811+
PRODUCT_NAME = "$(TARGET_NAME)";
812+
SWIFT_EMIT_LOC_STRINGS = NO;
813+
SWIFT_VERSION = 5.0;
814+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Coder Desktop.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Coder Desktop";
815+
};
816+
name = Debug;
817+
};
818+
961679E12D030E1D00B2B6DF /* Release */ = {
819+
isa = XCBuildConfiguration;
820+
buildSettings = {
821+
BUNDLE_LOADER = "$(TEST_HOST)";
822+
CODE_SIGN_STYLE = Automatic;
823+
CURRENT_PROJECT_VERSION = 1;
824+
DEVELOPMENT_TEAM = 4399GN35BJ;
825+
GENERATE_INFOPLIST_FILE = YES;
826+
MARKETING_VERSION = 1.0;
827+
PRODUCT_BUNDLE_IDENTIFIER = "com.coder.Coder-Desktop.ProtoTests";
828+
PRODUCT_NAME = "$(TARGET_NAME)";
829+
SWIFT_EMIT_LOC_STRINGS = NO;
830+
SWIFT_VERSION = 5.0;
831+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Coder Desktop.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Coder Desktop";
832+
};
833+
name = Release;
834+
};
704835
/* End XCBuildConfiguration section */
705836

706837
/* Begin XCConfigurationList section */
@@ -749,6 +880,15 @@
749880
defaultConfigurationIsVisible = 0;
750881
defaultConfigurationName = Release;
751882
};
883+
961679DF2D030E1D00B2B6DF /* Build configuration list for PBXNativeTarget "ProtoTests" */ = {
884+
isa = XCConfigurationList;
885+
buildConfigurations = (
886+
961679E02D030E1D00B2B6DF /* Debug */,
887+
961679E12D030E1D00B2B6DF /* Release */,
888+
);
889+
defaultConfigurationIsVisible = 0;
890+
defaultConfigurationName = Release;
891+
};
752892
/* End XCConfigurationList section */
753893

754894
/* Begin XCRemoteSwiftPackageReference section */
@@ -792,6 +932,14 @@
792932
minimumVersion = 5.10.2;
793933
};
794934
};
935+
961679512CFF207900B2B6DF /* XCRemoteSwiftPackageReference "swift-protobuf" */ = {
936+
isa = XCRemoteSwiftPackageReference;
937+
repositoryURL = "https://github.com/apple/swift-protobuf.git";
938+
requirement = {
939+
kind = exactVersion;
940+
version = 1.28.2;
941+
};
942+
};
795943
/* End XCRemoteSwiftPackageReference section */
796944

797945
/* Begin XCSwiftPackageProductDependency section */
@@ -820,6 +968,26 @@
820968
package = AAD720CE2D0816B200F6304D /* XCRemoteSwiftPackageReference "Alamofire" */;
821969
productName = Alamofire;
822970
};
971+
961679522CFF207900B2B6DF /* SwiftProtobuf */ = {
972+
isa = XCSwiftPackageProductDependency;
973+
package = 961679512CFF207900B2B6DF /* XCRemoteSwiftPackageReference "swift-protobuf" */;
974+
productName = SwiftProtobuf;
975+
};
976+
961679542CFF207900B2B6DF /* SwiftProtobufPluginLibrary */ = {
977+
isa = XCSwiftPackageProductDependency;
978+
package = 961679512CFF207900B2B6DF /* XCRemoteSwiftPackageReference "swift-protobuf" */;
979+
productName = SwiftProtobufPluginLibrary;
980+
};
981+
961679E22D03144900B2B6DF /* SwiftProtobuf */ = {
982+
isa = XCSwiftPackageProductDependency;
983+
package = 961679512CFF207900B2B6DF /* XCRemoteSwiftPackageReference "swift-protobuf" */;
984+
productName = SwiftProtobuf;
985+
};
986+
961679E42D03144C00B2B6DF /* SwiftProtobufPluginLibrary */ = {
987+
isa = XCSwiftPackageProductDependency;
988+
package = 961679512CFF207900B2B6DF /* XCRemoteSwiftPackageReference "swift-protobuf" */;
989+
productName = SwiftProtobufPluginLibrary;
990+
};
823991
/* End XCSwiftPackageProductDependency section */
824992
};
825993
rootObject = 961678F42CFF100D00B2B6DF /* Project object */;

‎Coder Desktop/Coder Desktop.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 11 additions & 2 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎Coder Desktop/Coder Desktop.xcodeproj/xcshareddata/xcschemes/Coder Desktop.xcscheme

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,17 @@
5757
ReferencedContainer ="container:Coder Desktop.xcodeproj">
5858
</BuildableReference>
5959
</TestableReference>
60+
<TestableReference
61+
skipped ="NO"
62+
parallelizable ="YES">
63+
<BuildableReference
64+
BuildableIdentifier ="primary"
65+
BlueprintIdentifier ="961679D82D030E1D00B2B6DF"
66+
BuildableName ="ProtoTests.xctest"
67+
BlueprintName ="ProtoTests"
68+
ReferencedContainer ="container:Coder Desktop.xcodeproj">
69+
</BuildableReference>
70+
</TestableReference>
6071
</Testables>
6172
</TestAction>
6273
<LaunchAction

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp