ziti-sdk-c
ziti-sdk-swift
ziti-sdk-c | ziti-sdk-swift | |
---|---|---|
3 | 4 | |
66 | 44 | |
- | - | |
8.9 | 6.9 | |
10 days ago | about 1 month ago | |
C | Swift | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ziti-sdk-c
-
Lessons Learned Writing A Zero Trust NGINX Module (in C) - How I Spent Hours Debugging NGINX
set(NGINX_CONFIGURE_ARGS "--with-threads" "--with-compat") if (DEBUG) set(NGINX_CONFIGURE_ARGS "--with-threads" "--with-compat" "--with-debug") endif() message("args ${NGINX_CONFIGURE_ARGS}") # build against nginx at the version specified by GIT_TAG. nginx uses custom auto configuration scripts that # creates header files that are specific to the current host and output to /objs/*.h. ExternalProject_Add( nginx PREFIX ${CMAKE_BINARY_DIR}/_deps/nginx GIT_REPOSITORY https://github.com/nginx/nginx.git GIT_TAG release-1.23.2 TIMEOUT 10 CONFIGURE_COMMAND ./auto/configure ${NGINX_CONFIGURE_ARGS} INSTALL_COMMAND "" #empty install command to disable install UPDATE_COMMAND "" #empty update command to disable update LOG_DOWNLOAD ON BUILD_IN_SOURCE 1 #build inside of the downloaded repo's source directory as expected by auto/configure ) if(NOT DEFINED $ENV{ZITI_SDK_C_BRANCH}) SET(ZITI_SDK_C_BRANCH "main") endif() FetchContent_Declare(ziti-sdk-c GIT_REPOSITORY https://github.com/openziti/ziti-sdk-c.git GIT_TAG ${ZITI_SDK_C_BRANCH} ) set(ZITI_BUILD_TESTS off) set(ZITI_BUILD_PROGRAMS off)a FetchContent_MakeAvailable(ziti-sdk-c) add_dependencies(${PROJECT_NAME} nginx) ExternalProject_Get_property(nginx SOURCE_DIR) message("project name ${PROJECT_NAME}") target_include_directories(${PROJECT_NAME} PUBLIC "${SOURCE_DIR}/objs" PUBLIC "${SOURCE_DIR}/src/core" PUBLIC "${SOURCE_DIR}/src/event" PUBLIC "${SOURCE_DIR}/src/event/modules" PUBLIC "${SOURCE_DIR}/src/http" PUBLIC "${SOURCE_DIR}/src/http/modules" PUBLIC "${SOURCE_DIR}/src/mail" PUBLIC "${SOURCE_DIR}/src/stream" PUBLIC "${SOURCE_DIR}/src/os/unix" ) target_link_libraries(${PROJECT_NAME} ziti)
-
What should I learn next?
Embed private connectivity into your C or C# or .NET application - https://github.com/openziti/ziti-sdk-c or https://github.com/openziti/ziti-sdk-csharp
- Tailscale raises $100M to fix the Internet
ziti-sdk-swift
-
The tunneler are closed source ?
If you want to embed in your app rather than use Tunneler on Apple devices you can use the Swift SDK (used under the hood in the tunnelers): https://github.com/openziti/ziti-sdk-swift
-
Is it possible to do VPN split tunneling on iOS
It's built to use the OpenZiti Swift SDK to route only configured traffic over an OpenZiti network. So,as long as the VPN isn't explicitly configured to route your API calls over the VPN they won't be picked up (the analogy in OpenZiti is that we make sure connections to a Ziti Controller or Ziti Router are never sent over the VPN connection).
-
Looking for a project to catch up my skills.
I'd take help with OpenZiti Swift SDK. I just put in an Issue for a sample app that makes a REST call using async/await. This might be a good one where you shouldn't need to get too deep into understanding OpenZiti internals and can focus on Swift. Let me know if you're interested.
-
Developers with apps on the App Store. What's your app and what have you the idea to do it?
OpenZiti is a zero trust network overlay that allows you to connect directly to the overlay from 'inside' your application using one of the SDKs (the Ziti Swift SDK in this case. Ziti Mobile Edge marries the SDK to an Apple Network Extension Packet Tunnel Provider (VPN) so the user can selectively route network connections based on DNS requests or specific IP addresses ("intercepts" in Ziti lingo).
What are some alternatives?
Nebula - A scalable overlay networking tool with a focus on performance, simplicity and security
opentdf - Quickstart guide, examples, and documentation repository for OpenTDF, the reference implementation of the Trusted Data Format (TDF). TDF is an object encoding specification that empowers zero-trust security measures by providing end-to-end cryptographic security features with data encryption and tagging.
tailscale - The easiest, most secure way to use WireGuard and 2FA.
ziti-sdk-py - Ziti SDK for Python
headscale - An open source, self-hosted implementation of the Tailscale control server
ziti-tunnel-apple - Ziti mobile and desktop edge clients for Apple devices
ziti-doc - Documentation describing the usage of the Ziti platform.
ios-pass - iOS client for Proton Pass
netbird - Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
ziti-sdk-csharp - An C#-based SDK to access Ziti
ZeroTier - A Smart Ethernet Switch for Earth
yggdrasil-go - An experiment in scalable routing as an encrypted IPv6 overlay network