-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6eecd78
commit e96ca2c
Showing
15 changed files
with
279 additions
and
7 deletions.
There are no files selected for viewing
75 changes: 75 additions & 0 deletions
75
...PsiphonTunnel.xcframework/ios-arm64/PsiphonTunnel.framework/Headers/DefaultRouteMonitor.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* | ||
* Copyright (c) 2021, Psiphon Inc. | ||
* All rights reserved. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
*/ | ||
|
||
#import <Foundation/Foundation.h> | ||
#import <Network/path.h> | ||
#import "ReachabilityProtocol.h" | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/// NetworkPathState represents the state of the network path on the device. | ||
@interface NetworkPathState : NSObject | ||
|
||
/// Reachability status. | ||
@property (nonatomic, readonly) NetworkReachability status; | ||
|
||
/// Network path state. | ||
@property (nonatomic, nullable, readonly) nw_path_t path; | ||
|
||
/// Default active interface available to the network path. | ||
@property (nonatomic, nullable, readonly) NSString* defaultActiveInterfaceName; | ||
|
||
@end | ||
|
||
/// ReachabilityChangedNotification represents the reachability state on the device. | ||
@interface ReachabilityChangedNotification : NSObject | ||
|
||
/// Current reachability status. | ||
@property (nonatomic, readonly) NetworkReachability reachabilityStatus; | ||
|
||
/// Name of current default active interface. If nil, then there is no such interface. | ||
@property (nonatomic, nullable, readonly) NSString* curDefaultActiveInterfaceName; | ||
|
||
/// Name of previous default active interface. If nil, then there was no default active interface previously or the previous default active | ||
/// interface was not capable of sending or receiving network data at the time. | ||
@property (nonatomic, nullable, readonly) NSString* prevDefaultActiveInterfaceName; | ||
|
||
@end | ||
|
||
/// DefaultRouteMonitor monitors changes to the default route on the device and whether that route is capable of sending and | ||
/// receiving network data. | ||
@interface DefaultRouteMonitor : NSObject <ReachabilityProtocol> | ||
|
||
/// Returns the state of the default route on the device. If nil, then there is no usable route available for sending or receiving network data. | ||
@property (atomic, readonly) NetworkPathState *pathState; | ||
|
||
- (instancetype)init API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
|
||
- (id)initWithLogger:(void (^__nonnull)(NSString *_Nonnull))logger API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
|
||
// Denote ReachabilityProtocol availability. | ||
- (BOOL)startNotifier API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
- (void)stopNotifier API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
+ (NSString*)reachabilityChangedNotification; | ||
- (NetworkReachability)reachabilityStatus API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
- (NSString*)reachabilityStatusDebugInfo API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 59 additions & 0 deletions
59
...siphonTunnel.xcframework/ios-arm64/PsiphonTunnel.framework/Headers/ReachabilityProtocol.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* | ||
* Copyright (c) 2021, Psiphon Inc. | ||
* All rights reserved. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
*/ | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
typedef enum : NSInteger { | ||
NetworkReachabilityNotReachable = 0, | ||
NetworkReachabilityReachableViaWiFi, | ||
NetworkReachabilityReachableViaCellular, | ||
NetworkReachabilityReachableViaWired, | ||
NetworkReachabilityReachableViaLoopback, | ||
NetworkReachabilityReachableViaUnknown | ||
} NetworkReachability; | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/// ReachabilityProtocol is a protocol for monitoring the reachability of a target network destination. For example, a protocol | ||
/// implementation could provide reachability information for the default gateway over a specific network interface. | ||
/// @note The purpose of ReachabilityProtocol is to bridge the gap between Apple's old Reachability APIs and the new | ||
/// NWPathMonitor (iOS 12.0+) with a common interface that allows each to be used interchangeably. Using a common interface | ||
/// simplifies supporting older clients which cannot target NWPathMonitor until the minimum iOS target is 12.0+, at which point the | ||
/// code targeting the legacy Reachability APIs can be removed. | ||
@protocol ReachabilityProtocol <NSObject> | ||
|
||
/// Name of reachability notifications emitted from the default notification center. See comment for `startNotifier`. | ||
+ (NSString*)reachabilityChangedNotification; | ||
|
||
/// Start listening for reachability changes. A notification with the name returned by `reachabilityChangedNotification` will be emitted | ||
/// from the default notification center until `stopNotifier` is called. | ||
- (BOOL)startNotifier; | ||
|
||
/// Stop listening for reachability changes. | ||
- (void)stopNotifier; | ||
|
||
/// Return current reachability status. | ||
- (NetworkReachability)reachabilityStatus; | ||
|
||
/// Return debug string which represents the current network state for logging. | ||
- (NSString*)reachabilityStatusDebugInfo; | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
Binary file modified
BIN
+1 Byte
(100%)
Frameworks/PsiphonTunnel.xcframework/ios-arm64/PsiphonTunnel.framework/Info.plist
Binary file not shown.
Binary file modified
BIN
+136 KB
(100%)
Frameworks/PsiphonTunnel.xcframework/ios-arm64/PsiphonTunnel.framework/PsiphonTunnel
Binary file not shown.
2 changes: 1 addition & 1 deletion
2
Frameworks/PsiphonTunnel.xcframework/ios-arm64/PsiphonTunnel.framework/build-git-commit.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
c9dc67dc376dcbc80ae109fea9561242974939c9 | ||
f3d12292ed176c7170165a440d7b9b79f6a71e22 |
Binary file modified
BIN
+57.6 KB
(100%)
...ework/ios-arm64/dSYMs/PsiphonTunnel.framework.dSYM/Contents/Resources/DWARF/PsiphonTunnel
Binary file not shown.
75 changes: 75 additions & 0 deletions
75
...el.xcframework/ios-x86_64-simulator/PsiphonTunnel.framework/Headers/DefaultRouteMonitor.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* | ||
* Copyright (c) 2021, Psiphon Inc. | ||
* All rights reserved. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
*/ | ||
|
||
#import <Foundation/Foundation.h> | ||
#import <Network/path.h> | ||
#import "ReachabilityProtocol.h" | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/// NetworkPathState represents the state of the network path on the device. | ||
@interface NetworkPathState : NSObject | ||
|
||
/// Reachability status. | ||
@property (nonatomic, readonly) NetworkReachability status; | ||
|
||
/// Network path state. | ||
@property (nonatomic, nullable, readonly) nw_path_t path; | ||
|
||
/// Default active interface available to the network path. | ||
@property (nonatomic, nullable, readonly) NSString* defaultActiveInterfaceName; | ||
|
||
@end | ||
|
||
/// ReachabilityChangedNotification represents the reachability state on the device. | ||
@interface ReachabilityChangedNotification : NSObject | ||
|
||
/// Current reachability status. | ||
@property (nonatomic, readonly) NetworkReachability reachabilityStatus; | ||
|
||
/// Name of current default active interface. If nil, then there is no such interface. | ||
@property (nonatomic, nullable, readonly) NSString* curDefaultActiveInterfaceName; | ||
|
||
/// Name of previous default active interface. If nil, then there was no default active interface previously or the previous default active | ||
/// interface was not capable of sending or receiving network data at the time. | ||
@property (nonatomic, nullable, readonly) NSString* prevDefaultActiveInterfaceName; | ||
|
||
@end | ||
|
||
/// DefaultRouteMonitor monitors changes to the default route on the device and whether that route is capable of sending and | ||
/// receiving network data. | ||
@interface DefaultRouteMonitor : NSObject <ReachabilityProtocol> | ||
|
||
/// Returns the state of the default route on the device. If nil, then there is no usable route available for sending or receiving network data. | ||
@property (atomic, readonly) NetworkPathState *pathState; | ||
|
||
- (instancetype)init API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
|
||
- (id)initWithLogger:(void (^__nonnull)(NSString *_Nonnull))logger API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
|
||
// Denote ReachabilityProtocol availability. | ||
- (BOOL)startNotifier API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
- (void)stopNotifier API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
+ (NSString*)reachabilityChangedNotification; | ||
- (NetworkReachability)reachabilityStatus API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
- (NSString*)reachabilityStatusDebugInfo API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)); | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 59 additions & 0 deletions
59
...l.xcframework/ios-x86_64-simulator/PsiphonTunnel.framework/Headers/ReachabilityProtocol.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* | ||
* Copyright (c) 2021, Psiphon Inc. | ||
* All rights reserved. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
*/ | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
typedef enum : NSInteger { | ||
NetworkReachabilityNotReachable = 0, | ||
NetworkReachabilityReachableViaWiFi, | ||
NetworkReachabilityReachableViaCellular, | ||
NetworkReachabilityReachableViaWired, | ||
NetworkReachabilityReachableViaLoopback, | ||
NetworkReachabilityReachableViaUnknown | ||
} NetworkReachability; | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/// ReachabilityProtocol is a protocol for monitoring the reachability of a target network destination. For example, a protocol | ||
/// implementation could provide reachability information for the default gateway over a specific network interface. | ||
/// @note The purpose of ReachabilityProtocol is to bridge the gap between Apple's old Reachability APIs and the new | ||
/// NWPathMonitor (iOS 12.0+) with a common interface that allows each to be used interchangeably. Using a common interface | ||
/// simplifies supporting older clients which cannot target NWPathMonitor until the minimum iOS target is 12.0+, at which point the | ||
/// code targeting the legacy Reachability APIs can be removed. | ||
@protocol ReachabilityProtocol <NSObject> | ||
|
||
/// Name of reachability notifications emitted from the default notification center. See comment for `startNotifier`. | ||
+ (NSString*)reachabilityChangedNotification; | ||
|
||
/// Start listening for reachability changes. A notification with the name returned by `reachabilityChangedNotification` will be emitted | ||
/// from the default notification center until `stopNotifier` is called. | ||
- (BOOL)startNotifier; | ||
|
||
/// Stop listening for reachability changes. | ||
- (void)stopNotifier; | ||
|
||
/// Return current reachability status. | ||
- (NetworkReachability)reachabilityStatus; | ||
|
||
/// Return debug string which represents the current network state for logging. | ||
- (NSString*)reachabilityStatusDebugInfo; | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
Binary file modified
BIN
+1 Byte
(100%)
Frameworks/PsiphonTunnel.xcframework/ios-x86_64-simulator/PsiphonTunnel.framework/Info.plist
Binary file not shown.
Binary file modified
BIN
+698 KB
(110%)
...orks/PsiphonTunnel.xcframework/ios-x86_64-simulator/PsiphonTunnel.framework/PsiphonTunnel
Binary file not shown.
2 changes: 1 addition & 1 deletion
2
...iphonTunnel.xcframework/ios-x86_64-simulator/PsiphonTunnel.framework/build-git-commit.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
c9dc67dc376dcbc80ae109fea9561242974939c9 | ||
f3d12292ed176c7170165a440d7b9b79f6a71e22 |
Binary file modified
BIN
-15.6 KB
(99%)
...86_64-simulator/dSYMs/PsiphonTunnel.framework.dSYM/Contents/Resources/DWARF/PsiphonTunnel
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
Pod::Spec.new do |s| | ||
s.name = 'PsiphonTunnel' | ||
s.version = '2.0.23' | ||
s.version = '2.0.24' | ||
s.summary = 'Psiphon tunnel iOS library' | ||
s.homepage = 'https://psiphon3.com' | ||
s.author = { 'Psiphon Inc' => '[email protected]' } | ||
|