
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
react-native-simple-openvpn
Advanced tools
Supply Chain Security
Vulnerability
Quality
Maintenance
License
English | įŽäŊ䏿
A simple react native module to interact with OpenVPN
If this project has helped you out, please support us with a star đ
RNSimpleOpenvpn | React Native |
---|---|
1.0.0 ~ 1.2.0 | 0.56 ~ 0.66 |
2.0.0 ~ 2.1.1 | 0.63 ~ 0.71 |
2.1.2 | 0.72 |
>= 2.1.3 | >= 0.73 |
See CHANGELOG for details
# npm
npm install --save react-native-simple-openvpn
# or use yarn
yarn add react-native-simple-openvpn
From react-native 0.60 autolinking will take care of the link step
react-native link react-native-simple-openvpn
Add the following to android/settings.gradle
:
rootProject.name = 'example'
+ include ':vpnLib'
+ project(':vpnLib').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-simple-openvpn/vpnLib')
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
If your React Native version is 0.74 or higher, add the following to android/app/build.gradle
:
android {
// ...
+ packaging {
+ jniLibs {
+ useLegacyPackaging = true
+ }
+ }
}
Due to file size limitations, jniLibs are too big to be published on npm. Use the assets on GitHub Releases instead
Download and unzip the resources you need for the corresponding architecture, and put them in android/app/src/main/jniLibs
(create a new jniLibs
folder if you don't have one)
project
âââ android
â âââ app
â â âââ src
â â âââ main
â â âââ jniLibs
â â âââ arm64-v8a
â â âââ armeabi-v7a
â â âââ x86
â â âââ x86_64
â âââ ...
âââ ios
âââ ...
If using CocoaPods, run it in the ios/
directory
pod install
See iOS Guide for iOS side Network Extension configuration and OpenVPN integration
Add the following to your project's AppDelegate.m
:
+ #import "RNSimpleOpenvpn.h"
@implementation AppDelegate
// ...
+ - (void)applicationWillTerminate:(UIApplication *)application
+ {
+ [RNSimpleOpenvpn dispose];
+ }
@end
Please make sure the Header Search Paths of Build Settings contain the following paths:
$(SRCROOT)/../node_modules/react-native-simple-openvpn/ios
Or, if using CocoaPods, the following paths should be automatically included there:
"${PODS_ROOT}/Headers/Public/react-native-simple-openvpn"
import React, { useEffect } from 'react';
import { Platform } from 'react-native';
import RNSimpleOpenvpn, { addVpnStateListener, removeVpnStateListener } from 'react-native-simple-openvpn';
const isIPhone = Platform.OS === 'ios';
const App = () => {
useEffect(() => {
async function observeVpn() {
if (isIPhone) {
await RNSimpleOpenvpn.observeState();
}
addVpnStateListener((e) => {
// ...
});
}
observeVpn();
return async () => {
if (isIPhone) {
await RNSimpleOpenvpn.stopObserveState();
}
removeVpnStateListener();
};
});
async function startOvpn() {
try {
await RNSimpleOpenvpn.connect({
remoteAddress: '192.168.1.1 3000',
ovpnFileName: 'client',
assetsPath: 'ovpn/',
providerBundleIdentifier: 'com.example.RNSimpleOvpnTest.NEOpenVPN',
localizedDescription: 'RNSimpleOvpn',
});
} catch (error) {
// ...
}
}
async function stopOvpn() {
try {
await RNSimpleOpenvpn.disconnect();
} catch (error) {
// ...
}
}
function printVpnState() {
console.log(JSON.stringify(RNSimpleOpenvpn.VpnState, undefined, 2));
}
// ...
};
export default App;
For more, read the API Reference
The following items were used in this project
Thanks to all the people who contribute
GPLv2 Š Nor Cod
FAQs
React Native Open VPN Module
The npm package react-native-simple-openvpn receives a total of 34 weekly downloads. As such, react-native-simple-openvpn popularity was classified as not popular.
We found that react-native-simple-openvpn demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.