Offline password generator with a local vault. Ships as a static web app and can be packaged into a fully offline Android APK using Capacitor.
- 100% offline: all assets are bundled locally; no network required
- Local vault stored in the WebView (IndexedDB)
- Simple static build — works in any modern browser or as an Android app
www/— web app source served by Capacitor (containsindex.html, scripts, icons)android/— native Android wrapper project generated by Capacitor- Root files (
index.html,alienpass.js, etc.) may mirrorwww/for hosting;webDiris set towwwfor packaging
- Node.js 18+ and npm
- Java JDK 17 (or 11)
- Android SDK + build-tools (via Android Studio or
sdkmanager) - Android SDK path configured via either:
ANDROID_SDK_ROOTenvironment variable, orandroid/local.propertiesfile with:sdk.dir=/absolute/path/to/Android/Sdk
npm installBecause this is a static app, you can:
- Open
www/index.htmldirectly in a browser, or - Serve the
www/folder with any static server
Tip: When packaging with Capacitor you usually modify files in www/, then copy to native.
Add Android (already done in this repo, but for reference):
npx cap add androidCopy web assets to the native project whenever you change files in www/:
npx cap copy androidBuild APK via Android Studio (GUI):
npx cap open androidThen choose Build > Build APK(s).
Build APK via CLI/Gradle:
cd android
./gradlew assembleDebugThe debug APK will be in android/app/build/outputs/apk/debug/.
- App id and name are in
capacitor.config.json webDiriswww— ensure it containsindex.html- Native service workers are disabled in WebViews — not needed since assets are local
Issues and PRs are welcome. Please keep the app offline-first and avoid adding CDN dependencies.
This project is licensed under the MIT License. See LICENSE for details.