update to docker tests
This commit is contained in:
1
build/osx_app_framework/Debug/ZeroTierSDK_OSX.framework/Modules
Symbolic link
1
build/osx_app_framework/Debug/ZeroTierSDK_OSX.framework/Modules
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Modules
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<?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>BuildMachineOSBuild</key>
|
||||||
|
<string>15F34</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>ZeroTierSDK_OSX</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>zerotier.ZeroTierSDK-OSX</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>ZeroTierSDK_OSX</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>MacOSX</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>DTCompiler</key>
|
||||||
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
|
<key>DTPlatformBuild</key>
|
||||||
|
<string>7D175</string>
|
||||||
|
<key>DTPlatformVersion</key>
|
||||||
|
<string>GM</string>
|
||||||
|
<key>DTSDKBuild</key>
|
||||||
|
<string>15E60</string>
|
||||||
|
<key>DTSDKName</key>
|
||||||
|
<string>macosx10.11</string>
|
||||||
|
<key>DTXcode</key>
|
||||||
|
<string>0730</string>
|
||||||
|
<key>DTXcodeBuild</key>
|
||||||
|
<string>7D175</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>Copyright © 2016 ZeroTier Inc. All rights reserved.</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
<?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>files</key>
|
||||||
|
<dict>
|
||||||
|
<key>Resources/Info.plist</key>
|
||||||
|
<data>
|
||||||
|
K/BDIuWltnsAQ2lDkdc8UvZj1Qo=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>files2</key>
|
||||||
|
<dict>
|
||||||
|
<key>Resources/Info.plist</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
K/BDIuWltnsAQ2lDkdc8UvZj1Qo=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
mUCBD6yhvUknsHAV8ejuSR3M/x/mERi1Ut2zlFmx9Zk=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>rules</key>
|
||||||
|
<dict>
|
||||||
|
<key>^Resources/</key>
|
||||||
|
<true/>
|
||||||
|
<key>^Resources/.*\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>optional</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1100</real>
|
||||||
|
</dict>
|
||||||
|
<key>^version.plist$</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>rules2</key>
|
||||||
|
<dict>
|
||||||
|
<key>.*\.dSYM($|/)</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>11</real>
|
||||||
|
</dict>
|
||||||
|
<key>^(.*/)?\.DS_Store$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>2000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||||
|
<dict>
|
||||||
|
<key>nested</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>10</real>
|
||||||
|
</dict>
|
||||||
|
<key>^.*</key>
|
||||||
|
<true/>
|
||||||
|
<key>^Info\.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^PkgInfo$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>optional</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1100</real>
|
||||||
|
</dict>
|
||||||
|
<key>^[^/]+$</key>
|
||||||
|
<dict>
|
||||||
|
<key>nested</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>10</real>
|
||||||
|
</dict>
|
||||||
|
<key>^embedded\.provisionprofile$</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^version\.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
114
build/osx_app_framework/README.md
Normal file
114
build/osx_app_framework/README.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
OSX + ZeroTier SDK
|
||||||
|
====
|
||||||
|
|
||||||
|
Welcome!
|
||||||
|
|
||||||
|
Imagine a flat, encrypted, no-configuration LAN for all of the instances of your OSX app.
|
||||||
|
|
||||||
|
This short tutorial will show you how to enable ZeroTier functionality for your iOS app with little to no code modification. Check out our [ZeroTier SDK](https://www.zerotier.com/blog) page for more info on how the integration works and [Shim Techniques](https://www.zerotier.com/blog) for a discussion of shims available for your app/technology.
|
||||||
|
|
||||||
|
In this example we aim to set up a minimal XCode project which contains all of the components necessary to enable ZeroTier for your app. If you'd rather skip all of these steps and grab the code, look in the [sdk/OSX](https://github.com/zerotier/ZeroTierSDK/tree/dev/sdk/iOS) folder of the source tree. Otherwise, let's get started!
|
||||||
|
|
||||||
|
**Step 1: Add ZeroTier source and Netcon-iOS XCode project to yours**
|
||||||
|
- Place a copy of the ZeroTierOne source in a folder at the same level as your project
|
||||||
|
- Add `ZeroTierSDK/src/tests/iOS/Netcon-iOS.xcodeproj` to your project
|
||||||
|
|
||||||
|
**Step 2: Add ZeroTier binaries to your app**
|
||||||
|
- Add `ZeroTierSDK.frameworkiOS` to *General->Embedded Binaries*
|
||||||
|
- Add `libServiceSetup.a` and `ZeroTierSDK.framework` to *Build Phases->Link Binary With Libraries*
|
||||||
|
|
||||||
|
**Step 3: Configure your project**
|
||||||
|
- Add `$(SRCROOT)/../ZeroTierOne/src` to *Build Settings->Header Search Paths* for your project
|
||||||
|
- Add `-D__IOS__` to *Build Settings->Other C Flags*
|
||||||
|
- Add `zerotiersdk/tests/iOS/Netcon-iOS/NetconWrapper.cpp` and `zerotiersdk/tests/iOS/Netcon-iOS/NetconWrapper.hpp` to your project:
|
||||||
|
- Add contents of `ZeroTierOne/netcon/tests/iOS/Netcon-iOS/SDK-iOS-Bridging-Header.h` to your project’s bridging header.
|
||||||
|
|
||||||
|
*Note: You should have been prompted to create a bridging header for your project, if you haven't make sure you do this and add the native function prototypes manually from the bridging header we provide.*
|
||||||
|
|
||||||
|
**Step 4: App Code Modifications**
|
||||||
|
|
||||||
|
After you've linked the two projects you need to find a place in your code to set up the ZeroTier service thread:
|
||||||
|
|
||||||
|
```
|
||||||
|
var service_thread : NSThread!
|
||||||
|
func ztnc_start_service() {
|
||||||
|
let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
|
||||||
|
start_service(path[0])
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
...and then start it. If you enabled the proxy service via `-DUSE_SOCKS_PROXY` it will start automatically and be reachable at `0.0.0.0:1337`:
|
||||||
|
|
||||||
|
```
|
||||||
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {
|
||||||
|
self.service_thread = NSThread(target:self, selector:"ztnc_start_service", object:nil)
|
||||||
|
self.service_thread.start()
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 5: Pick an API**
|
||||||
|
|
||||||
|
**Step 6: Join a network!**
|
||||||
|
- Simply call `zt_join_network("XXXXXXXXXXXXXXXX")`
|
||||||
|
|
||||||
|
***
|
||||||
|
## Linking into an application on Mac OSX
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
gcc myapp.c -o myapp libztintercept.so
|
||||||
|
export ZT_NC_NETWORK=/tmp/netcon-test-home/nc_8056c2e21c000001
|
||||||
|
|
||||||
|
Start service
|
||||||
|
|
||||||
|
./zerotier-netcon-service -d -p8000 /tmp/netcon-test-home
|
||||||
|
|
||||||
|
Run application
|
||||||
|
|
||||||
|
./myapp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## XCode Desktop App Integration
|
||||||
|
|
||||||
|
*NOTE: a sample OSX desktop application with ZeroTier integrated can be found [here](../integrations/Apple/Example_OSX_App)*
|
||||||
|
|
||||||
|
**Step 1: Build `ZeroTierSDK_OSX.framework`**
|
||||||
|
- From the main repo directory, `make osx_app_framework`. This will use the XCode commandline tools to build and copy the framework into `build`.
|
||||||
|
|
||||||
|
**Step 2: Add `ZeroTierSDK_OSX.framework` to your project**
|
||||||
|
|
||||||
|
**Step 3: Add its path to your *Build Settings -> Framework Search Paths***:
|
||||||
|
- For example: `$(PROJECT_DIR)/../../../build/OSX_app_framework/Release`
|
||||||
|
|
||||||
|
**Step 4: Pick an [API](# API) to use**
|
||||||
|
|
||||||
|
**Step 5: Join a network!**
|
||||||
|
- Simply call `zt_join_network("XXXXXXXXXXXXXXXX")`
|
||||||
|
|
||||||
|
***
|
||||||
|
## API
|
||||||
|
|
||||||
|
This integration allows for the following shim combinations:
|
||||||
|
- `Hook of BSD-like sockets`: Use BSD-like sockets as you normally would.
|
||||||
|
- `Proxy of NSStream`: Create NSStream. Configure stream for SOCKS5 Proxy. Use stream.
|
||||||
|
- `Changeling of BSD-like sockets`: Call `start_changeling()` and then use BSD-like sockets as you normally would.
|
||||||
|
- `Direct Call`: Consult [SDK-iOS-Bridging-Header.h](netcon/iOS/Netcon-iOS/Netcon-iOS-Bridging-Header.h).
|
||||||
|
|
||||||
|
If functional interposition isn't available for the API or library you've chosen to use, ZeroTier offers a SOCKS5 proxy server which can allow connectivity to your virtual network as long as your client API supports the SOCKS5 protocol. This proxy service will run alongside the tap service and can be turned on by compiling with the `-DUSE_SOCKS_PROXY` flag in *Build Settings->Other C Flags*. By default, the proxy service is available at `0.0.0.0:1337`.
|
||||||
|
|
||||||
|
|
||||||
|
#### NSStream and SOCKS Proxy
|
||||||
|
|
||||||
|
As an example, here's how one would configure a NSStream object to redirect all network activity to the ZeroTier SOCKS proxy server:
|
||||||
|
|
||||||
|
```
|
||||||
|
// BEGIN proxy configuration
|
||||||
|
let myDict:NSDictionary = [NSStreamSOCKSProxyHostKey : "0.0.0.0",
|
||||||
|
NSStreamSOCKSProxyPortKey : 1337,
|
||||||
|
NSStreamSOCKSProxyVersionKey : NSStreamSOCKSProxyVersion5]
|
||||||
|
|
||||||
|
inputStream!.setProperty(myDict, forKey: NSStreamSOCKSProxyConfigurationKey)
|
||||||
|
outputStream!.setProperty(myDict, forKey: NSStreamSOCKSProxyConfigurationKey)
|
||||||
|
// END proxy configuration
|
||||||
|
```
|
||||||
Binary file not shown.
@@ -10,14 +10,30 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Example_OSX_App/ViewController.swift"
|
filePath = "Example_OSX_App/ViewController.swift"
|
||||||
timestampString = "489521728.968073"
|
timestampString = "489532561.868006"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "74"
|
startingLineNumber = "79"
|
||||||
endingLineNumber = "74"
|
endingLineNumber = "79"
|
||||||
landmarkName = "UI_Connect(_:)"
|
landmarkName = "UI_Connect(_:)"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "Example_OSX_App/ViewController.swift"
|
||||||
|
timestampString = "489532593.971514"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "141"
|
||||||
|
endingLineNumber = "141"
|
||||||
|
landmarkName = "UI_SendData(_:)"
|
||||||
|
landmarkType = "5">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
</Breakpoints>
|
</Breakpoints>
|
||||||
</Bucket>
|
</Bucket>
|
||||||
|
|||||||
@@ -760,7 +760,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="anE-Lb-OeR">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="anE-Lb-OeR" userLabel="txtAddr">
|
||||||
<rect key="frame" x="11" y="44" width="160" height="22"/>
|
<rect key="frame" x="11" y="44" width="160" height="22"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Owi-AX-slB">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Owi-AX-slB">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -771,7 +771,7 @@
|
|||||||
<action selector="txtAddrChanged:" target="XfG-lQ-9wD" id="vpp-Wo-rj8"/>
|
<action selector="txtAddrChanged:" target="XfG-lQ-9wD" id="vpp-Wo-rj8"/>
|
||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="imQ-Xu-9iD">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="imQ-Xu-9iD" userLabel="txtPort">
|
||||||
<rect key="frame" x="175" y="44" width="50" height="22"/>
|
<rect key="frame" x="175" y="44" width="50" height="22"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="idL-Hj-Jfk">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="idL-Hj-Jfk">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -877,7 +877,7 @@
|
|||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<scrollView fixedFrame="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="f93-eE-nJ9">
|
<scrollView fixedFrame="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="f93-eE-nJ9" userLabel="TxtRX">
|
||||||
<rect key="frame" x="271" y="49" width="240" height="135"/>
|
<rect key="frame" x="271" y="49" width="240" height="135"/>
|
||||||
<clipView key="contentView" ambiguous="YES" id="yrD-Hg-n1d">
|
<clipView key="contentView" ambiguous="YES" id="yrD-Hg-n1d">
|
||||||
<rect key="frame" x="1" y="1" width="223" height="133"/>
|
<rect key="frame" x="1" y="1" width="223" height="133"/>
|
||||||
@@ -953,14 +953,14 @@
|
|||||||
<outlet property="btnSend" destination="kBj-wv-ccA" id="Bg5-qM-tLw"/>
|
<outlet property="btnSend" destination="kBj-wv-ccA" id="Bg5-qM-tLw"/>
|
||||||
<outlet property="segmentAPISelector" destination="zJe-Qg-KiM" id="B1u-ja-2o3"/>
|
<outlet property="segmentAPISelector" destination="zJe-Qg-KiM" id="B1u-ja-2o3"/>
|
||||||
<outlet property="segmentProtocolSelector" destination="TgD-cF-oG9" id="Lbo-Pn-lgi"/>
|
<outlet property="segmentProtocolSelector" destination="TgD-cF-oG9" id="Lbo-Pn-lgi"/>
|
||||||
<outlet property="txtAddr" destination="imQ-Xu-9iD" id="FQu-fG-Pg2"/>
|
<outlet property="txtAddr" destination="anE-Lb-OeR" id="9cH-6T-dE3"/>
|
||||||
<outlet property="txtNWID" destination="7LM-Q0-D7l" id="3QF-tw-Hws"/>
|
<outlet property="txtNWID" destination="7LM-Q0-D7l" id="3QF-tw-Hws"/>
|
||||||
<outlet property="txtPort" destination="imQ-Xu-9iD" id="UrQ-84-slh"/>
|
<outlet property="txtPort" destination="imQ-Xu-9iD" id="gxQ-sZ-nio"/>
|
||||||
<outlet property="txtPortChanged" destination="imQ-Xu-9iD" id="NqB-2s-Og3"/>
|
<outlet property="txtPortChanged" destination="imQ-Xu-9iD" id="NqB-2s-Og3"/>
|
||||||
<outlet property="txtR" destination="f93-eE-nJ9" id="Sbh-vb-Ycb"/>
|
<outlet property="txtR" destination="f93-eE-nJ9" id="Sbh-vb-Ycb"/>
|
||||||
<outlet property="txtRX" destination="f93-eE-nJ9" id="aTL-JM-evI"/>
|
<outlet property="txtRX" destination="f93-eE-nJ9" id="Gyx-ss-gDU"/>
|
||||||
<outlet property="txtRx" destination="f93-eE-nJ9" id="yPZ-sv-Ctq"/>
|
<outlet property="txtRx" destination="f93-eE-nJ9" id="yPZ-sv-Ctq"/>
|
||||||
<outlet property="txtTX" destination="qu5-Bf-5GJ" id="AZG-jC-vS5"/>
|
<outlet property="txtTX" destination="qu5-Bf-5GJ" id="a8Y-u3-u1A"/>
|
||||||
</connections>
|
</connections>
|
||||||
</viewController>
|
</viewController>
|
||||||
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||||
|
|||||||
@@ -19,21 +19,25 @@ class ViewController: NSViewController {
|
|||||||
@IBOutlet weak var txtPort: NSTextField!
|
@IBOutlet weak var txtPort: NSTextField!
|
||||||
@IBOutlet weak var btnConnect: NSButton!
|
@IBOutlet weak var btnConnect: NSButton!
|
||||||
@IBOutlet weak var btnBind: NSButton!
|
@IBOutlet weak var btnBind: NSButton!
|
||||||
|
|
||||||
@IBOutlet weak var txtTX: NSScrollView!
|
@IBOutlet weak var txtTX: NSScrollView!
|
||||||
@IBOutlet weak var txtRX: NSScrollView!
|
@IBOutlet weak var txtRX: NSScrollView!
|
||||||
|
|
||||||
@IBOutlet weak var btnSend: NSButton!
|
@IBOutlet weak var btnSend: NSButton!
|
||||||
|
|
||||||
var serverPort:Int32 = 4545
|
var serverPort:Int32 = 8080
|
||||||
var serverAddr:String = "10.147.18.5"
|
var serverAddr:String = "10.147.18.5"
|
||||||
|
|
||||||
|
var sock:Int32 = -1
|
||||||
|
|
||||||
@IBAction func txtAddrChanged(sender: AnyObject) {
|
@IBAction func txtAddrChanged(sender: AnyObject) {
|
||||||
if(sender.value != nil) {
|
if(sender.stringValue != nil) {
|
||||||
serverAddr = sender.value
|
serverAddr = sender.stringValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func txtPortChanged(sender: AnyObject) {
|
@IBAction func txtPortChanged(sender: AnyObject) {
|
||||||
serverPort = sender.intValue!
|
serverPort = sender.intValue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Join a ZeroTier network
|
// Join a ZeroTier network
|
||||||
@@ -52,6 +56,7 @@ class ViewController: NSViewController {
|
|||||||
selectedShim = sender.intValue // 0 = BSD-style, 1 = SOCKS5 Proxy, etc
|
selectedShim = sender.intValue // 0 = BSD-style, 1 = SOCKS5 Proxy, etc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Select a protocol
|
// Select a protocol
|
||||||
// Protocol { TCP / UDP }
|
// Protocol { TCP / UDP }
|
||||||
var selectedProtocol:Int32 = 0
|
var selectedProtocol:Int32 = 0
|
||||||
@@ -59,21 +64,21 @@ class ViewController: NSViewController {
|
|||||||
switch sender.intValue
|
switch sender.intValue
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
print("Selected TCP (SOCK_STREAM)\n");
|
|
||||||
selectedProtocol = SOCK_STREAM
|
selectedProtocol = SOCK_STREAM
|
||||||
case 1:
|
case 1:
|
||||||
print("Selected UDP (SOCK_DGRAM)\n");
|
|
||||||
selectedProtocol = SOCK_DGRAM
|
selectedProtocol = SOCK_DGRAM
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
} }
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Connect to remote host on ZeroTier virtual network
|
// Connect to remote host on ZeroTier virtual network
|
||||||
@IBAction func UI_Connect(sender: AnyObject) {
|
@IBAction func UI_Connect(sender: AnyObject) {
|
||||||
|
|
||||||
// TCP
|
// TCP
|
||||||
if(selectedProtocol == SOCK_STREAM)
|
if(selectedProtocol == SOCK_STREAM)
|
||||||
{
|
{
|
||||||
let sd = zts_socket(AF_INET, SOCK_STREAM, 0)
|
sock = zts_socket(AF_INET, SOCK_STREAM, 0)
|
||||||
var addr = sockaddr_in(sin_len: UInt8(sizeof(sockaddr_in)),
|
var addr = sockaddr_in(sin_len: UInt8(sizeof(sockaddr_in)),
|
||||||
sin_family: UInt8(AF_INET),
|
sin_family: UInt8(AF_INET),
|
||||||
sin_port: UInt16(serverPort).bigEndian,
|
sin_port: UInt16(serverPort).bigEndian,
|
||||||
@@ -82,10 +87,10 @@ class ViewController: NSViewController {
|
|||||||
|
|
||||||
inet_pton(AF_INET, serverAddr, &(addr.sin_addr));
|
inet_pton(AF_INET, serverAddr, &(addr.sin_addr));
|
||||||
|
|
||||||
let connect_fd = zts_connect(sd, UnsafePointer<sockaddr>([addr]), UInt32(addr.sin_len))
|
let connect_err = zts_connect(sock, UnsafePointer<sockaddr>([addr]), UInt32(addr.sin_len))
|
||||||
print("connect_fd = \(connect_fd),\(errno)")
|
print("connect_err = \(connect_err),\(errno)")
|
||||||
|
|
||||||
if connect_fd < 0 {
|
if connect_err < 0 {
|
||||||
let err = errno
|
let err = errno
|
||||||
print("Error connecting IPv4 socket \(err)")
|
print("Error connecting IPv4 socket \(err)")
|
||||||
return
|
return
|
||||||
@@ -99,32 +104,52 @@ class ViewController: NSViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bind a ZeroTier socket
|
||||||
@IBAction func UI_Bind(sender: AnyObject) {
|
@IBAction func UI_Bind(sender: AnyObject) {
|
||||||
}
|
// TCP
|
||||||
|
if(selectedProtocol == SOCK_STREAM)
|
||||||
@IBAction func UI_SendData(sender: AnyObject) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
// Mode { Client / Server }
|
|
||||||
@IBOutlet weak var ModeControl: UISegmentedControl!
|
|
||||||
var selectedMode:UInt16 = 0
|
|
||||||
@IBAction func ModeControlSelected(sender: AnyObject) {
|
|
||||||
switch sender.selectedSegmentIndex
|
|
||||||
{
|
{
|
||||||
case 0:
|
sock = zts_socket(AF_INET, SOCK_STREAM, 0)
|
||||||
print("Selected client\n");
|
var addr = sockaddr_in(sin_len: UInt8(sizeof(sockaddr_in)),
|
||||||
selectedMode = 0
|
sin_family: UInt8(AF_INET),
|
||||||
case 1:
|
sin_port: UInt16(serverPort).bigEndian,
|
||||||
print("Selected server\n");
|
sin_addr: in_addr(s_addr: 0),
|
||||||
selectedMode = 1
|
sin_zero: (0,0,0,0,0,0,0,0))
|
||||||
default:
|
|
||||||
break;
|
inet_pton(AF_INET, serverAddr, &(addr.sin_addr));
|
||||||
|
|
||||||
|
let bind_err = zts_bind(sock, UnsafePointer<sockaddr>([addr]), UInt32(addr.sin_len))
|
||||||
|
print("bind_err = \(bind_err),\(errno)")
|
||||||
|
|
||||||
|
if bind_err < 0 {
|
||||||
|
let err = errno
|
||||||
|
print("Error binding IPv4 socket \(err)")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UDP
|
||||||
|
if(selectedProtocol == SOCK_DGRAM)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send data to a remote host
|
||||||
|
@IBAction func UI_SendData(sender: AnyObject) {
|
||||||
|
// Use ordinary read/write calls on ZeroTier socket
|
||||||
|
|
||||||
|
// TCP
|
||||||
|
if(selectedProtocol == SOCK_STREAM)
|
||||||
|
{
|
||||||
|
write(sock, "test", 4);
|
||||||
|
}
|
||||||
|
// UDP
|
||||||
|
if(selectedProtocol == SOCK_DGRAM)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
var service_thread : NSThread!
|
var service_thread : NSThread!
|
||||||
@@ -140,6 +165,10 @@ class ViewController: NSViewController {
|
|||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
// Set initial UI values for demo
|
||||||
|
txtAddr.stringValue = serverAddr
|
||||||
|
txtPort.intValue = serverPort
|
||||||
|
|
||||||
// ZeroTier Service thread
|
// ZeroTier Service thread
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {
|
||||||
self.service_thread = NSThread(target:self, selector:"ztnc_start_service", object:nil)
|
self.service_thread = NSThread(target:self, selector:"ztnc_start_service", object:nil)
|
||||||
@@ -155,7 +184,5 @@ class ViewController: NSViewController {
|
|||||||
// Update the view, if already loaded.
|
// Update the view, if already loaded.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ touch "$test_name".name
|
|||||||
cp ../../*.conf .
|
cp ../../*.conf .
|
||||||
cp ../../zerotier-one zerotier-one
|
cp ../../zerotier-one zerotier-one
|
||||||
cp ../../zerotier-cli zerotier-cli
|
cp ../../zerotier-cli zerotier-cli
|
||||||
cp ../../zerotier-cli zerotier-netcon-service
|
cp ../../zerotier-cli zerotier-sdk-service
|
||||||
cp ../../zerotier-intercept zerotier-intercept
|
cp ../../zerotier-intercept zerotier-intercept
|
||||||
cp ../../libzerotierintercept.so libzerotierintercept.so
|
cp ../../libzerotierintercept.so libzerotierintercept.so
|
||||||
cp ../../liblwip.so liblwip.so
|
cp ../../liblwip.so liblwip.so
|
||||||
@@ -21,7 +21,7 @@ docker build --tag="$test_name" -f netcon_dockerfile .
|
|||||||
docker build --tag="$test_name"_monitor -f monitor_dockerfile .
|
docker build --tag="$test_name"_monitor -f monitor_dockerfile .
|
||||||
|
|
||||||
rm -f zerotier-cli
|
rm -f zerotier-cli
|
||||||
rm -f zerotier-netcon-service
|
rm -f zerotier-sdk-service
|
||||||
rm -f zerotier-intercept
|
rm -f zerotier-intercept
|
||||||
rm -f *.so
|
rm -f *.so
|
||||||
rm -f *.public
|
rm -f *.public
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ make netcon
|
|||||||
cd netcon/docker-test
|
cd netcon/docker-test
|
||||||
|
|
||||||
cp ../../zerotier-cli zerotier-cli
|
cp ../../zerotier-cli zerotier-cli
|
||||||
cp ../../zerotier-netcon-service zerotier-netcon-service
|
cp ../../zerotier-sdk-service zerotier-sdk-service
|
||||||
cp ../../libzerotierintercept.so libzerotierintercept.so
|
cp ../../libzerotierintercept.so libzerotierintercept.so
|
||||||
|
|
||||||
cp ../liblwip.so liblwip.so
|
cp ../liblwip.so liblwip.so
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ address_file="$file_path$test_name"_addr"$tmp_ext" # file shared between host an
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
ADD zerotier-netcon-service /
|
ADD zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ tx_md5sumfile="$file_path"tx_"$bigfile_name"_md5sum"$tmp_ext"
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ RUN cp libzerotierintercept.so lib/libzerotierintercept.so
|
|||||||
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
RUN ln -sf /lib/libzerotierintercept.so /lib/libzerotierintercept
|
||||||
|
|
||||||
ADD zerotier-cli /
|
ADD zerotier-cli /
|
||||||
Add zerotier-netcon-service /
|
Add zerotier-sdk-service /
|
||||||
|
|
||||||
# Install test scripts
|
# Install test scripts
|
||||||
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
ADD netcon_entrypoint.sh /netcon_entrypoint.sh
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ address_file="$file_path$test_name"_addr"$tmp_ext" # file shared between host an
|
|||||||
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
echo '*** ZeroTier Network Containers Test: ' "$test_name"
|
||||||
chown -R daemon /var/lib/zerotier-one
|
chown -R daemon /var/lib/zerotier-one
|
||||||
chgrp -R daemon /var/lib/zerotier-one
|
chgrp -R daemon /var/lib/zerotier-one
|
||||||
su daemon -s /bin/bash -c '/zerotier-netcon-service -d -U -p9993 >>/tmp/zerotier-netcon-service.out 2>&1'
|
su daemon -s /bin/bash -c '/zerotier-sdk-service -d -U -p9993 >>/tmp/zerotier-sdk-service.out 2>&1'
|
||||||
virtip4=""
|
virtip4=""
|
||||||
while [ -z "$virtip4" ]; do
|
while [ -z "$virtip4" ]; do
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
|||||||
Reference in New Issue
Block a user