1.1.1 • Published 4 years ago

react-native-ip-sec-vpn v1.1.1

Weekly downloads
11
License
MIT
Repository
github
Last release
4 years ago

react-native-ip-sec-vpn

Getting started

Plugin can be installed using npm With yarn: $ yarn add react-native-ip-sec-vpn --save Or with npm: $ npm install react-native-ip-sec-vpn --save

Mostly automatic installation

on react native >60 no need to do anything but for manualing installation run the code below

$ react-native link react-native-ip-sec-vpn

Example

To run example:

  • make sure the module folder has no node_modules
  • install the dependencies on the example folder using yarn or npm i
  • run the project:
npx react-native run-android

Usage

import {prepare, connect} from "react-native-ip-sec-vpn";
...
useEffect(() => {
	prepare();
}); /// or use componentDidmount in case of a class component
...
connect(address, username, password)

see example folder.

Methods

NameargumentsreturnsDescription
prepareNonePromiseAndroid: This will ask permission and do necessary setupsIOS: This will listen for status change on vpn
connectaddress: string (address of VPN)username: string (username of VPN's credentials)password: string (username of VPN's credentials)vpnType: string | undefined (Android only, not implemented yet)mtu: number | undefiend (Android only, VPN's maximum transmission unit)PromiseConnect to vpn with provided credentials
getCurrentStateNonePromiseGet current VPN state
getCharonErrorState (Android only)NonePromiseGet current VPN Error state (Android only)
disconnectNonePromiseDisconnect the VPN
onStateChangedListenercallback: (state: { state: VpnState; charonState: CharonErrorState }) => voidEmitterSubscriptionWill call the callback on state change
removeOnStateChangeListenerstateChangedEvent: EmitterSubscriptionvoidRemove the state change listener

Enums

NameValuesDescription
VpnStatedisconnected = 0 (VPN is disconnected)connecting = 1 (VPN is connecting)connected = 2 (VPN is connected)disconnecting = 3 (VPN is disconnecting)genericError = 4 (VPN encountered an error charon state on android to find out the error)VPN current state
CharonErrorStateNO_ERROR = 0 (VPN has no error)AUTH_FAILED = 1 (Wrong credentials)PEER_AUTH_FAILED = 2LOOKUP_FAILED = 3 (Wrong VPN URL)UNREACHABLE = 4 (VPN URL is unreachable)GENERIC_ERROR = 5PASSWORD_MISSING = 6 (No password has been provided)CERTIFICATE_UNAVAILABLE = 7 (Certification has not been provided)UNDEFINED = 8 (Unknown error)VPN Error