Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.62 KB | None | 0 0
  1. // Initialize Manager
  2. NETunnelProviderManager *manager = [[NETunnelProviderManager alloc] init];
  3.  
  4. [manager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
  5. if (error) {
  6. NSLog(@"Load Error: %@", error.description);
  7. } else {
  8.  
  9. // Create the protocol object
  10. NETunnelProviderProtocol *protocol = [[NETunnelProviderProtocol alloc] init]; // Create the protocol object
  11.  
  12. // Configure the protocol object
  13. protocol.providerBundleIdentifier = @"com.nfisc.testvpn.ptp"; // Bundle ID of tunnel provider
  14. protocol.providerConfiguration = @{}; // Currently blank, but will be used later
  15. protocol.serverAddress = @"0.0.0.0"; // Ommited for security reasons
  16. protocol.username = @"username"; // The username for the configuration
  17. protocol.identityDataPassword = @"password"; // The password for the configuration
  18. protocol.disconnectOnSleep = NO;
  19.  
  20. // Configure the manager with the protocol
  21. manager.protocolConfiguration = protocol;
  22. manager.enabled = true;
  23.  
  24. [manager saveToPreferencesWithCompletionHandler:^(NSError *error) {
  25. if (error) {
  26. NSLog(@"Save Error: %@", error.description);
  27. } else {
  28. if ([[manager connection] status] != NEVPNStatusConnected) {
  29. NSLog(@"Starting VPN");
  30. [self start:manager];
  31. } else {
  32. NSLog(@"VPN Already Connected");
  33. [_statusLabel setText:@"Connected"];
  34. [_statusLabel setTextColor:[UIColor greenColor]];
  35. }
  36.  
  37. }
  38. }];
  39. }
  40. }];
  41.  
  42. [NETunnelProviderManager loadAllFromPreferencesWithCompletionHandler:^(NSArray<NETunnelProviderManager *> * _Nullable managers, NSError * _Nullable error) {
  43. if (error) {
  44. NSLog(@"Load Error: %@", error.description);
  45. }
  46.  
  47. NETunnelProviderManager *manager;
  48. if (managers.count > 0) {
  49. manager = managers[0];
  50. }else {
  51. manager = [[NETunnelProviderManager alloc] init];
  52. manager.protocolConfiguration = [[NETunnelProviderProtocol alloc] init];
  53. }
  54.  
  55. //... your code here...
  56. }];
  57.  
  58. __block NETunnelProviderManager *manager = [[NETunnelProviderManager alloc] init];
  59.  
  60. NETunnelProviderProtocol *protocol = [[NETunnelProviderProtocol alloc] init];
  61. protocol.providerBundleIdentifier = @"com.nfisc.testvpn.ptp"; // bundle ID of tunnel provider
  62. protocol.providerConfiguration = @{@"key": @"value"};
  63. protocol.serverAddress = @"0.0.0.0"; // VPN server address
  64. protocol.username = @"username";
  65. protocol.identityDataPassword = @"password";
  66. manager.protocolConfiguration = protocol;
  67. manager.enabled = true;
  68.  
  69. [NETunnelProviderManager loadAllFromPreferencesWithCompletionHandler:^(NSArray<NETunnelProviderManager *> * _Nullable managers, NSError * _Nullable error) {
  70. if ([managers count] > 0) {
  71. manager = [managers objectAtIndex:0];
  72. [self start:manager];
  73. } else {
  74. [manager saveToPreferencesWithCompletionHandler:^(NSError *error) {
  75. if (error) {
  76. NSLog(@"Error 1: %@", error.description);
  77. } else {
  78. [manager loadFromPreferencesWithCompletionHandler:^(NSError * _Nullable error) {
  79. if (error) {
  80. NSLog(@"Error 2: %@", error.description);
  81. } else {
  82. [self start:manager];
  83. }
  84. }];
  85. }
  86. }];
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement