Fix: Use local Swift Package (LibboxLocal) with binaryTarget for Libbox.xcframework
This commit is contained in:
@@ -0,0 +1,80 @@
|
|||||||
|
<?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>AvailableLibraries</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>Libbox.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>Libbox.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>Libbox.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>macos-arm64_x86_64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>Libbox.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>macos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>Libbox.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>XFWK</string>
|
||||||
|
<key>XCFrameworkFormatVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Headers
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Libbox
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Modules
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
// Objective-C API for talking to the following Go packages
|
||||||
|
//
|
||||||
|
// github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gomobile bind. Do not edit.
|
||||||
|
#ifndef __Libbox_FRAMEWORK_H__
|
||||||
|
#define __Libbox_FRAMEWORK_H__
|
||||||
|
|
||||||
|
#include "Libbox.objc.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
+811
@@ -0,0 +1,811 @@
|
|||||||
|
// Objective-C API for talking to github.com/sagernet/sing-box/experimental/libbox Go package.
|
||||||
|
// gobind -lang=objc github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Libbox_H__
|
||||||
|
#define __Libbox_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
|
||||||
|
@class LibboxBoxService;
|
||||||
|
@class LibboxCommandClient;
|
||||||
|
@class LibboxCommandClientOptions;
|
||||||
|
@class LibboxCommandServer;
|
||||||
|
@class LibboxErrorMessage;
|
||||||
|
@class LibboxExchangeContext;
|
||||||
|
@class LibboxImportRemoteProfile;
|
||||||
|
@class LibboxNetworkInterface;
|
||||||
|
@class LibboxOutboundGroup;
|
||||||
|
@class LibboxOutboundGroupItem;
|
||||||
|
@class LibboxPProfServer;
|
||||||
|
@class LibboxProfileContent;
|
||||||
|
@class LibboxProfileContentRequest;
|
||||||
|
@class LibboxProfileDecoder;
|
||||||
|
@class LibboxProfileEncoder;
|
||||||
|
@class LibboxProfilePreview;
|
||||||
|
@class LibboxRoutePrefix;
|
||||||
|
@class LibboxStatusMessage;
|
||||||
|
@class LibboxSystemProxyStatus;
|
||||||
|
@class LibboxWIFIState;
|
||||||
|
@protocol LibboxCommandClientHandler;
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
@protocol LibboxCommandServerHandler;
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
@protocol LibboxFunc;
|
||||||
|
@class LibboxFunc;
|
||||||
|
@protocol LibboxHTTPClient;
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
@protocol LibboxHTTPRequest;
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
@protocol LibboxHTTPResponse;
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
@protocol LibboxInterfaceUpdateListener;
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
@protocol LibboxLocalDNSTransport;
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
@protocol LibboxNetworkInterfaceIterator;
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
@protocol LibboxOnDemandRule;
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
@protocol LibboxOnDemandRuleIterator;
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
@protocol LibboxOutboundGroupItemIterator;
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
@protocol LibboxOutboundGroupIterator;
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
@protocol LibboxPlatformInterface;
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
@protocol LibboxProfilePreviewIterator;
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
@protocol LibboxRoutePrefixIterator;
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
@protocol LibboxStringIterator;
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
@protocol LibboxTunInterface;
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
@protocol LibboxTunOptions;
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@protocol LibboxCommandClientHandler <NSObject>
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxCommandServerHandler <NSObject>
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxFunc <NSObject>
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPClient <NSObject>
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPRequest <NSObject>
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPResponse <NSObject>
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxInterfaceUpdateListener <NSObject>
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxLocalDNSTransport <NSObject>
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxNetworkInterfaceIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRule <NSObject>
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRuleIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupItemIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxPlatformInterface <NSObject>
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxProfilePreviewIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxRoutePrefixIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxStringIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunInterface <NSObject>
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunOptions <NSObject>
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxBoxService : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)needWIFIState;
|
||||||
|
- (void)pause;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)wake;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClient : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandClientHandler> _Nullable)handler options:(LibboxCommandClientOptions* _Nullable)options;
|
||||||
|
- (BOOL)closeConnections:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)connect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)disconnect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)selectOutbound:(NSString* _Nullable)groupTag outboundTag:(NSString* _Nullable)outboundTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceClose:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setClashMode:(NSString* _Nullable)newMode error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setGroupExpand:(NSString* _Nullable)groupTag isExpand:(BOOL)isExpand error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)urlTest:(NSString* _Nullable)groupTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClientOptions : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t command;
|
||||||
|
@property (nonatomic) int64_t statusInterval;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandServerHandler> _Nullable)handler maxLines:(int32_t)maxLines;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)resetLog;
|
||||||
|
- (void)setService:(LibboxBoxService* _Nullable)newService;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)writeMessage:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxErrorMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull message;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxExchangeContext : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)errnoCode:(int32_t)code;
|
||||||
|
- (void)errorCode:(int32_t)code;
|
||||||
|
- (void)onCancel:(id<LibboxFunc> _Nullable)callback;
|
||||||
|
- (void)rawSuccess:(NSData* _Nullable)result;
|
||||||
|
- (void)success:(NSString* _Nullable)result;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxImportRemoteProfile : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) NSString* _Nonnull url;
|
||||||
|
@property (nonatomic) NSString* _Nonnull host;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterface : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t index;
|
||||||
|
@property (nonatomic) int32_t mtu;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) id<LibboxStringIterator> _Nullable addresses;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroup : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) BOOL selectable;
|
||||||
|
@property (nonatomic) NSString* _Nonnull selected;
|
||||||
|
@property (nonatomic) BOOL isExpand;
|
||||||
|
- (id<LibboxOutboundGroupItemIterator> _Nullable)getItems;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItem : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) int64_t urlTestTime;
|
||||||
|
@property (nonatomic) int32_t urlTestDelay;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPProfServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(long)port;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContent : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@property (nonatomic) NSString* _Nonnull config;
|
||||||
|
@property (nonatomic) NSString* _Nonnull remotePath;
|
||||||
|
@property (nonatomic) BOOL autoUpdate;
|
||||||
|
@property (nonatomic) int32_t autoUpdateInterval;
|
||||||
|
@property (nonatomic) int64_t lastUpdated;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContentRequest : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileDecoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)decode:(NSData* _Nullable)data error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxProfilePreviewIterator> _Nullable)iterator;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileEncoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)append:(LibboxProfilePreview* _Nullable)profile;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreview : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefix : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (NSString* _Nonnull)address;
|
||||||
|
- (NSString* _Nonnull)mask;
|
||||||
|
- (int32_t)prefix;
|
||||||
|
- (NSString* _Nonnull)string;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStatusMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t memory;
|
||||||
|
@property (nonatomic) int32_t goroutines;
|
||||||
|
@property (nonatomic) int32_t connectionsIn;
|
||||||
|
@property (nonatomic) int32_t connectionsOut;
|
||||||
|
@property (nonatomic) BOOL trafficAvailable;
|
||||||
|
@property (nonatomic) int64_t uplink;
|
||||||
|
@property (nonatomic) int64_t downlink;
|
||||||
|
@property (nonatomic) int64_t uplinkTotal;
|
||||||
|
@property (nonatomic) int64_t downlinkTotal;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxSystemProxyStatus : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) BOOL available;
|
||||||
|
@property (nonatomic) BOOL enabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxWIFIState : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(NSString* _Nullable)wifiSSID wifiBSSID:(NSString* _Nullable)wifiBSSID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull ssid;
|
||||||
|
@property (nonatomic) NSString* _Nonnull bssid;
|
||||||
|
@end
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandCloseConnections;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGetSystemProxyStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroup;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroupExpand;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandLog;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSelectOutbound;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceClose;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceReload;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetSystemProxyEnabled;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandURLTest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeError;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContent;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContentRequest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileList;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeLocal;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeRemote;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeiCloud;
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxCheckConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxClearServiceError(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxErrorMessage* _Nullable LibboxDecodeErrorMessage(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxDecodeLengthChunk(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContent* _Nullable LibboxDecodeProfileContent(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContentRequest* _Nullable LibboxDecodeProfileContentRequest(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSData* _Nullable LibboxEncodeChunkedMessage(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatMemoryBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxGenerateRemoteProfileImportLink(NSString* _Nullable name, NSString* _Nullable remoteURL);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxGetTunnelFileDescriptor(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewCommandClient(id<LibboxCommandClientHandler> _Nullable handler, LibboxCommandClientOptions* _Nullable options);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandServer* _Nullable LibboxNewCommandServer(id<LibboxCommandServerHandler> _Nullable handler, int32_t maxLines);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT id<LibboxHTTPClient> _Nullable LibboxNewHTTPClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxPProfServer* _Nullable LibboxNewPProfServer(long port);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxBoxService* _Nullable LibboxNewService(NSString* _Nullable configContent, id<LibboxPlatformInterface> _Nullable platformInterface, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewStandaloneCommandClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxWIFIState* _Nullable LibboxNewWIFIState(NSString* _Nullable wifiSSID, NSString* _Nullable wifiBSSID);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxImportRemoteProfile* _Nullable LibboxParseRemoteProfileImportLink(NSString* _Nullable importLink, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxProxyDisplayType(NSString* _Nullable proxyType);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxReadServiceError(NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxRedirectStderr(NSString* _Nullable path, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxRegisterLocalDNSTransport(id<LibboxLocalDNSTransport> _Nullable transport);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetMemoryLimit(BOOL enabled);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetup(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, BOOL isTVOS);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxSetupWithUsername(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, NSString* _Nullable username, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxVersion(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxWriteServiceError(NSString* _Nullable message, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
|
||||||
|
@class LibboxFunc;
|
||||||
|
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@interface LibboxCommandClientHandler : NSObject <goSeqRefInterface, LibboxCommandClientHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServerHandler : NSObject <goSeqRefInterface, LibboxCommandServerHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxFunc : NSObject <goSeqRefInterface, LibboxFunc> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPClient : NSObject <goSeqRefInterface, LibboxHTTPClient> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPRequest : NSObject <goSeqRefInterface, LibboxHTTPRequest> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPResponse : NSObject <goSeqRefInterface, LibboxHTTPResponse> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxInterfaceUpdateListener : NSObject <goSeqRefInterface, LibboxInterfaceUpdateListener> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxLocalDNSTransport : NSObject <goSeqRefInterface, LibboxLocalDNSTransport> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterfaceIterator : NSObject <goSeqRefInterface, LibboxNetworkInterfaceIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRule : NSObject <goSeqRefInterface, LibboxOnDemandRule> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRuleIterator : NSObject <goSeqRefInterface, LibboxOnDemandRuleIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItemIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupItemIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPlatformInterface : NSObject <goSeqRefInterface, LibboxPlatformInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreviewIterator : NSObject <goSeqRefInterface, LibboxProfilePreviewIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefixIterator : NSObject <goSeqRefInterface, LibboxRoutePrefixIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStringIterator : NSObject <goSeqRefInterface, LibboxStringIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunInterface : NSObject <goSeqRefInterface, LibboxTunInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunOptions : NSObject <goSeqRefInterface, LibboxTunOptions> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
// Objective-C API for talking to Go package.
|
||||||
|
// gobind -lang=objc
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Universe_H__
|
||||||
|
#define __Universe_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
|
||||||
|
@protocol Universeerror;
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@protocol Universeerror <NSObject>
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2015 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef __GO_REF_HDR__
|
||||||
|
#define __GO_REF_HDR__
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
// GoSeqRef is an object tagged with an integer for passing back and
|
||||||
|
// forth across the language boundary. A GoSeqRef may represent either
|
||||||
|
// an instance of a Go object, or an Objective-C object passed to Go.
|
||||||
|
// The explicit allocation of a GoSeqRef is used to pin a Go object
|
||||||
|
// when it is passed to Objective-C. The Go seq package maintains a
|
||||||
|
// reference to the Go object in a map keyed by the refnum along with
|
||||||
|
// a reference count. When the reference count reaches zero, the Go
|
||||||
|
// seq package will clear the corresponding entry in the map.
|
||||||
|
@interface GoSeqRef : NSObject {
|
||||||
|
}
|
||||||
|
@property(readonly) int32_t refnum;
|
||||||
|
@property(strong) id obj; // NULL when representing a Go object.
|
||||||
|
|
||||||
|
// new GoSeqRef object to proxy a Go object. The refnum must be
|
||||||
|
// provided from Go side.
|
||||||
|
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
|
||||||
|
|
||||||
|
- (int32_t)incNum;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol goSeqRefInterface
|
||||||
|
-(GoSeqRef*) _ref;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Libbox {
|
||||||
|
header "ref.h"
|
||||||
|
header "Libbox.objc.h"
|
||||||
|
header "Universe.objc.h"
|
||||||
|
export *
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?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>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Headers
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Libbox
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Modules
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
// Objective-C API for talking to the following Go packages
|
||||||
|
//
|
||||||
|
// github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gomobile bind. Do not edit.
|
||||||
|
#ifndef __Libbox_FRAMEWORK_H__
|
||||||
|
#define __Libbox_FRAMEWORK_H__
|
||||||
|
|
||||||
|
#include "Libbox.objc.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
+811
@@ -0,0 +1,811 @@
|
|||||||
|
// Objective-C API for talking to github.com/sagernet/sing-box/experimental/libbox Go package.
|
||||||
|
// gobind -lang=objc github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Libbox_H__
|
||||||
|
#define __Libbox_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
|
||||||
|
@class LibboxBoxService;
|
||||||
|
@class LibboxCommandClient;
|
||||||
|
@class LibboxCommandClientOptions;
|
||||||
|
@class LibboxCommandServer;
|
||||||
|
@class LibboxErrorMessage;
|
||||||
|
@class LibboxExchangeContext;
|
||||||
|
@class LibboxImportRemoteProfile;
|
||||||
|
@class LibboxNetworkInterface;
|
||||||
|
@class LibboxOutboundGroup;
|
||||||
|
@class LibboxOutboundGroupItem;
|
||||||
|
@class LibboxPProfServer;
|
||||||
|
@class LibboxProfileContent;
|
||||||
|
@class LibboxProfileContentRequest;
|
||||||
|
@class LibboxProfileDecoder;
|
||||||
|
@class LibboxProfileEncoder;
|
||||||
|
@class LibboxProfilePreview;
|
||||||
|
@class LibboxRoutePrefix;
|
||||||
|
@class LibboxStatusMessage;
|
||||||
|
@class LibboxSystemProxyStatus;
|
||||||
|
@class LibboxWIFIState;
|
||||||
|
@protocol LibboxCommandClientHandler;
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
@protocol LibboxCommandServerHandler;
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
@protocol LibboxFunc;
|
||||||
|
@class LibboxFunc;
|
||||||
|
@protocol LibboxHTTPClient;
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
@protocol LibboxHTTPRequest;
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
@protocol LibboxHTTPResponse;
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
@protocol LibboxInterfaceUpdateListener;
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
@protocol LibboxLocalDNSTransport;
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
@protocol LibboxNetworkInterfaceIterator;
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
@protocol LibboxOnDemandRule;
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
@protocol LibboxOnDemandRuleIterator;
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
@protocol LibboxOutboundGroupItemIterator;
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
@protocol LibboxOutboundGroupIterator;
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
@protocol LibboxPlatformInterface;
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
@protocol LibboxProfilePreviewIterator;
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
@protocol LibboxRoutePrefixIterator;
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
@protocol LibboxStringIterator;
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
@protocol LibboxTunInterface;
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
@protocol LibboxTunOptions;
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@protocol LibboxCommandClientHandler <NSObject>
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxCommandServerHandler <NSObject>
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxFunc <NSObject>
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPClient <NSObject>
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPRequest <NSObject>
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPResponse <NSObject>
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxInterfaceUpdateListener <NSObject>
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxLocalDNSTransport <NSObject>
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxNetworkInterfaceIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRule <NSObject>
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRuleIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupItemIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxPlatformInterface <NSObject>
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxProfilePreviewIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxRoutePrefixIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxStringIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunInterface <NSObject>
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunOptions <NSObject>
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxBoxService : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)needWIFIState;
|
||||||
|
- (void)pause;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)wake;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClient : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandClientHandler> _Nullable)handler options:(LibboxCommandClientOptions* _Nullable)options;
|
||||||
|
- (BOOL)closeConnections:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)connect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)disconnect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)selectOutbound:(NSString* _Nullable)groupTag outboundTag:(NSString* _Nullable)outboundTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceClose:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setClashMode:(NSString* _Nullable)newMode error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setGroupExpand:(NSString* _Nullable)groupTag isExpand:(BOOL)isExpand error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)urlTest:(NSString* _Nullable)groupTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClientOptions : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t command;
|
||||||
|
@property (nonatomic) int64_t statusInterval;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandServerHandler> _Nullable)handler maxLines:(int32_t)maxLines;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)resetLog;
|
||||||
|
- (void)setService:(LibboxBoxService* _Nullable)newService;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)writeMessage:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxErrorMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull message;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxExchangeContext : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)errnoCode:(int32_t)code;
|
||||||
|
- (void)errorCode:(int32_t)code;
|
||||||
|
- (void)onCancel:(id<LibboxFunc> _Nullable)callback;
|
||||||
|
- (void)rawSuccess:(NSData* _Nullable)result;
|
||||||
|
- (void)success:(NSString* _Nullable)result;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxImportRemoteProfile : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) NSString* _Nonnull url;
|
||||||
|
@property (nonatomic) NSString* _Nonnull host;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterface : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t index;
|
||||||
|
@property (nonatomic) int32_t mtu;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) id<LibboxStringIterator> _Nullable addresses;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroup : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) BOOL selectable;
|
||||||
|
@property (nonatomic) NSString* _Nonnull selected;
|
||||||
|
@property (nonatomic) BOOL isExpand;
|
||||||
|
- (id<LibboxOutboundGroupItemIterator> _Nullable)getItems;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItem : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) int64_t urlTestTime;
|
||||||
|
@property (nonatomic) int32_t urlTestDelay;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPProfServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(long)port;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContent : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@property (nonatomic) NSString* _Nonnull config;
|
||||||
|
@property (nonatomic) NSString* _Nonnull remotePath;
|
||||||
|
@property (nonatomic) BOOL autoUpdate;
|
||||||
|
@property (nonatomic) int32_t autoUpdateInterval;
|
||||||
|
@property (nonatomic) int64_t lastUpdated;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContentRequest : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileDecoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)decode:(NSData* _Nullable)data error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxProfilePreviewIterator> _Nullable)iterator;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileEncoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)append:(LibboxProfilePreview* _Nullable)profile;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreview : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefix : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (NSString* _Nonnull)address;
|
||||||
|
- (NSString* _Nonnull)mask;
|
||||||
|
- (int32_t)prefix;
|
||||||
|
- (NSString* _Nonnull)string;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStatusMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t memory;
|
||||||
|
@property (nonatomic) int32_t goroutines;
|
||||||
|
@property (nonatomic) int32_t connectionsIn;
|
||||||
|
@property (nonatomic) int32_t connectionsOut;
|
||||||
|
@property (nonatomic) BOOL trafficAvailable;
|
||||||
|
@property (nonatomic) int64_t uplink;
|
||||||
|
@property (nonatomic) int64_t downlink;
|
||||||
|
@property (nonatomic) int64_t uplinkTotal;
|
||||||
|
@property (nonatomic) int64_t downlinkTotal;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxSystemProxyStatus : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) BOOL available;
|
||||||
|
@property (nonatomic) BOOL enabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxWIFIState : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(NSString* _Nullable)wifiSSID wifiBSSID:(NSString* _Nullable)wifiBSSID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull ssid;
|
||||||
|
@property (nonatomic) NSString* _Nonnull bssid;
|
||||||
|
@end
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandCloseConnections;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGetSystemProxyStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroup;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroupExpand;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandLog;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSelectOutbound;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceClose;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceReload;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetSystemProxyEnabled;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandURLTest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeError;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContent;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContentRequest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileList;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeLocal;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeRemote;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeiCloud;
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxCheckConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxClearServiceError(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxErrorMessage* _Nullable LibboxDecodeErrorMessage(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxDecodeLengthChunk(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContent* _Nullable LibboxDecodeProfileContent(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContentRequest* _Nullable LibboxDecodeProfileContentRequest(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSData* _Nullable LibboxEncodeChunkedMessage(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatMemoryBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxGenerateRemoteProfileImportLink(NSString* _Nullable name, NSString* _Nullable remoteURL);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxGetTunnelFileDescriptor(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewCommandClient(id<LibboxCommandClientHandler> _Nullable handler, LibboxCommandClientOptions* _Nullable options);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandServer* _Nullable LibboxNewCommandServer(id<LibboxCommandServerHandler> _Nullable handler, int32_t maxLines);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT id<LibboxHTTPClient> _Nullable LibboxNewHTTPClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxPProfServer* _Nullable LibboxNewPProfServer(long port);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxBoxService* _Nullable LibboxNewService(NSString* _Nullable configContent, id<LibboxPlatformInterface> _Nullable platformInterface, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewStandaloneCommandClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxWIFIState* _Nullable LibboxNewWIFIState(NSString* _Nullable wifiSSID, NSString* _Nullable wifiBSSID);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxImportRemoteProfile* _Nullable LibboxParseRemoteProfileImportLink(NSString* _Nullable importLink, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxProxyDisplayType(NSString* _Nullable proxyType);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxReadServiceError(NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxRedirectStderr(NSString* _Nullable path, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxRegisterLocalDNSTransport(id<LibboxLocalDNSTransport> _Nullable transport);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetMemoryLimit(BOOL enabled);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetup(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, BOOL isTVOS);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxSetupWithUsername(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, NSString* _Nullable username, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxVersion(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxWriteServiceError(NSString* _Nullable message, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
|
||||||
|
@class LibboxFunc;
|
||||||
|
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@interface LibboxCommandClientHandler : NSObject <goSeqRefInterface, LibboxCommandClientHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServerHandler : NSObject <goSeqRefInterface, LibboxCommandServerHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxFunc : NSObject <goSeqRefInterface, LibboxFunc> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPClient : NSObject <goSeqRefInterface, LibboxHTTPClient> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPRequest : NSObject <goSeqRefInterface, LibboxHTTPRequest> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPResponse : NSObject <goSeqRefInterface, LibboxHTTPResponse> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxInterfaceUpdateListener : NSObject <goSeqRefInterface, LibboxInterfaceUpdateListener> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxLocalDNSTransport : NSObject <goSeqRefInterface, LibboxLocalDNSTransport> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterfaceIterator : NSObject <goSeqRefInterface, LibboxNetworkInterfaceIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRule : NSObject <goSeqRefInterface, LibboxOnDemandRule> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRuleIterator : NSObject <goSeqRefInterface, LibboxOnDemandRuleIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItemIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupItemIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPlatformInterface : NSObject <goSeqRefInterface, LibboxPlatformInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreviewIterator : NSObject <goSeqRefInterface, LibboxProfilePreviewIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefixIterator : NSObject <goSeqRefInterface, LibboxRoutePrefixIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStringIterator : NSObject <goSeqRefInterface, LibboxStringIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunInterface : NSObject <goSeqRefInterface, LibboxTunInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunOptions : NSObject <goSeqRefInterface, LibboxTunOptions> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
// Objective-C API for talking to Go package.
|
||||||
|
// gobind -lang=objc
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Universe_H__
|
||||||
|
#define __Universe_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
|
||||||
|
@protocol Universeerror;
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@protocol Universeerror <NSObject>
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2015 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef __GO_REF_HDR__
|
||||||
|
#define __GO_REF_HDR__
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
// GoSeqRef is an object tagged with an integer for passing back and
|
||||||
|
// forth across the language boundary. A GoSeqRef may represent either
|
||||||
|
// an instance of a Go object, or an Objective-C object passed to Go.
|
||||||
|
// The explicit allocation of a GoSeqRef is used to pin a Go object
|
||||||
|
// when it is passed to Objective-C. The Go seq package maintains a
|
||||||
|
// reference to the Go object in a map keyed by the refnum along with
|
||||||
|
// a reference count. When the reference count reaches zero, the Go
|
||||||
|
// seq package will clear the corresponding entry in the map.
|
||||||
|
@interface GoSeqRef : NSObject {
|
||||||
|
}
|
||||||
|
@property(readonly) int32_t refnum;
|
||||||
|
@property(strong) id obj; // NULL when representing a Go object.
|
||||||
|
|
||||||
|
// new GoSeqRef object to proxy a Go object. The refnum must be
|
||||||
|
// provided from Go side.
|
||||||
|
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
|
||||||
|
|
||||||
|
- (int32_t)incNum;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol goSeqRefInterface
|
||||||
|
-(GoSeqRef*) _ref;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Libbox {
|
||||||
|
header "ref.h"
|
||||||
|
header "Libbox.objc.h"
|
||||||
|
header "Universe.objc.h"
|
||||||
|
export *
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?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>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Headers
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Libbox
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Modules
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
// Objective-C API for talking to the following Go packages
|
||||||
|
//
|
||||||
|
// github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gomobile bind. Do not edit.
|
||||||
|
#ifndef __Libbox_FRAMEWORK_H__
|
||||||
|
#define __Libbox_FRAMEWORK_H__
|
||||||
|
|
||||||
|
#include "Libbox.objc.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
+811
@@ -0,0 +1,811 @@
|
|||||||
|
// Objective-C API for talking to github.com/sagernet/sing-box/experimental/libbox Go package.
|
||||||
|
// gobind -lang=objc github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Libbox_H__
|
||||||
|
#define __Libbox_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
|
||||||
|
@class LibboxBoxService;
|
||||||
|
@class LibboxCommandClient;
|
||||||
|
@class LibboxCommandClientOptions;
|
||||||
|
@class LibboxCommandServer;
|
||||||
|
@class LibboxErrorMessage;
|
||||||
|
@class LibboxExchangeContext;
|
||||||
|
@class LibboxImportRemoteProfile;
|
||||||
|
@class LibboxNetworkInterface;
|
||||||
|
@class LibboxOutboundGroup;
|
||||||
|
@class LibboxOutboundGroupItem;
|
||||||
|
@class LibboxPProfServer;
|
||||||
|
@class LibboxProfileContent;
|
||||||
|
@class LibboxProfileContentRequest;
|
||||||
|
@class LibboxProfileDecoder;
|
||||||
|
@class LibboxProfileEncoder;
|
||||||
|
@class LibboxProfilePreview;
|
||||||
|
@class LibboxRoutePrefix;
|
||||||
|
@class LibboxStatusMessage;
|
||||||
|
@class LibboxSystemProxyStatus;
|
||||||
|
@class LibboxWIFIState;
|
||||||
|
@protocol LibboxCommandClientHandler;
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
@protocol LibboxCommandServerHandler;
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
@protocol LibboxFunc;
|
||||||
|
@class LibboxFunc;
|
||||||
|
@protocol LibboxHTTPClient;
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
@protocol LibboxHTTPRequest;
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
@protocol LibboxHTTPResponse;
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
@protocol LibboxInterfaceUpdateListener;
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
@protocol LibboxLocalDNSTransport;
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
@protocol LibboxNetworkInterfaceIterator;
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
@protocol LibboxOnDemandRule;
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
@protocol LibboxOnDemandRuleIterator;
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
@protocol LibboxOutboundGroupItemIterator;
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
@protocol LibboxOutboundGroupIterator;
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
@protocol LibboxPlatformInterface;
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
@protocol LibboxProfilePreviewIterator;
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
@protocol LibboxRoutePrefixIterator;
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
@protocol LibboxStringIterator;
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
@protocol LibboxTunInterface;
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
@protocol LibboxTunOptions;
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@protocol LibboxCommandClientHandler <NSObject>
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxCommandServerHandler <NSObject>
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxFunc <NSObject>
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPClient <NSObject>
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPRequest <NSObject>
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPResponse <NSObject>
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxInterfaceUpdateListener <NSObject>
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxLocalDNSTransport <NSObject>
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxNetworkInterfaceIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRule <NSObject>
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRuleIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupItemIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxPlatformInterface <NSObject>
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxProfilePreviewIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxRoutePrefixIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxStringIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunInterface <NSObject>
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunOptions <NSObject>
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxBoxService : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)needWIFIState;
|
||||||
|
- (void)pause;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)wake;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClient : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandClientHandler> _Nullable)handler options:(LibboxCommandClientOptions* _Nullable)options;
|
||||||
|
- (BOOL)closeConnections:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)connect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)disconnect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)selectOutbound:(NSString* _Nullable)groupTag outboundTag:(NSString* _Nullable)outboundTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceClose:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setClashMode:(NSString* _Nullable)newMode error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setGroupExpand:(NSString* _Nullable)groupTag isExpand:(BOOL)isExpand error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)urlTest:(NSString* _Nullable)groupTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClientOptions : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t command;
|
||||||
|
@property (nonatomic) int64_t statusInterval;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandServerHandler> _Nullable)handler maxLines:(int32_t)maxLines;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)resetLog;
|
||||||
|
- (void)setService:(LibboxBoxService* _Nullable)newService;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)writeMessage:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxErrorMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull message;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxExchangeContext : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)errnoCode:(int32_t)code;
|
||||||
|
- (void)errorCode:(int32_t)code;
|
||||||
|
- (void)onCancel:(id<LibboxFunc> _Nullable)callback;
|
||||||
|
- (void)rawSuccess:(NSData* _Nullable)result;
|
||||||
|
- (void)success:(NSString* _Nullable)result;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxImportRemoteProfile : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) NSString* _Nonnull url;
|
||||||
|
@property (nonatomic) NSString* _Nonnull host;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterface : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t index;
|
||||||
|
@property (nonatomic) int32_t mtu;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) id<LibboxStringIterator> _Nullable addresses;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroup : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) BOOL selectable;
|
||||||
|
@property (nonatomic) NSString* _Nonnull selected;
|
||||||
|
@property (nonatomic) BOOL isExpand;
|
||||||
|
- (id<LibboxOutboundGroupItemIterator> _Nullable)getItems;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItem : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) int64_t urlTestTime;
|
||||||
|
@property (nonatomic) int32_t urlTestDelay;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPProfServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(long)port;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContent : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@property (nonatomic) NSString* _Nonnull config;
|
||||||
|
@property (nonatomic) NSString* _Nonnull remotePath;
|
||||||
|
@property (nonatomic) BOOL autoUpdate;
|
||||||
|
@property (nonatomic) int32_t autoUpdateInterval;
|
||||||
|
@property (nonatomic) int64_t lastUpdated;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContentRequest : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileDecoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)decode:(NSData* _Nullable)data error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxProfilePreviewIterator> _Nullable)iterator;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileEncoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)append:(LibboxProfilePreview* _Nullable)profile;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreview : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefix : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (NSString* _Nonnull)address;
|
||||||
|
- (NSString* _Nonnull)mask;
|
||||||
|
- (int32_t)prefix;
|
||||||
|
- (NSString* _Nonnull)string;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStatusMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t memory;
|
||||||
|
@property (nonatomic) int32_t goroutines;
|
||||||
|
@property (nonatomic) int32_t connectionsIn;
|
||||||
|
@property (nonatomic) int32_t connectionsOut;
|
||||||
|
@property (nonatomic) BOOL trafficAvailable;
|
||||||
|
@property (nonatomic) int64_t uplink;
|
||||||
|
@property (nonatomic) int64_t downlink;
|
||||||
|
@property (nonatomic) int64_t uplinkTotal;
|
||||||
|
@property (nonatomic) int64_t downlinkTotal;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxSystemProxyStatus : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) BOOL available;
|
||||||
|
@property (nonatomic) BOOL enabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxWIFIState : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(NSString* _Nullable)wifiSSID wifiBSSID:(NSString* _Nullable)wifiBSSID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull ssid;
|
||||||
|
@property (nonatomic) NSString* _Nonnull bssid;
|
||||||
|
@end
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandCloseConnections;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGetSystemProxyStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroup;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroupExpand;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandLog;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSelectOutbound;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceClose;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceReload;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetSystemProxyEnabled;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandURLTest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeError;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContent;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContentRequest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileList;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeLocal;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeRemote;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeiCloud;
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxCheckConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxClearServiceError(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxErrorMessage* _Nullable LibboxDecodeErrorMessage(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxDecodeLengthChunk(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContent* _Nullable LibboxDecodeProfileContent(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContentRequest* _Nullable LibboxDecodeProfileContentRequest(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSData* _Nullable LibboxEncodeChunkedMessage(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatMemoryBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxGenerateRemoteProfileImportLink(NSString* _Nullable name, NSString* _Nullable remoteURL);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxGetTunnelFileDescriptor(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewCommandClient(id<LibboxCommandClientHandler> _Nullable handler, LibboxCommandClientOptions* _Nullable options);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandServer* _Nullable LibboxNewCommandServer(id<LibboxCommandServerHandler> _Nullable handler, int32_t maxLines);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT id<LibboxHTTPClient> _Nullable LibboxNewHTTPClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxPProfServer* _Nullable LibboxNewPProfServer(long port);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxBoxService* _Nullable LibboxNewService(NSString* _Nullable configContent, id<LibboxPlatformInterface> _Nullable platformInterface, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewStandaloneCommandClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxWIFIState* _Nullable LibboxNewWIFIState(NSString* _Nullable wifiSSID, NSString* _Nullable wifiBSSID);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxImportRemoteProfile* _Nullable LibboxParseRemoteProfileImportLink(NSString* _Nullable importLink, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxProxyDisplayType(NSString* _Nullable proxyType);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxReadServiceError(NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxRedirectStderr(NSString* _Nullable path, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxRegisterLocalDNSTransport(id<LibboxLocalDNSTransport> _Nullable transport);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetMemoryLimit(BOOL enabled);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetup(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, BOOL isTVOS);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxSetupWithUsername(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, NSString* _Nullable username, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxVersion(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxWriteServiceError(NSString* _Nullable message, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
|
||||||
|
@class LibboxFunc;
|
||||||
|
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@interface LibboxCommandClientHandler : NSObject <goSeqRefInterface, LibboxCommandClientHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServerHandler : NSObject <goSeqRefInterface, LibboxCommandServerHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxFunc : NSObject <goSeqRefInterface, LibboxFunc> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPClient : NSObject <goSeqRefInterface, LibboxHTTPClient> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPRequest : NSObject <goSeqRefInterface, LibboxHTTPRequest> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPResponse : NSObject <goSeqRefInterface, LibboxHTTPResponse> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxInterfaceUpdateListener : NSObject <goSeqRefInterface, LibboxInterfaceUpdateListener> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxLocalDNSTransport : NSObject <goSeqRefInterface, LibboxLocalDNSTransport> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterfaceIterator : NSObject <goSeqRefInterface, LibboxNetworkInterfaceIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRule : NSObject <goSeqRefInterface, LibboxOnDemandRule> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRuleIterator : NSObject <goSeqRefInterface, LibboxOnDemandRuleIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItemIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupItemIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPlatformInterface : NSObject <goSeqRefInterface, LibboxPlatformInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreviewIterator : NSObject <goSeqRefInterface, LibboxProfilePreviewIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefixIterator : NSObject <goSeqRefInterface, LibboxRoutePrefixIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStringIterator : NSObject <goSeqRefInterface, LibboxStringIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunInterface : NSObject <goSeqRefInterface, LibboxTunInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunOptions : NSObject <goSeqRefInterface, LibboxTunOptions> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
// Objective-C API for talking to Go package.
|
||||||
|
// gobind -lang=objc
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Universe_H__
|
||||||
|
#define __Universe_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
|
||||||
|
@protocol Universeerror;
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@protocol Universeerror <NSObject>
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2015 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef __GO_REF_HDR__
|
||||||
|
#define __GO_REF_HDR__
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
// GoSeqRef is an object tagged with an integer for passing back and
|
||||||
|
// forth across the language boundary. A GoSeqRef may represent either
|
||||||
|
// an instance of a Go object, or an Objective-C object passed to Go.
|
||||||
|
// The explicit allocation of a GoSeqRef is used to pin a Go object
|
||||||
|
// when it is passed to Objective-C. The Go seq package maintains a
|
||||||
|
// reference to the Go object in a map keyed by the refnum along with
|
||||||
|
// a reference count. When the reference count reaches zero, the Go
|
||||||
|
// seq package will clear the corresponding entry in the map.
|
||||||
|
@interface GoSeqRef : NSObject {
|
||||||
|
}
|
||||||
|
@property(readonly) int32_t refnum;
|
||||||
|
@property(strong) id obj; // NULL when representing a Go object.
|
||||||
|
|
||||||
|
// new GoSeqRef object to proxy a Go object. The refnum must be
|
||||||
|
// provided from Go side.
|
||||||
|
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
|
||||||
|
|
||||||
|
- (int32_t)incNum;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol goSeqRefInterface
|
||||||
|
-(GoSeqRef*) _ref;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Libbox {
|
||||||
|
header "ref.h"
|
||||||
|
header "Libbox.objc.h"
|
||||||
|
header "Universe.objc.h"
|
||||||
|
export *
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?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>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Headers
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Libbox
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Modules
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
// Objective-C API for talking to the following Go packages
|
||||||
|
//
|
||||||
|
// github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gomobile bind. Do not edit.
|
||||||
|
#ifndef __Libbox_FRAMEWORK_H__
|
||||||
|
#define __Libbox_FRAMEWORK_H__
|
||||||
|
|
||||||
|
#include "Libbox.objc.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
+811
@@ -0,0 +1,811 @@
|
|||||||
|
// Objective-C API for talking to github.com/sagernet/sing-box/experimental/libbox Go package.
|
||||||
|
// gobind -lang=objc github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Libbox_H__
|
||||||
|
#define __Libbox_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
|
||||||
|
@class LibboxBoxService;
|
||||||
|
@class LibboxCommandClient;
|
||||||
|
@class LibboxCommandClientOptions;
|
||||||
|
@class LibboxCommandServer;
|
||||||
|
@class LibboxErrorMessage;
|
||||||
|
@class LibboxExchangeContext;
|
||||||
|
@class LibboxImportRemoteProfile;
|
||||||
|
@class LibboxNetworkInterface;
|
||||||
|
@class LibboxOutboundGroup;
|
||||||
|
@class LibboxOutboundGroupItem;
|
||||||
|
@class LibboxPProfServer;
|
||||||
|
@class LibboxProfileContent;
|
||||||
|
@class LibboxProfileContentRequest;
|
||||||
|
@class LibboxProfileDecoder;
|
||||||
|
@class LibboxProfileEncoder;
|
||||||
|
@class LibboxProfilePreview;
|
||||||
|
@class LibboxRoutePrefix;
|
||||||
|
@class LibboxStatusMessage;
|
||||||
|
@class LibboxSystemProxyStatus;
|
||||||
|
@class LibboxWIFIState;
|
||||||
|
@protocol LibboxCommandClientHandler;
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
@protocol LibboxCommandServerHandler;
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
@protocol LibboxFunc;
|
||||||
|
@class LibboxFunc;
|
||||||
|
@protocol LibboxHTTPClient;
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
@protocol LibboxHTTPRequest;
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
@protocol LibboxHTTPResponse;
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
@protocol LibboxInterfaceUpdateListener;
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
@protocol LibboxLocalDNSTransport;
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
@protocol LibboxNetworkInterfaceIterator;
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
@protocol LibboxOnDemandRule;
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
@protocol LibboxOnDemandRuleIterator;
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
@protocol LibboxOutboundGroupItemIterator;
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
@protocol LibboxOutboundGroupIterator;
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
@protocol LibboxPlatformInterface;
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
@protocol LibboxProfilePreviewIterator;
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
@protocol LibboxRoutePrefixIterator;
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
@protocol LibboxStringIterator;
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
@protocol LibboxTunInterface;
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
@protocol LibboxTunOptions;
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@protocol LibboxCommandClientHandler <NSObject>
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxCommandServerHandler <NSObject>
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxFunc <NSObject>
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPClient <NSObject>
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPRequest <NSObject>
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPResponse <NSObject>
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxInterfaceUpdateListener <NSObject>
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxLocalDNSTransport <NSObject>
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxNetworkInterfaceIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRule <NSObject>
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRuleIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupItemIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxPlatformInterface <NSObject>
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxProfilePreviewIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxRoutePrefixIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxStringIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunInterface <NSObject>
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunOptions <NSObject>
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxBoxService : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)needWIFIState;
|
||||||
|
- (void)pause;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)wake;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClient : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandClientHandler> _Nullable)handler options:(LibboxCommandClientOptions* _Nullable)options;
|
||||||
|
- (BOOL)closeConnections:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)connect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)disconnect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)selectOutbound:(NSString* _Nullable)groupTag outboundTag:(NSString* _Nullable)outboundTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceClose:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setClashMode:(NSString* _Nullable)newMode error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setGroupExpand:(NSString* _Nullable)groupTag isExpand:(BOOL)isExpand error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)urlTest:(NSString* _Nullable)groupTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClientOptions : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t command;
|
||||||
|
@property (nonatomic) int64_t statusInterval;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandServerHandler> _Nullable)handler maxLines:(int32_t)maxLines;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)resetLog;
|
||||||
|
- (void)setService:(LibboxBoxService* _Nullable)newService;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)writeMessage:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxErrorMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull message;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxExchangeContext : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)errnoCode:(int32_t)code;
|
||||||
|
- (void)errorCode:(int32_t)code;
|
||||||
|
- (void)onCancel:(id<LibboxFunc> _Nullable)callback;
|
||||||
|
- (void)rawSuccess:(NSData* _Nullable)result;
|
||||||
|
- (void)success:(NSString* _Nullable)result;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxImportRemoteProfile : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) NSString* _Nonnull url;
|
||||||
|
@property (nonatomic) NSString* _Nonnull host;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterface : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t index;
|
||||||
|
@property (nonatomic) int32_t mtu;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) id<LibboxStringIterator> _Nullable addresses;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroup : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) BOOL selectable;
|
||||||
|
@property (nonatomic) NSString* _Nonnull selected;
|
||||||
|
@property (nonatomic) BOOL isExpand;
|
||||||
|
- (id<LibboxOutboundGroupItemIterator> _Nullable)getItems;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItem : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) int64_t urlTestTime;
|
||||||
|
@property (nonatomic) int32_t urlTestDelay;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPProfServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(long)port;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContent : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@property (nonatomic) NSString* _Nonnull config;
|
||||||
|
@property (nonatomic) NSString* _Nonnull remotePath;
|
||||||
|
@property (nonatomic) BOOL autoUpdate;
|
||||||
|
@property (nonatomic) int32_t autoUpdateInterval;
|
||||||
|
@property (nonatomic) int64_t lastUpdated;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContentRequest : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileDecoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)decode:(NSData* _Nullable)data error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxProfilePreviewIterator> _Nullable)iterator;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileEncoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)append:(LibboxProfilePreview* _Nullable)profile;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreview : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefix : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (NSString* _Nonnull)address;
|
||||||
|
- (NSString* _Nonnull)mask;
|
||||||
|
- (int32_t)prefix;
|
||||||
|
- (NSString* _Nonnull)string;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStatusMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t memory;
|
||||||
|
@property (nonatomic) int32_t goroutines;
|
||||||
|
@property (nonatomic) int32_t connectionsIn;
|
||||||
|
@property (nonatomic) int32_t connectionsOut;
|
||||||
|
@property (nonatomic) BOOL trafficAvailable;
|
||||||
|
@property (nonatomic) int64_t uplink;
|
||||||
|
@property (nonatomic) int64_t downlink;
|
||||||
|
@property (nonatomic) int64_t uplinkTotal;
|
||||||
|
@property (nonatomic) int64_t downlinkTotal;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxSystemProxyStatus : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) BOOL available;
|
||||||
|
@property (nonatomic) BOOL enabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxWIFIState : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(NSString* _Nullable)wifiSSID wifiBSSID:(NSString* _Nullable)wifiBSSID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull ssid;
|
||||||
|
@property (nonatomic) NSString* _Nonnull bssid;
|
||||||
|
@end
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandCloseConnections;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGetSystemProxyStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroup;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroupExpand;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandLog;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSelectOutbound;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceClose;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceReload;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetSystemProxyEnabled;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandURLTest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeError;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContent;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContentRequest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileList;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeLocal;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeRemote;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeiCloud;
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxCheckConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxClearServiceError(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxErrorMessage* _Nullable LibboxDecodeErrorMessage(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxDecodeLengthChunk(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContent* _Nullable LibboxDecodeProfileContent(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContentRequest* _Nullable LibboxDecodeProfileContentRequest(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSData* _Nullable LibboxEncodeChunkedMessage(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatMemoryBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxGenerateRemoteProfileImportLink(NSString* _Nullable name, NSString* _Nullable remoteURL);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxGetTunnelFileDescriptor(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewCommandClient(id<LibboxCommandClientHandler> _Nullable handler, LibboxCommandClientOptions* _Nullable options);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandServer* _Nullable LibboxNewCommandServer(id<LibboxCommandServerHandler> _Nullable handler, int32_t maxLines);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT id<LibboxHTTPClient> _Nullable LibboxNewHTTPClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxPProfServer* _Nullable LibboxNewPProfServer(long port);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxBoxService* _Nullable LibboxNewService(NSString* _Nullable configContent, id<LibboxPlatformInterface> _Nullable platformInterface, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewStandaloneCommandClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxWIFIState* _Nullable LibboxNewWIFIState(NSString* _Nullable wifiSSID, NSString* _Nullable wifiBSSID);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxImportRemoteProfile* _Nullable LibboxParseRemoteProfileImportLink(NSString* _Nullable importLink, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxProxyDisplayType(NSString* _Nullable proxyType);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxReadServiceError(NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxRedirectStderr(NSString* _Nullable path, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxRegisterLocalDNSTransport(id<LibboxLocalDNSTransport> _Nullable transport);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetMemoryLimit(BOOL enabled);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetup(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, BOOL isTVOS);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxSetupWithUsername(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, NSString* _Nullable username, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxVersion(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxWriteServiceError(NSString* _Nullable message, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
|
||||||
|
@class LibboxFunc;
|
||||||
|
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@interface LibboxCommandClientHandler : NSObject <goSeqRefInterface, LibboxCommandClientHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServerHandler : NSObject <goSeqRefInterface, LibboxCommandServerHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxFunc : NSObject <goSeqRefInterface, LibboxFunc> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPClient : NSObject <goSeqRefInterface, LibboxHTTPClient> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPRequest : NSObject <goSeqRefInterface, LibboxHTTPRequest> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPResponse : NSObject <goSeqRefInterface, LibboxHTTPResponse> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxInterfaceUpdateListener : NSObject <goSeqRefInterface, LibboxInterfaceUpdateListener> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxLocalDNSTransport : NSObject <goSeqRefInterface, LibboxLocalDNSTransport> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterfaceIterator : NSObject <goSeqRefInterface, LibboxNetworkInterfaceIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRule : NSObject <goSeqRefInterface, LibboxOnDemandRule> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRuleIterator : NSObject <goSeqRefInterface, LibboxOnDemandRuleIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItemIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupItemIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPlatformInterface : NSObject <goSeqRefInterface, LibboxPlatformInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreviewIterator : NSObject <goSeqRefInterface, LibboxProfilePreviewIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefixIterator : NSObject <goSeqRefInterface, LibboxRoutePrefixIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStringIterator : NSObject <goSeqRefInterface, LibboxStringIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunInterface : NSObject <goSeqRefInterface, LibboxTunInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunOptions : NSObject <goSeqRefInterface, LibboxTunOptions> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
// Objective-C API for talking to Go package.
|
||||||
|
// gobind -lang=objc
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Universe_H__
|
||||||
|
#define __Universe_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
|
||||||
|
@protocol Universeerror;
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@protocol Universeerror <NSObject>
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2015 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef __GO_REF_HDR__
|
||||||
|
#define __GO_REF_HDR__
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
// GoSeqRef is an object tagged with an integer for passing back and
|
||||||
|
// forth across the language boundary. A GoSeqRef may represent either
|
||||||
|
// an instance of a Go object, or an Objective-C object passed to Go.
|
||||||
|
// The explicit allocation of a GoSeqRef is used to pin a Go object
|
||||||
|
// when it is passed to Objective-C. The Go seq package maintains a
|
||||||
|
// reference to the Go object in a map keyed by the refnum along with
|
||||||
|
// a reference count. When the reference count reaches zero, the Go
|
||||||
|
// seq package will clear the corresponding entry in the map.
|
||||||
|
@interface GoSeqRef : NSObject {
|
||||||
|
}
|
||||||
|
@property(readonly) int32_t refnum;
|
||||||
|
@property(strong) id obj; // NULL when representing a Go object.
|
||||||
|
|
||||||
|
// new GoSeqRef object to proxy a Go object. The refnum must be
|
||||||
|
// provided from Go side.
|
||||||
|
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
|
||||||
|
|
||||||
|
- (int32_t)incNum;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol goSeqRefInterface
|
||||||
|
-(GoSeqRef*) _ref;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Libbox {
|
||||||
|
header "ref.h"
|
||||||
|
header "Libbox.objc.h"
|
||||||
|
header "Universe.objc.h"
|
||||||
|
export *
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?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>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Headers
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Libbox
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Modules
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
// Objective-C API for talking to the following Go packages
|
||||||
|
//
|
||||||
|
// github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gomobile bind. Do not edit.
|
||||||
|
#ifndef __Libbox_FRAMEWORK_H__
|
||||||
|
#define __Libbox_FRAMEWORK_H__
|
||||||
|
|
||||||
|
#include "Libbox.objc.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
+811
@@ -0,0 +1,811 @@
|
|||||||
|
// Objective-C API for talking to github.com/sagernet/sing-box/experimental/libbox Go package.
|
||||||
|
// gobind -lang=objc github.com/sagernet/sing-box/experimental/libbox
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Libbox_H__
|
||||||
|
#define __Libbox_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
#include "Universe.objc.h"
|
||||||
|
|
||||||
|
|
||||||
|
@class LibboxBoxService;
|
||||||
|
@class LibboxCommandClient;
|
||||||
|
@class LibboxCommandClientOptions;
|
||||||
|
@class LibboxCommandServer;
|
||||||
|
@class LibboxErrorMessage;
|
||||||
|
@class LibboxExchangeContext;
|
||||||
|
@class LibboxImportRemoteProfile;
|
||||||
|
@class LibboxNetworkInterface;
|
||||||
|
@class LibboxOutboundGroup;
|
||||||
|
@class LibboxOutboundGroupItem;
|
||||||
|
@class LibboxPProfServer;
|
||||||
|
@class LibboxProfileContent;
|
||||||
|
@class LibboxProfileContentRequest;
|
||||||
|
@class LibboxProfileDecoder;
|
||||||
|
@class LibboxProfileEncoder;
|
||||||
|
@class LibboxProfilePreview;
|
||||||
|
@class LibboxRoutePrefix;
|
||||||
|
@class LibboxStatusMessage;
|
||||||
|
@class LibboxSystemProxyStatus;
|
||||||
|
@class LibboxWIFIState;
|
||||||
|
@protocol LibboxCommandClientHandler;
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
@protocol LibboxCommandServerHandler;
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
@protocol LibboxFunc;
|
||||||
|
@class LibboxFunc;
|
||||||
|
@protocol LibboxHTTPClient;
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
@protocol LibboxHTTPRequest;
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
@protocol LibboxHTTPResponse;
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
@protocol LibboxInterfaceUpdateListener;
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
@protocol LibboxLocalDNSTransport;
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
@protocol LibboxNetworkInterfaceIterator;
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
@protocol LibboxOnDemandRule;
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
@protocol LibboxOnDemandRuleIterator;
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
@protocol LibboxOutboundGroupItemIterator;
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
@protocol LibboxOutboundGroupIterator;
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
@protocol LibboxPlatformInterface;
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
@protocol LibboxProfilePreviewIterator;
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
@protocol LibboxRoutePrefixIterator;
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
@protocol LibboxStringIterator;
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
@protocol LibboxTunInterface;
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
@protocol LibboxTunOptions;
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@protocol LibboxCommandClientHandler <NSObject>
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxCommandServerHandler <NSObject>
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxFunc <NSObject>
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPClient <NSObject>
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPRequest <NSObject>
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxHTTPResponse <NSObject>
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxInterfaceUpdateListener <NSObject>
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxLocalDNSTransport <NSObject>
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxNetworkInterfaceIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRule <NSObject>
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOnDemandRuleIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupItemIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxOutboundGroupIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxPlatformInterface <NSObject>
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxProfilePreviewIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxRoutePrefixIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxStringIterator <NSObject>
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunInterface <NSObject>
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol LibboxTunOptions <NSObject>
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxBoxService : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)needWIFIState;
|
||||||
|
- (void)pause;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)wake;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClient : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandClientHandler> _Nullable)handler options:(LibboxCommandClientOptions* _Nullable)options;
|
||||||
|
- (BOOL)closeConnections:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)connect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)disconnect:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)selectOutbound:(NSString* _Nullable)groupTag outboundTag:(NSString* _Nullable)outboundTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceClose:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setClashMode:(NSString* _Nullable)newMode error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setGroupExpand:(NSString* _Nullable)groupTag isExpand:(BOOL)isExpand error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)urlTest:(NSString* _Nullable)groupTag error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandClientOptions : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t command;
|
||||||
|
@property (nonatomic) int64_t statusInterval;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(id<LibboxCommandServerHandler> _Nullable)handler maxLines:(int32_t)maxLines;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)resetLog;
|
||||||
|
- (void)setService:(LibboxBoxService* _Nullable)newService;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)writeMessage:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxErrorMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull message;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxExchangeContext : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)errnoCode:(int32_t)code;
|
||||||
|
- (void)errorCode:(int32_t)code;
|
||||||
|
- (void)onCancel:(id<LibboxFunc> _Nullable)callback;
|
||||||
|
- (void)rawSuccess:(NSData* _Nullable)result;
|
||||||
|
- (void)success:(NSString* _Nullable)result;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxImportRemoteProfile : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) NSString* _Nonnull url;
|
||||||
|
@property (nonatomic) NSString* _Nonnull host;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterface : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int32_t index;
|
||||||
|
@property (nonatomic) int32_t mtu;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) id<LibboxStringIterator> _Nullable addresses;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroup : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) BOOL selectable;
|
||||||
|
@property (nonatomic) NSString* _Nonnull selected;
|
||||||
|
@property (nonatomic) BOOL isExpand;
|
||||||
|
- (id<LibboxOutboundGroupItemIterator> _Nullable)getItems;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItem : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull tag;
|
||||||
|
@property (nonatomic) NSString* _Nonnull type;
|
||||||
|
@property (nonatomic) int64_t urlTestTime;
|
||||||
|
@property (nonatomic) int32_t urlTestDelay;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPProfServer : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(long)port;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)start:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContent : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@property (nonatomic) NSString* _Nonnull config;
|
||||||
|
@property (nonatomic) NSString* _Nonnull remotePath;
|
||||||
|
@property (nonatomic) BOOL autoUpdate;
|
||||||
|
@property (nonatomic) int32_t autoUpdateInterval;
|
||||||
|
@property (nonatomic) int64_t lastUpdated;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileContentRequest : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileDecoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (BOOL)decode:(NSData* _Nullable)data error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxProfilePreviewIterator> _Nullable)iterator;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfileEncoder : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (void)append:(LibboxProfilePreview* _Nullable)profile;
|
||||||
|
- (NSData* _Nullable)encode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreview : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t profileID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull name;
|
||||||
|
@property (nonatomic) int32_t type;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefix : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
- (NSString* _Nonnull)address;
|
||||||
|
- (NSString* _Nonnull)mask;
|
||||||
|
- (int32_t)prefix;
|
||||||
|
- (NSString* _Nonnull)string;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStatusMessage : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) int64_t memory;
|
||||||
|
@property (nonatomic) int32_t goroutines;
|
||||||
|
@property (nonatomic) int32_t connectionsIn;
|
||||||
|
@property (nonatomic) int32_t connectionsOut;
|
||||||
|
@property (nonatomic) BOOL trafficAvailable;
|
||||||
|
@property (nonatomic) int64_t uplink;
|
||||||
|
@property (nonatomic) int64_t downlink;
|
||||||
|
@property (nonatomic) int64_t uplinkTotal;
|
||||||
|
@property (nonatomic) int64_t downlinkTotal;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxSystemProxyStatus : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nonnull instancetype)init;
|
||||||
|
@property (nonatomic) BOOL available;
|
||||||
|
@property (nonatomic) BOOL enabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxWIFIState : NSObject <goSeqRefInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (nullable instancetype)init:(NSString* _Nullable)wifiSSID wifiBSSID:(NSString* _Nullable)wifiBSSID;
|
||||||
|
@property (nonatomic) NSString* _Nonnull ssid;
|
||||||
|
@property (nonatomic) NSString* _Nonnull bssid;
|
||||||
|
@end
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandCloseConnections;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGetSystemProxyStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroup;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandGroupExpand;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandLog;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSelectOutbound;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceClose;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandServiceReload;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetClashMode;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandSetSystemProxyEnabled;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandStatus;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxCommandURLTest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeError;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContent;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileContentRequest;
|
||||||
|
FOUNDATION_EXPORT const int64_t LibboxMessageTypeProfileList;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeLocal;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeRemote;
|
||||||
|
FOUNDATION_EXPORT const int32_t LibboxProfileTypeiCloud;
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxCheckConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxClearServiceError(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxErrorMessage* _Nullable LibboxDecodeErrorMessage(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxDecodeLengthChunk(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContent* _Nullable LibboxDecodeProfileContent(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxProfileContentRequest* _Nullable LibboxDecodeProfileContentRequest(NSData* _Nullable data, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSData* _Nullable LibboxEncodeChunkedMessage(NSData* _Nullable data);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatConfig(NSString* _Nullable configContent, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxFormatMemoryBytes(int64_t length);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxGenerateRemoteProfileImportLink(NSString* _Nullable name, NSString* _Nullable remoteURL);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT int32_t LibboxGetTunnelFileDescriptor(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewCommandClient(id<LibboxCommandClientHandler> _Nullable handler, LibboxCommandClientOptions* _Nullable options);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandServer* _Nullable LibboxNewCommandServer(id<LibboxCommandServerHandler> _Nullable handler, int32_t maxLines);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT id<LibboxHTTPClient> _Nullable LibboxNewHTTPClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxPProfServer* _Nullable LibboxNewPProfServer(long port);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxBoxService* _Nullable LibboxNewService(NSString* _Nullable configContent, id<LibboxPlatformInterface> _Nullable platformInterface, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxCommandClient* _Nullable LibboxNewStandaloneCommandClient(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxWIFIState* _Nullable LibboxNewWIFIState(NSString* _Nullable wifiSSID, NSString* _Nullable wifiBSSID);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT LibboxImportRemoteProfile* _Nullable LibboxParseRemoteProfileImportLink(NSString* _Nullable importLink, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxProxyDisplayType(NSString* _Nullable proxyType);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxReadServiceError(NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxRedirectStderr(NSString* _Nullable path, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxRegisterLocalDNSTransport(id<LibboxLocalDNSTransport> _Nullable transport);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetMemoryLimit(BOOL enabled);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void LibboxSetup(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, BOOL isTVOS);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxSetupWithUsername(NSString* _Nullable basePath, NSString* _Nullable workingPath, NSString* _Nullable tempPath, NSString* _Nullable username, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT NSString* _Nonnull LibboxVersion(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT BOOL LibboxWriteServiceError(NSString* _Nullable message, NSError* _Nullable* _Nullable error);
|
||||||
|
|
||||||
|
@class LibboxCommandClientHandler;
|
||||||
|
|
||||||
|
@class LibboxCommandServerHandler;
|
||||||
|
|
||||||
|
@class LibboxFunc;
|
||||||
|
|
||||||
|
@class LibboxHTTPClient;
|
||||||
|
|
||||||
|
@class LibboxHTTPRequest;
|
||||||
|
|
||||||
|
@class LibboxHTTPResponse;
|
||||||
|
|
||||||
|
@class LibboxInterfaceUpdateListener;
|
||||||
|
|
||||||
|
@class LibboxLocalDNSTransport;
|
||||||
|
|
||||||
|
@class LibboxNetworkInterfaceIterator;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRule;
|
||||||
|
|
||||||
|
@class LibboxOnDemandRuleIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupItemIterator;
|
||||||
|
|
||||||
|
@class LibboxOutboundGroupIterator;
|
||||||
|
|
||||||
|
@class LibboxPlatformInterface;
|
||||||
|
|
||||||
|
@class LibboxProfilePreviewIterator;
|
||||||
|
|
||||||
|
@class LibboxRoutePrefixIterator;
|
||||||
|
|
||||||
|
@class LibboxStringIterator;
|
||||||
|
|
||||||
|
@class LibboxTunInterface;
|
||||||
|
|
||||||
|
@class LibboxTunOptions;
|
||||||
|
|
||||||
|
@interface LibboxCommandClientHandler : NSObject <goSeqRefInterface, LibboxCommandClientHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)clearLog;
|
||||||
|
- (void)connected;
|
||||||
|
- (void)disconnected:(NSString* _Nullable)message;
|
||||||
|
- (void)initializeClashMode:(id<LibboxStringIterator> _Nullable)modeList currentMode:(NSString* _Nullable)currentMode;
|
||||||
|
- (void)updateClashMode:(NSString* _Nullable)newMode;
|
||||||
|
- (void)writeGroups:(id<LibboxOutboundGroupIterator> _Nullable)message;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
- (void)writeStatus:(LibboxStatusMessage* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxCommandServerHandler : NSObject <goSeqRefInterface, LibboxCommandServerHandler> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (LibboxSystemProxyStatus* _Nullable)getSystemProxyStatus;
|
||||||
|
- (void)postServiceClose;
|
||||||
|
- (BOOL)serviceReload:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)setSystemProxyEnabled:(BOOL)isEnabled error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxFunc : NSObject <goSeqRefInterface, LibboxFunc> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)invoke:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPClient : NSObject <goSeqRefInterface, LibboxHTTPClient> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)close;
|
||||||
|
- (void)keepAlive;
|
||||||
|
- (void)modernTLS;
|
||||||
|
- (id<LibboxHTTPRequest> _Nullable)newRequest;
|
||||||
|
- (void)pinnedSHA256:(NSString* _Nullable)sumHex;
|
||||||
|
- (void)pinnedTLS12;
|
||||||
|
- (void)restrictedTLS;
|
||||||
|
- (void)trySocks5:(int32_t)port;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPRequest : NSObject <goSeqRefInterface, LibboxHTTPRequest> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxHTTPResponse> _Nullable)execute:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)randomUserAgent;
|
||||||
|
- (void)setContent:(NSData* _Nullable)content;
|
||||||
|
- (void)setContentString:(NSString* _Nullable)content;
|
||||||
|
- (void)setHeader:(NSString* _Nullable)key value:(NSString* _Nullable)value;
|
||||||
|
- (void)setMethod:(NSString* _Nullable)method;
|
||||||
|
- (BOOL)setURL:(NSString* _Nullable)link error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)setUserAgent:(NSString* _Nullable)userAgent;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxHTTPResponse : NSObject <goSeqRefInterface, LibboxHTTPResponse> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSData* _Nullable)getContent:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)getContentString:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)writeTo:(NSString* _Nullable)path error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxInterfaceUpdateListener : NSObject <goSeqRefInterface, LibboxInterfaceUpdateListener> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)updateDefaultInterface:(NSString* _Nullable)interfaceName interfaceIndex:(int32_t)interfaceIndex;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxLocalDNSTransport : NSObject <goSeqRefInterface, LibboxLocalDNSTransport> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)exchange:(LibboxExchangeContext* _Nullable)ctx message:(NSData* _Nullable)message error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)lookup:(LibboxExchangeContext* _Nullable)ctx network:(NSString* _Nullable)network domain:(NSString* _Nullable)domain error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)raw;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxNetworkInterfaceIterator : NSObject <goSeqRefInterface, LibboxNetworkInterfaceIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxNetworkInterface* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRule : NSObject <goSeqRefInterface, LibboxOnDemandRule> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsSearchDomainMatch;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)dnsServerAddressMatch;
|
||||||
|
- (int32_t)interfaceTypeMatch;
|
||||||
|
- (NSString* _Nonnull)probeURL;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)ssidMatch;
|
||||||
|
- (int32_t)target;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOnDemandRuleIterator : NSObject <goSeqRefInterface, LibboxOnDemandRuleIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (id<LibboxOnDemandRule> _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupItemIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupItemIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroupItem* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxOutboundGroupIterator : NSObject <goSeqRefInterface, LibboxOutboundGroupIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxOutboundGroup* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxPlatformInterface : NSObject <goSeqRefInterface, LibboxPlatformInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)autoDetectInterfaceControl:(int32_t)fd error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (void)clearDNSCache;
|
||||||
|
- (BOOL)closeDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)findConnectionOwner:(int32_t)ipProtocol sourceAddress:(NSString* _Nullable)sourceAddress sourcePort:(int32_t)sourcePort destinationAddress:(NSString* _Nullable)destinationAddress destinationPort:(int32_t)destinationPort ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxNetworkInterfaceIterator> _Nullable)getInterfaces:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)includeAllNetworks;
|
||||||
|
- (BOOL)openTun:(id<LibboxTunOptions> _Nullable)options ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (NSString* _Nonnull)packageNameByUid:(int32_t)uid error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (LibboxWIFIState* _Nullable)readWIFIState;
|
||||||
|
- (BOOL)startDefaultInterfaceMonitor:(id<LibboxInterfaceUpdateListener> _Nullable)listener error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)uidByPackageName:(NSString* _Nullable)packageName ret0_:(int32_t* _Nullable)ret0_ error:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (BOOL)underNetworkExtension;
|
||||||
|
- (BOOL)usePlatformAutoDetectInterfaceControl;
|
||||||
|
- (BOOL)usePlatformDefaultInterfaceMonitor;
|
||||||
|
- (BOOL)usePlatformInterfaceGetter;
|
||||||
|
- (BOOL)useProcFS;
|
||||||
|
- (void)writeLog:(NSString* _Nullable)message;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxProfilePreviewIterator : NSObject <goSeqRefInterface, LibboxProfilePreviewIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxProfilePreview* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxRoutePrefixIterator : NSObject <goSeqRefInterface, LibboxRoutePrefixIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (LibboxRoutePrefix* _Nullable)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxStringIterator : NSObject <goSeqRefInterface, LibboxStringIterator> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)hasNext;
|
||||||
|
- (NSString* _Nonnull)next;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunInterface : NSObject <goSeqRefInterface, LibboxTunInterface> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)close:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (int32_t)fileDescriptor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LibboxTunOptions : NSObject <goSeqRefInterface, LibboxTunOptions> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (BOOL)getAutoRoute;
|
||||||
|
- (NSString* _Nonnull)getDNSServerAddress:(NSError* _Nullable* _Nullable)error;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getExcludePackage;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyBypassDomain;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getHTTPProxyMatchDomain;
|
||||||
|
- (NSString* _Nonnull)getHTTPProxyServer;
|
||||||
|
- (int32_t)getHTTPProxyServerPort;
|
||||||
|
- (id<LibboxStringIterator> _Nullable)getIncludePackage;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet4RouteRange;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6Address;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteExcludeAddress;
|
||||||
|
- (id<LibboxRoutePrefixIterator> _Nullable)getInet6RouteRange;
|
||||||
|
- (int32_t)getMTU;
|
||||||
|
- (BOOL)getStrictRoute;
|
||||||
|
- (BOOL)isHTTPProxyEnabled;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
// Objective-C API for talking to Go package.
|
||||||
|
// gobind -lang=objc
|
||||||
|
//
|
||||||
|
// File is generated by gobind. Do not edit.
|
||||||
|
|
||||||
|
#ifndef __Universe_H__
|
||||||
|
#define __Universe_H__
|
||||||
|
|
||||||
|
@import Foundation;
|
||||||
|
#include "ref.h"
|
||||||
|
|
||||||
|
@protocol Universeerror;
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@protocol Universeerror <NSObject>
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@class Universeerror;
|
||||||
|
|
||||||
|
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
|
||||||
|
}
|
||||||
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (NSString* _Nonnull)error;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2015 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef __GO_REF_HDR__
|
||||||
|
#define __GO_REF_HDR__
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
// GoSeqRef is an object tagged with an integer for passing back and
|
||||||
|
// forth across the language boundary. A GoSeqRef may represent either
|
||||||
|
// an instance of a Go object, or an Objective-C object passed to Go.
|
||||||
|
// The explicit allocation of a GoSeqRef is used to pin a Go object
|
||||||
|
// when it is passed to Objective-C. The Go seq package maintains a
|
||||||
|
// reference to the Go object in a map keyed by the refnum along with
|
||||||
|
// a reference count. When the reference count reaches zero, the Go
|
||||||
|
// seq package will clear the corresponding entry in the map.
|
||||||
|
@interface GoSeqRef : NSObject {
|
||||||
|
}
|
||||||
|
@property(readonly) int32_t refnum;
|
||||||
|
@property(strong) id obj; // NULL when representing a Go object.
|
||||||
|
|
||||||
|
// new GoSeqRef object to proxy a Go object. The refnum must be
|
||||||
|
// provided from Go side.
|
||||||
|
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
|
||||||
|
|
||||||
|
- (int32_t)incNum;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol goSeqRefInterface
|
||||||
|
-(GoSeqRef*) _ref;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Libbox {
|
||||||
|
header "ref.h"
|
||||||
|
header "Libbox.objc.h"
|
||||||
|
header "Universe.objc.h"
|
||||||
|
export *
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?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>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// swift-tools-version: 5.7
|
||||||
|
import PackageDescription
|
||||||
|
|
||||||
|
let package = Package(
|
||||||
|
name: "LibboxLocal",
|
||||||
|
platforms: [.iOS(.v15), .macOS(.v13), .tvOS(.v17)],
|
||||||
|
products: [
|
||||||
|
.library(name: "Libbox", targets: ["Libbox"]),
|
||||||
|
],
|
||||||
|
targets: [
|
||||||
|
.binaryTarget(
|
||||||
|
name: "Libbox",
|
||||||
|
path: "Libbox.xcframework"
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -175,8 +175,6 @@
|
|||||||
C0DDD6782CB907F300AE1C0A /* 5a519db7.json in Resources */ = {isa = PBXBuildFile; fileRef = C0DDD6762CB907F300AE1C0A /* 5a519db7.json */; };
|
C0DDD6782CB907F300AE1C0A /* 5a519db7.json in Resources */ = {isa = PBXBuildFile; fileRef = C0DDD6762CB907F300AE1C0A /* 5a519db7.json */; };
|
||||||
C0DDD67B2CB908B200AE1C0A /* 12c853b3.json in Resources */ = {isa = PBXBuildFile; fileRef = C0DDD67A2CB908B200AE1C0A /* 12c853b3.json */; };
|
C0DDD67B2CB908B200AE1C0A /* 12c853b3.json in Resources */ = {isa = PBXBuildFile; fileRef = C0DDD67A2CB908B200AE1C0A /* 12c853b3.json */; };
|
||||||
C0DDD6922CB9110900AE1C0A /* View+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DDD6882CB9110900AE1C0A /* View+Extensions.swift */; };
|
C0DDD6922CB9110900AE1C0A /* View+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DDD6882CB9110900AE1C0A /* View+Extensions.swift */; };
|
||||||
C0E540152CA17EBF0054BC97 /* Libbox.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0E540142CA17EBF0054BC97 /* Libbox.xcframework */; };
|
|
||||||
C0E540162CA17EBF0054BC98 /* Libbox.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0E540142CA17EBF0054BC97 /* Libbox.xcframework */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@@ -469,7 +467,6 @@
|
|||||||
C0DDD6762CB907F300AE1C0A /* 5a519db7.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 5a519db7.json; sourceTree = "<group>"; };
|
C0DDD6762CB907F300AE1C0A /* 5a519db7.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 5a519db7.json; sourceTree = "<group>"; };
|
||||||
C0DDD67A2CB908B200AE1C0A /* 12c853b3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 12c853b3.json; sourceTree = "<group>"; };
|
C0DDD67A2CB908B200AE1C0A /* 12c853b3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 12c853b3.json; sourceTree = "<group>"; };
|
||||||
C0DDD6882CB9110900AE1C0A /* View+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "View+Extensions.swift"; sourceTree = "<group>"; };
|
C0DDD6882CB9110900AE1C0A /* View+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "View+Extensions.swift"; sourceTree = "<group>"; };
|
||||||
C0E540142CA17EBF0054BC97 /* Libbox.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Libbox.xcframework; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -505,7 +502,6 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
3A9759202A4EB69C00E4404B /* Library.framework in Frameworks */,
|
3A9759202A4EB69C00E4404B /* Library.framework in Frameworks */,
|
||||||
C0E540152CA17EBF0054BC97 /* Libbox.xcframework in Frameworks */,
|
|
||||||
3A4EAD372A4FEC20005435B3 /* ApplicationLibrary.framework in Frameworks */,
|
3A4EAD372A4FEC20005435B3 /* ApplicationLibrary.framework in Frameworks */,
|
||||||
044AE9732CC9D33B00F5813E /* Crisp in Frameworks */,
|
044AE9732CC9D33B00F5813E /* Crisp in Frameworks */,
|
||||||
C01BFABD2E80052E00D8ACA6 /* Vision.framework in Frameworks */,
|
C01BFABD2E80052E00D8ACA6 /* Vision.framework in Frameworks */,
|
||||||
@@ -517,7 +513,6 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
C0E540162CA17EC10054BC98 /* Libbox.xcframework in Frameworks */,
|
|
||||||
0451E1D62CC3AE2800E9A49F /* GRDB in Frameworks */,
|
0451E1D62CC3AE2800E9A49F /* GRDB in Frameworks */,
|
||||||
3A7E90382A46778E00D53052 /* BinaryCodable in Frameworks */,
|
3A7E90382A46778E00D53052 /* BinaryCodable in Frameworks */,
|
||||||
3AF3A3D22B2207F3001FD7C1 /* libresolv.tbd in Frameworks */,
|
3AF3A3D22B2207F3001FD7C1 /* libresolv.tbd in Frameworks */,
|
||||||
@@ -702,7 +697,6 @@
|
|||||||
3AEC20BC2A45991900A63465 = {
|
3AEC20BC2A45991900A63465 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
C0E540142CA17EBF0054BC97 /* Libbox.xcframework */,
|
|
||||||
3AEC20F42A459AB400A63465 /* XiaoXiong */,
|
3AEC20F42A459AB400A63465 /* XiaoXiong */,
|
||||||
3AEC211E2A459B4700A63465 /* Library */,
|
3AEC211E2A459B4700A63465 /* Library */,
|
||||||
3A4EAD112A4FEAE6005435B3 /* ApplicationLibrary */,
|
3A4EAD112A4FEAE6005435B3 /* ApplicationLibrary */,
|
||||||
@@ -1089,6 +1083,7 @@
|
|||||||
packageProductDependencies = (
|
packageProductDependencies = (
|
||||||
3A7E90372A46778E00D53052 /* BinaryCodable */,
|
3A7E90372A46778E00D53052 /* BinaryCodable */,
|
||||||
0451E1D52CC3AE2800E9A49F /* GRDB */,
|
0451E1D52CC3AE2800E9A49F /* GRDB */,
|
||||||
|
C0E540312CA27EC10054BCA2 /* Libbox */,
|
||||||
);
|
);
|
||||||
productName = Library;
|
productName = Library;
|
||||||
productReference = 3AEC211D2A459B4700A63465 /* Library.framework */;
|
productReference = 3AEC211D2A459B4700A63465 /* Library.framework */;
|
||||||
@@ -1187,6 +1182,7 @@
|
|||||||
C0DDD6422CB7E0F000AE1C0A /* XCRemoteSwiftPackageReference "lottie-ios" */,
|
C0DDD6422CB7E0F000AE1C0A /* XCRemoteSwiftPackageReference "lottie-ios" */,
|
||||||
0451E1D42CC3ADDF00E9A49F /* XCLocalSwiftPackageReference "GRDB.swift-6.29.3" */,
|
0451E1D42CC3ADDF00E9A49F /* XCLocalSwiftPackageReference "GRDB.swift-6.29.3" */,
|
||||||
044AE9712CC9D33B00F5813E /* XCLocalSwiftPackageReference "crisp-sdk-ios" */,
|
044AE9712CC9D33B00F5813E /* XCLocalSwiftPackageReference "crisp-sdk-ios" */,
|
||||||
|
C0E540302CA27EC10054BCA1 /* XCLocalSwiftPackageReference "LibboxLocal" */,
|
||||||
);
|
);
|
||||||
productRefGroup = 3AEC20C72A45991900A63465 /* Products */;
|
productRefGroup = 3AEC20C72A45991900A63465 /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
@@ -2335,6 +2331,13 @@
|
|||||||
};
|
};
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
|
||||||
|
/* Begin XCLocalSwiftPackageReference section */
|
||||||
|
C0E540302CA27EC10054BCA1 /* XCLocalSwiftPackageReference "LibboxLocal" */ = {
|
||||||
|
isa = XCLocalSwiftPackageReference;
|
||||||
|
relativePath = LibboxLocal;
|
||||||
|
};
|
||||||
|
/* End XCLocalSwiftPackageReference section */
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
044AE9722CC9D33B00F5813E /* Crisp */ = {
|
044AE9722CC9D33B00F5813E /* Crisp */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
@@ -2360,6 +2363,11 @@
|
|||||||
package = C0DDD6422CB7E0F000AE1C0A /* XCRemoteSwiftPackageReference "lottie-ios" */;
|
package = C0DDD6422CB7E0F000AE1C0A /* XCRemoteSwiftPackageReference "lottie-ios" */;
|
||||||
productName = Lottie;
|
productName = Lottie;
|
||||||
};
|
};
|
||||||
|
C0E540312CA27EC10054BCA2 /* Libbox */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
package = C0E540302CA27EC10054BCA1 /* XCLocalSwiftPackageReference "LibboxLocal" */;
|
||||||
|
productName = Libbox;
|
||||||
|
};
|
||||||
/* End XCSwiftPackageProductDependency section */
|
/* End XCSwiftPackageProductDependency section */
|
||||||
};
|
};
|
||||||
rootObject = 3AEC20BD2A45991900A63465 /* Project object */;
|
rootObject = 3AEC20BD2A45991900A63465 /* Project object */;
|
||||||
|
|||||||
Reference in New Issue
Block a user