react-native-security-suite 0.9.18 → 0.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,6 +6,11 @@
6
6
 
7
7
  **Comprehensive security solutions for React Native applications** - Protect your mobile apps with advanced security features including root/jailbreak detection, SSL certificate pinning, encryption, secure storage, screenshot protection, and network monitoring.
8
8
 
9
+ <div style="display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 20px;">
10
+ <img src="https://raw.githubusercontent.com/mohamadnavabi/react-native-security-suite/master/pulse.gif" alt="iOS Pulse Network Monitor" width="200" />
11
+ <img src="https://raw.githubusercontent.com/mohamadnavabi/react-native-security-suite/master/chucker.gif" alt="Android Chucker Network Monitor" width="200" />
12
+ </div>
13
+
9
14
  ## 🚀 Features
10
15
 
11
16
  ### Security Detection & Protection
@@ -41,13 +46,13 @@
41
46
  ### Using Yarn
42
47
 
43
48
  ```bash
44
- yarn add react-native-security-suite @react-native-async-storage/async-storage
49
+ yarn add react-native-security-suite
45
50
  ```
46
51
 
47
52
  ### Using NPM
48
53
 
49
54
  ```bash
50
- npm install react-native-security-suite @react-native-async-storage/async-storage
55
+ npm install react-native-security-suite
51
56
  ```
52
57
 
53
58
  ### iOS Setup
@@ -355,9 +360,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
355
360
 
356
361
  ---
357
362
 
358
- <div style="display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 20px;">
359
- <img src="https://raw.githubusercontent.com/mohamadnavabi/react-native-security-suite/master/pulse.gif" alt="iOS Pulse Network Monitor" width="200" />
360
- <img src="https://raw.githubusercontent.com/mohamadnavabi/react-native-security-suite/master/chucker.gif" alt="Android Chucker Network Monitor" width="200" />
361
- </div>
362
-
363
363
  **Made with ❤️ for the React Native community**
@@ -21,7 +21,7 @@ import java.util.Map;
21
21
 
22
22
  public class SecureViewManager extends ViewGroupManager<SecureView> {
23
23
 
24
- public static final String REACT_CLASS = "RNSSecureView";
24
+ public static final String REACT_CLASS = "SecureView";
25
25
  public final int COMMAND_CREATE = 1;
26
26
  private int propWidth = ViewGroup.LayoutParams.MATCH_PARENT;
27
27
  private int propHeight = ViewGroup.LayoutParams.MATCH_PARENT;
@@ -73,7 +73,7 @@ public class SecureViewManager extends ViewGroupManager<SecureView> {
73
73
  public void createFragment(FrameLayout root, int reactNativeViewId) {
74
74
  ViewGroup parentView = (ViewGroup) root.findViewById(reactNativeViewId);
75
75
  if (parentView == null) {
76
- Log.e("RNSSecureViewManager", "Parent view not found");
76
+ Log.e("SecureViewManager", "Parent view not found");
77
77
  return;
78
78
  }
79
79
  setupLayout(parentView);
@@ -81,13 +81,13 @@ public class SecureViewManager extends ViewGroupManager<SecureView> {
81
81
  final SecureViewFragment secureViewFragment = new SecureViewFragment(reactContext);
82
82
  FragmentActivity activity = (FragmentActivity) reactContext.getCurrentActivity();
83
83
  if (activity == null) {
84
- Log.e("RNSSecureViewManager", "Activity is null");
84
+ Log.e("SecureViewManager", "Activity is null");
85
85
  return;
86
86
  }
87
87
  activity.getSupportFragmentManager()
88
- .beginTransaction()
89
- .replace(reactNativeViewId, secureViewFragment, String.valueOf(reactNativeViewId))
90
- .commit();
88
+ .beginTransaction()
89
+ .replace(reactNativeViewId, secureViewFragment, String.valueOf(reactNativeViewId))
90
+ .commit();
91
91
  }
92
92
 
93
93
  @ReactPropGroup(names = { "width", "height" }, customType = "Style")
@@ -1,4 +1,4 @@
1
1
  #import <React/RCTViewManager.h>
2
2
 
3
- @interface RNSSecureViewManager : RCTViewManager
3
+ @interface SecureViewManager : RCTViewManager
4
4
  @end
@@ -1,6 +1,6 @@
1
1
  #import <React/RCTViewManager.h>
2
2
 
3
- @interface RCT_EXTERN_MODULE(RNSSecureViewManager, RCTViewManager)
3
+ @interface RCT_EXTERN_MODULE(SecureViewManager, RCTViewManager)
4
4
 
5
5
  RCT_EXPORT_VIEW_PROPERTY(backgroundColor, NSString)
6
6
  RCT_EXPORT_VIEW_PROPERTY(style, NSDictionary)
@@ -1,8 +1,8 @@
1
1
  import Foundation
2
2
  import React
3
3
 
4
- @objc(RNSSecureViewManager)
5
- class RNSSecureViewManager: RCTViewManager {
4
+ @objc(SecureViewManager)
5
+ class SecureViewManager: RCTViewManager {
6
6
 
7
7
  override func view() -> UIView! {
8
8
  return SecureView()
@@ -5,7 +5,6 @@ import Security
5
5
  import CommonCrypto
6
6
  import IOSSecuritySuite
7
7
 
8
- @available(iOS 14.0, *)
9
8
  @objc(SecuritySuite)
10
9
  class SecuritySuite: NSObject {
11
10
  var privateKey: String!,
@@ -7,10 +7,10 @@ exports.SecureView = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
- const NativeComponent = (0, _reactNative.requireNativeComponent)('RNSSecureView');
10
+ const NativeComponent = (0, _reactNative.requireNativeComponent)('SecureView');
11
11
  const createFragment = viewId => {
12
12
  if (!_reactNative.UIManager.getViewManagerConfig) return;
13
- const viewManagerConfig = _reactNative.UIManager.getViewManagerConfig('RNSSecureView');
13
+ const viewManagerConfig = _reactNative.UIManager.getViewManagerConfig('SecureView');
14
14
  if (viewManagerConfig.Commands.create) {
15
15
  _reactNative.UIManager.dispatchViewManagerCommand(viewId, viewManagerConfig.Commands.create, [viewId]);
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_jsxRuntime","NativeComponent","requireNativeComponent","createFragment","viewId","UIManager","getViewManagerConfig","viewManagerConfig","Commands","create","dispatchViewManagerCommand","SecureView","props","ref","useRef","useEffect","findNodeHandle","current","Platform","OS","jsx","exports"],"sourceRoot":"../../src","sources":["SecureView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKsB,IAAAE,WAAA,GAAAF,OAAA;AAEtB,MAAMG,eAAe,GAAG,IAAAC,mCAAsB,EAAC,eAAe,CAAC;AAE/D,MAAMC,cAAc,GAAIC,MAAqB,IAAK;EAChD,IAAI,CAACC,sBAAS,CAACC,oBAAoB,EAAE;EAErC,MAAMC,iBAAiB,GAAGF,sBAAS,CAACC,oBAAoB,CAAC,eAAe,CAAC;EAEzE,IAAIC,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EAAE;IACrCJ,sBAAS,CAACK,0BAA0B,CAClCN,MAAM,EACNG,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EACjC,CAACL,MAAM,CACT,CAAC;EACH;AACF,CAAC;AAEM,MAAMO,UAAU,GAAIC,KAAU,IAAK;EACxC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAExB,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMX,MAAM,GAAG,IAAAY,2BAAc,EAACH,GAAG,CAACI,OAAO,CAAC;IAC1C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAEhB,cAAc,CAACC,MAAM,CAAC;EACvD,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAO,IAAAJ,WAAA,CAAAoB,GAAA,EAACnB,eAAe;IAAA,GAAKW,KAAK;IAAEC,GAAG,EAAEA;EAAI,CAAE,CAAC;AACjD,CAAC;AAACQ,OAAA,CAAAV,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_jsxRuntime","NativeComponent","requireNativeComponent","createFragment","viewId","UIManager","getViewManagerConfig","viewManagerConfig","Commands","create","dispatchViewManagerCommand","SecureView","props","ref","useRef","useEffect","findNodeHandle","current","Platform","OS","jsx","exports"],"sourceRoot":"../../src","sources":["SecureView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKsB,IAAAE,WAAA,GAAAF,OAAA;AAEtB,MAAMG,eAAe,GAAG,IAAAC,mCAAsB,EAAC,YAAY,CAAC;AAE5D,MAAMC,cAAc,GAAIC,MAAqB,IAAK;EAChD,IAAI,CAACC,sBAAS,CAACC,oBAAoB,EAAE;EAErC,MAAMC,iBAAiB,GAAGF,sBAAS,CAACC,oBAAoB,CAAC,YAAY,CAAC;EAEtE,IAAIC,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EAAE;IACrCJ,sBAAS,CAACK,0BAA0B,CAClCN,MAAM,EACNG,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EACjC,CAACL,MAAM,CACT,CAAC;EACH;AACF,CAAC;AAEM,MAAMO,UAAU,GAAIC,KAAU,IAAK;EACxC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAExB,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMX,MAAM,GAAG,IAAAY,2BAAc,EAACH,GAAG,CAACI,OAAO,CAAC;IAC1C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAEhB,cAAc,CAACC,MAAM,CAAC;EACvD,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAO,IAAAJ,WAAA,CAAAoB,GAAA,EAACnB,eAAe;IAAA,GAAKW,KAAK;IAAEC,GAAG,EAAEA;EAAI,CAAE,CAAC;AACjD,CAAC;AAACQ,OAAA,CAAAV,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -3,10 +3,10 @@
3
3
  import { useEffect, useRef } from 'react';
4
4
  import { Platform, UIManager, findNodeHandle, requireNativeComponent } from 'react-native';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
- const NativeComponent = requireNativeComponent('RNSSecureView');
6
+ const NativeComponent = requireNativeComponent('SecureView');
7
7
  const createFragment = viewId => {
8
8
  if (!UIManager.getViewManagerConfig) return;
9
- const viewManagerConfig = UIManager.getViewManagerConfig('RNSSecureView');
9
+ const viewManagerConfig = UIManager.getViewManagerConfig('SecureView');
10
10
  if (viewManagerConfig.Commands.create) {
11
11
  UIManager.dispatchViewManagerCommand(viewId, viewManagerConfig.Commands.create, [viewId]);
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","Platform","UIManager","findNodeHandle","requireNativeComponent","jsx","_jsx","NativeComponent","createFragment","viewId","getViewManagerConfig","viewManagerConfig","Commands","create","dispatchViewManagerCommand","SecureView","props","ref","current","OS"],"sourceRoot":"../../src","sources":["SecureView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SACEC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,sBAAsB,QACjB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtB,MAAMC,eAAe,GAAGH,sBAAsB,CAAC,eAAe,CAAC;AAE/D,MAAMI,cAAc,GAAIC,MAAqB,IAAK;EAChD,IAAI,CAACP,SAAS,CAACQ,oBAAoB,EAAE;EAErC,MAAMC,iBAAiB,GAAGT,SAAS,CAACQ,oBAAoB,CAAC,eAAe,CAAC;EAEzE,IAAIC,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EAAE;IACrCX,SAAS,CAACY,0BAA0B,CAClCL,MAAM,EACNE,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EACjC,CAACJ,MAAM,CACT,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMM,UAAU,GAAIC,KAAU,IAAK;EACxC,MAAMC,GAAG,GAAGjB,MAAM,CAAC,IAAI,CAAC;EAExBD,SAAS,CAAC,MAAM;IACd,MAAMU,MAAM,GAAGN,cAAc,CAACc,GAAG,CAACC,OAAO,CAAC;IAC1C,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,SAAS,EAAEX,cAAc,CAACC,MAAM,CAAC;EACvD,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAOH,IAAA,CAACC,eAAe;IAAA,GAAKS,KAAK;IAAEC,GAAG,EAAEA;EAAI,CAAE,CAAC;AACjD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","Platform","UIManager","findNodeHandle","requireNativeComponent","jsx","_jsx","NativeComponent","createFragment","viewId","getViewManagerConfig","viewManagerConfig","Commands","create","dispatchViewManagerCommand","SecureView","props","ref","current","OS"],"sourceRoot":"../../src","sources":["SecureView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SACEC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,sBAAsB,QACjB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtB,MAAMC,eAAe,GAAGH,sBAAsB,CAAC,YAAY,CAAC;AAE5D,MAAMI,cAAc,GAAIC,MAAqB,IAAK;EAChD,IAAI,CAACP,SAAS,CAACQ,oBAAoB,EAAE;EAErC,MAAMC,iBAAiB,GAAGT,SAAS,CAACQ,oBAAoB,CAAC,YAAY,CAAC;EAEtE,IAAIC,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EAAE;IACrCX,SAAS,CAACY,0BAA0B,CAClCL,MAAM,EACNE,iBAAiB,CAACC,QAAQ,CAACC,MAAM,EACjC,CAACJ,MAAM,CACT,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMM,UAAU,GAAIC,KAAU,IAAK;EACxC,MAAMC,GAAG,GAAGjB,MAAM,CAAC,IAAI,CAAC;EAExBD,SAAS,CAAC,MAAM;IACd,MAAMU,MAAM,GAAGN,cAAc,CAACc,GAAG,CAACC,OAAO,CAAC;IAC1C,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,SAAS,EAAEX,cAAc,CAACC,MAAM,CAAC;EACvD,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAOH,IAAA,CAACC,eAAe;IAAA,GAAKS,KAAK;IAAEC,GAAG,EAAEA;EAAI,CAAE,CAAC;AACjD,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-security-suite",
3
- "version": "0.9.18",
3
+ "version": "0.9.21",
4
4
  "description": "Comprehensive security suite for React Native apps - Root/Jailbreak detection, SSL pinning, encryption, secure storage, screenshot protection, and network monitoring",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -106,15 +106,9 @@
106
106
  "@types/react": "^18.2.44"
107
107
  },
108
108
  "peerDependencies": {
109
- "@react-native-async-storage/async-storage": "*",
110
109
  "react": "*",
111
110
  "react-native": "*"
112
111
  },
113
- "peerDependenciesMeta": {
114
- "@react-native-async-storage/async-storage": {
115
- "optional": false
116
- }
117
- },
118
112
  "workspaces": [
119
113
  "example"
120
114
  ],
@@ -6,12 +6,12 @@ import {
6
6
  requireNativeComponent,
7
7
  } from 'react-native';
8
8
 
9
- const NativeComponent = requireNativeComponent('RNSSecureView');
9
+ const NativeComponent = requireNativeComponent('SecureView');
10
10
 
11
11
  const createFragment = (viewId: number | null) => {
12
12
  if (!UIManager.getViewManagerConfig) return;
13
13
 
14
- const viewManagerConfig = UIManager.getViewManagerConfig('RNSSecureView');
14
+ const viewManagerConfig = UIManager.getViewManagerConfig('SecureView');
15
15
 
16
16
  if (viewManagerConfig.Commands.create) {
17
17
  UIManager.dispatchViewManagerCommand(