mirror of https://github.com/oxen-io/lokinet
add swift version bullshit file and additional bullshittery
parent
0708a0d897
commit
5edd045c9b
@ -0,0 +1 @@
|
|||||||
|
5.4.2
|
@ -1,31 +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>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleDisplayName</key>
|
|
||||||
<string>Lokinet</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>lokinet-extension</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>org.lokinet.NetworkExtension</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>Lokinet</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>XPC!</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>0.1</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>0.1</string>
|
|
||||||
<key>NSExtension</key>
|
|
||||||
<dict>
|
|
||||||
<key>NSExtensionPointIdentifier</key>
|
|
||||||
<string>com.apple.networkextension.packet-tunnel</string>
|
|
||||||
<key>NSExtensionPrincipalClass</key>
|
|
||||||
<string>Lokinet.LLARPPacketTunnel</string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -0,0 +1,40 @@
|
|||||||
|
<?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>CFBundleDisplayName</key>
|
||||||
|
<string>Lokinet</string>
|
||||||
|
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>lokinet-extension</string>
|
||||||
|
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.loki-project.lokinet.network-extension</string>
|
||||||
|
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>XPC!</string>
|
||||||
|
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>lokinet</string>
|
||||||
|
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${LOKINET_VERSION}</string>
|
||||||
|
|
||||||
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
<false/>
|
||||||
|
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>11.0</string>
|
||||||
|
|
||||||
|
<key>NSExtension</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSExtensionPointIdentifier</key>
|
||||||
|
<string>com.apple.networkextension.packet-tunnel</string>
|
||||||
|
<key>NSExtensionPrincipalClass</key>
|
||||||
|
<string>LLARPPacketTunnel</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,25 @@
|
|||||||
|
<?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>com.apple.developer.networking.networkextension</key>
|
||||||
|
<array>
|
||||||
|
<string>packet-tunnel-provider</string>
|
||||||
|
</array>
|
||||||
|
<!--
|
||||||
|
<key>com.apple.developer.networking.vpn.api</key>
|
||||||
|
<array>
|
||||||
|
<string>allow-vpn</string>
|
||||||
|
</array>
|
||||||
|
<key>com.apple.security.app-sandbox</key>
|
||||||
|
<true/>
|
||||||
|
|
||||||
|
<key>com.apple.security.application-groups</key>
|
||||||
|
<array>
|
||||||
|
<string>${CODESIGN_TEAM_ID}.com.loki-project.lokinet.network-extension</string>
|
||||||
|
</array>
|
||||||
|
-->
|
||||||
|
<key>com.apple.security.network.client</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -1,10 +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>com.apple.developer.networking.networkextension</key>
|
|
||||||
<array>
|
|
||||||
<string>packet-tunnel-provider</string>
|
|
||||||
</array>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -0,0 +1,24 @@
|
|||||||
|
<?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>com.apple.developer.networking.networkextension</key>
|
||||||
|
<array>
|
||||||
|
<string>packet-tunnel-provider</string>
|
||||||
|
</array>
|
||||||
|
<!--
|
||||||
|
<key>com.apple.developer.networking.vpn.api</key>
|
||||||
|
<array>
|
||||||
|
<string>allow-vpn</string>
|
||||||
|
</array>
|
||||||
|
<key>com.apple.security.app-sandbox</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.security.application-groups</key>
|
||||||
|
<array>
|
||||||
|
<string>${CODESIGN_TEAM_ID}.com.loki-project.lokinet</string>
|
||||||
|
</array>
|
||||||
|
-->
|
||||||
|
<key>com.apple.security.network.client</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -1,9 +0,0 @@
|
|||||||
#import <Foundation/Foundation.h>
|
|
||||||
#include <NetworkExtension/NetworkExtension.h>
|
|
||||||
|
|
||||||
|
|
||||||
int main (int argc, const char * argv[])
|
|
||||||
{
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
module Lokinet {
|
|
||||||
header "lokinet-extension.hpp"
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
// AppDelegateExtension.swift
|
|
||||||
// lifed from yggdrasil network ios port
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
import Lokinet
|
|
||||||
import NetworkExtension
|
|
||||||
|
|
||||||
class LokinetMain: PlatformAppDelegate {
|
|
||||||
var vpnManager = NETunnelProviderManager()
|
|
||||||
var app = NSApplication.shared()
|
|
||||||
let lokinetComponent = "org.lokinet.NetworkExtension"
|
|
||||||
var lokinetAdminTimer: DispatchSourceTimer?
|
|
||||||
|
|
||||||
func runMain() {
|
|
||||||
print("Starting up lokinet")
|
|
||||||
NETunnelProviderManager.loadAllFromPreferences { (savedManagers: [NETunnelProviderManager]?, error: Error?) in
|
|
||||||
if let error = error {
|
|
||||||
print(error)
|
|
||||||
}
|
|
||||||
|
|
||||||
if let savedManagers = savedManagers {
|
|
||||||
for manager in savedManagers {
|
|
||||||
if (manager.protocolConfiguration as? NETunnelProviderProtocol)?.providerBundleIdentifier == self.lokinetComponent {
|
|
||||||
print("Found saved VPN Manager")
|
|
||||||
self.vpnManager = manager
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.vpnManager.loadFromPreferences(completionHandler: { (error: Error?) in
|
|
||||||
if let error = error {
|
|
||||||
print(error)
|
|
||||||
}
|
|
||||||
self.vpnManager.localizedDescription = "Lokinet"
|
|
||||||
self.vpnManager.isEnabled = true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
app.finishLaunching()
|
|
||||||
app.run()
|
|
||||||
print("end")
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,32 @@
|
|||||||
|
#pragma once
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#include "logstream.hpp"
|
||||||
|
|
||||||
|
namespace llarp
|
||||||
|
{
|
||||||
|
struct NSLogStream : public ILogStream
|
||||||
|
{
|
||||||
|
void
|
||||||
|
PreLog(
|
||||||
|
std::stringstream& s,
|
||||||
|
LogLevel lvl,
|
||||||
|
const char* fname,
|
||||||
|
int lineno,
|
||||||
|
const std::string& nodename) const override;
|
||||||
|
|
||||||
|
void
|
||||||
|
Print(LogLevel lvl, const char* tag, const std::string& msg) override;
|
||||||
|
|
||||||
|
void
|
||||||
|
PostLog(std::stringstream& ss) const override;
|
||||||
|
|
||||||
|
virtual void
|
||||||
|
ImmediateFlush() override
|
||||||
|
{}
|
||||||
|
|
||||||
|
void Tick(llarp_time_t) override
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
} // namespace llarp
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,38 @@
|
|||||||
|
#ifdef __APPLE__
|
||||||
|
#include "apple_logger.hpp"
|
||||||
|
#include "logger_internal.hpp"
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
namespace llarp
|
||||||
|
{
|
||||||
|
void
|
||||||
|
NSLogStream::PreLog(
|
||||||
|
std::stringstream& ss,
|
||||||
|
LogLevel lvl,
|
||||||
|
const char* fname,
|
||||||
|
int lineno,
|
||||||
|
const std::string& nodename) const
|
||||||
|
{
|
||||||
|
ss << "[" << LogLevelToString(lvl) << "] ";
|
||||||
|
ss << "[" << nodename << "]"
|
||||||
|
<< "(" << thread_id_string() << ") " << log_timestamp() << " " << fname << ":" << lineno
|
||||||
|
<< "\t";
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
NSLogStream::Print(LogLevel, const char*, const std::string& msg)
|
||||||
|
{
|
||||||
|
const char* msg_ptr = msg.c_str();
|
||||||
|
const char* msg_fmt = "%s";
|
||||||
|
NSString* fmt = [[NSString alloc] initWithUTF8String:msg_ptr];
|
||||||
|
NSString* str = [[NSString alloc] initWithUTF8String:msg_fmt];
|
||||||
|
NSLog(fmt, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
NSLogStream::PostLog(std::stringstream&) const
|
||||||
|
{}
|
||||||
|
|
||||||
|
} // namespace llarp
|
||||||
|
#endif
|
Loading…
Reference in New Issue