HTML source file is encrypted at build, and decrypted at run.
https://www.npmjs.com/package/cordova-plugin-crypto-file
cordova plugin add cordova-plugin-crypto-file
This plugin was created to solve the issue of using cordova-plugin-ionic-webview with cordova-crypt-file, refer to #75
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.
- 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.
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:
<preference name="cryptoPort" value="8080" />
cordova build [ios / android]
cordova emulate [ios / android]
or
cordova run [ios / android]
- .html
- .htm
- .js
- .css
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.
- iOS
- Android
- CrossWalk
https://github.com/tkyaji/cordova-plugin-crypt-file
Apache version 2.0