cordova-plugin-crypto-file
v1.4.0
Published
This plugin to encrypt/decrypt the source files.
Downloads
130
Maintainers
Readme
Cordova crypto file plugin
HTML source file is encrypted at build, and decrypted at run.
https://www.npmjs.com/package/cordova-plugin-crypto-file
Add Plugin
cordova plugin add cordova-plugin-crypto-file
Purpose
This plugin was created to solve the issue of using cordova-plugin-ionic-webview with cordova-crypt-file, refer to #75
Important
The file IonicWebViewEngine.java
(that is inside the ionic webview plugin) needs to be modified for this plugin to work and for the source code to be encrypted.
Steps:
- After adding the cordova-plugin-ionic-webview, navigate to the following location:
For cordova-android@6 :
platforms/android/src/com/ionicframework/cordova/webview/IonicWebViewEngine.java
For cordova-android@7 :
platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebViewEngine.java
- Remove the following code:
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
super.shouldInterceptRequest(view,request);
return localServer.shouldInterceptRequest(request.getUrl());
}
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
return localServer.shouldInterceptRequest(Uri.parse(url));
}
- Add this instead:
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
return super.shouldInterceptRequest(view, request);
}
Then the plugin will work.
Configuration
You can also change the port in the config.xml
, but it needs to be the same port as the one used in the "cordova-plugin-ionic-webview".
To change the port, do the following:
cryptoPort
<preference name="cryptoPort" value="8080" />
Encrypt
cordova build [ios / android]
Decrypt
cordova emulate [ios / android]
orcordova run [ios / android]
Encryption subjects.
Default
- .html
- .htm
- .js
- .css
Edit subjects
You can specify the encryption subjects by editing plugin.xml
.
plugins/cordova-plugin-crypt-file/plugin.xml
<cryptfiles>
<include>
<file regex="\.(htm|html|js|css)$" />
</include>
<exclude>
<file regex="exclude_file\.js$" />
</exclude>
</cryptfiles>
Specify the target file as a regular expression.
Supported platforms
- iOS
- Android
- CrossWalk
Based on the original cordova-crypt-file created by tkyaji
https://github.com/tkyaji/cordova-plugin-crypt-file
License
Apache version 2.0