Giter VIP home page Giter VIP logo

yogeshpaliyal / keypass Goto Github PK

View Code? Open in Web Editor NEW
466.0 11.0 59.0 31.26 MB

KeyPass: Open-source & offline password manager. Store, manage, take control securely.

Home Page: https://play.google.com/store/apps/details?id=com.yogeshpaliyal.keypass

License: MIT License

Kotlin 99.01% Shell 0.99%
andorid kotlin password-manager password-generator android material-design hacktoberfest material3 android-app android-application

keypass's Introduction

KeyPass

latestVersion
DevLibrary

Master Sample App DevLibrary
visitCount

The modern password manager does not store your credentials on servers so your passwords are in your hands, no need to worry.

Disclaimer: Please take a backup before updating to the new app.

Japanese ๐Ÿ‘ˆ

๐Ÿคฉ Features

  • Complete Offline: No internet permission has been added
  • Open Source: Code is accessible to everyone
  • Encrypted Backup and Restore
  • Dark Mode Support
  • Material Design 3
  • Screenshot Blocked
  • Authenticate with device credentials (pin, pattern, biometrics)
  • Auto Backup
  • TOTP
  • Jetpack Compose

Import From

  • Google Chrome CSV
  • KeePass CSV
  • BitWarden

Export for

  • Google Chrome
  • KeePass
  • BitWarden

๐Ÿ› ๏ธ Language, Tools & Frameworks Used

  1. Kotlin
  2. Cipher (For Backup encryption and decryption)
  3. Material Design 3
  4. MVI architecture
  5. LiveData & MutableLiveData
  6. Room Database
  7. Hilt (Dependency Injection)
  8. Jetpack Data Store Preference

โœ๏ธ Author

๐Ÿ‘ค Yogesh Choudhary Paliyal

Feel free to ping me ๐Ÿ˜‰

๐Ÿค Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Open an issue first to discuss what you would like to change.
  2. Fork the Project
  3. Create your feature branch (git checkout -b feature/amazing-feature)
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a pull request

Please make sure to update tests as appropriate.

โค Show your support

Give a โญ๏ธ if this project helped you!

Patron Link Buy Me A Coffee Donation

Language

Translation status
Want to contribute to translations? Contribute

Download Links

Get it on F-Droid

๐Ÿ“ License

MIT License

Copyright (c) 2021 Yogesh Choudhary Paliyal

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

This README was generated by readgen โค

keypass's People

Contributors

5abhisheksaxena avatar baturax avatar bharath-k-malviya-gts avatar dependabot[bot] avatar divyampahujaa avatar eldad avatar fabianski7 avatar latticeladder avatar noradugann avatar notjustvuuv avatar pablodclavijo avatar renovate[bot] avatar rohitashwani1 avatar shunm-999 avatar vladleesi avatar weblate avatar yogeshpaliyal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keypass's Issues

Mono font for passwords

My Android has a modern font for all fields when looking through KeyPass. Would it be possible to force console type fonts when viewing saved passwords?

I copy a password into a terminal emulator to tell the difference between certain characters.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • fix(deps): update versions.hilt to v2.51.1 (com.google.dagger:hilt-android-compiler, com.google.dagger:hilt-android, com.google.dagger:hilt-android-gradle-plugin)
  • chore(deps): update plugin com.gradle.enterprise to v3.17.1
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.


Warning

Renovate failed to look up the following dependencies: Failed to look up maven package com.gradle:gradle-enterprise-gradle-plugin.

Files affected: build.gradle.kts


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/actions/setup/action.yml
  • actions/setup-java v4
.github/workflows/detekt-analysis.yml
  • actions/checkout v4
  • github/codeql-action v3
.github/workflows/generate-aab-release.yml
  • actions/checkout v4
  • actions/upload-artifact v4
.github/workflows/generate-pro-aab-release.yml
  • actions/checkout v4
  • actions/upload-artifact v4
.github/workflows/master-apk-create.yml
  • actions/checkout v4
.github/workflows/merge-queue.yml
  • actions/checkout v3
.github/workflows/pr-check.yaml
  • actions/checkout v4
  • actions/upload-artifact v4
.github/workflows/production.yml
  • actions/checkout v4
  • r0adkll/upload-google-play v1.1.3
  • r0adkll/upload-google-play v1.1.3
.github/workflows/reportsExports.yml
  • actions/checkout v4
.github/workflows/version-bump.yaml
  • actions/checkout v4
  • CasperWA/push-protected v2
  • ncipollo/release-action v1.13.0
gradle
buildSrc/src/main/kotlin/Dependencies.kt
buildSrc/src/main/kotlin/Versions.kt
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.8.10
  • com.google.dagger:hilt-android-gradle-plugin 2.51
  • org.jetbrains.kotlin.kapt 1.8.10
  • org.jetbrains.kotlin.plugin.serialization 1.8.10
  • androidx.compose.ui:ui-test-junit4 1.6.3
  • androidx.compose.ui:ui-test-manifest 1.6.3
  • androidx.compose.ui:ui-tooling 1.6.3
  • org.jetbrains.kotlin:kotlin-stdlib 1.8.10
  • androidx.room:room-compiler 2.5.2
  • com.google.dagger:hilt-android 2.51
  • com.google.dagger:hilt-android-compiler 2.51
  • androidx.room:room-runtime 2.5.2
  • androidx.room:room-ktx 2.5.2
gradle.properties
settings.gradle.kts
build.gradle.kts
  • com.android.tools.build:gradle 8.2.2
  • com.google.gms:google-services 4.4.1
  • com.spotify.ruler:ruler-gradle-plugin 1.4.0
  • com.gradle:gradle-enterprise-gradle-plugin 3.13.2
  • org.jetbrains.kotlin.multiplatform 1.8.0
  • org.jetbrains.kotlin.android 1.8.0
  • com.android.application 7.4.2
  • com.android.library 7.4.2
  • org.jetbrains.compose 1.6.0
  • com.diffplug.spotless 6.18.0
  • com.google.dagger.hilt.android 2.51
  • com.gradle.enterprise 3.16.2
app/build.gradle.kts
  • composeOptions 1.4.4
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.test:core-ktx 1.5.0
  • androidx.test.ext:junit-ktx 1.1.5
  • androidx.navigation:navigation-compose 2.7.7
  • androidx.compose.material3:material3 1.2.1
  • com.google.accompanist:accompanist-themeadapter-material3 0.30.1
  • androidx.appcompat:appcompat 1.6.1
  • androidx.constraintlayout:constraintlayout 2.1.4
  • androidx.hilt:hilt-work 1.2.0
  • androidx.hilt:hilt-compiler 1.2.0
  • androidx.hilt:hilt-navigation-compose 1.2.0
  • com.journeyapps:zxing-android-embedded 4.3.0
  • com.google.dagger:hilt-android-testing 2.51
  • com.google.dagger:hilt-android-testing 2.51
  • org.reduxkotlin:redux-kotlin-compose-jvm 0.6.0
  • me.saket.cascade:cascade-compose 2.2.0
  • androidx.biometric:biometric 1.1.0
buildSrc/build.gradle.kts
  • org.jetbrains.kotlin.jvm 1.9.21
common/build.gradle.kts
  • androidx.core:core-ktx 1.10.1
  • androidx.appcompat:appcompat 1.6.1
  • commons-codec:commons-codec 1.16.1
  • androidx.security:security-crypto 1.1.0-alpha06
  • androidx.documentfile:documentfile 1.0.1
  • androidx.hilt:hilt-work 1.2.0
  • androidx.hilt:hilt-compiler 1.2.0
  • androidx.work:work-runtime-ktx 2.8.1
  • com.google.android.material:material 1.9.0
  • com.google.code.gson:gson 2.10.1
  • com.google.code.gson:gson 2.10.1
  • androidx.datastore:datastore-preferences 1.0.0
  • org.jetbrains.kotlinx:kotlinx-serialization-json 1.6.3
  • androidx.test.ext:junit-ktx 1.1.5
  • androidx.test:rules 1.5.0
  • net.zetetic:android-database-sqlcipher 4.5.4
  • androidx.sqlite:sqlite 2.3.1
  • com.opencsv:opencsv 5.8
desktop/build.gradle.kts
shared/build.gradle.kts
  • org.reduxkotlin:redux-kotlin-compose 0.6.0
  • androidx.appcompat:appcompat 1.6.1
  • androidx.core:core-ktx 1.10.1
  • junit:junit 4.13.2
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.6

  • Check this box to trigger a request for Renovate to run again on this repository

App is not responding;

The app is crashing all the time when I try to see password. It checks my touch or face identity, it shows me list of my credentials, but when I try to see any of them, immediately crashes and goes out. I recently updated to the new version and now I can't even to downgrade because of some error. Is there any solution? Thanks.

Multiple Features

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

  1. Would it be possible to add an add to Clipboard Button? or copying it by long pressing? (idk if this would make sense at all and if its dangerous.. since you must copy it anyways and clipboard isnt the safest anyway)
  2. There is a Password Gen, would it be possible to add the Password Gen settings to Add Acc? like there is a gen but it only creates password with a lenght of 7
  3. May a setting where you can set the cards on the bottom? from bottom to top and not just from top to button list?

I think thats all.

Describe the solution you'd like
A clear and concise description of what you want to happen.

  1. On the right side an Icon that indicates that you can copy your password by clicking it, or simply a little menu when you do a long click
  2. Setting a template over the password gen tab that's get used for new Accounts/Cards and or some setitings to change the Password Gen sett. while you add an Card

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

I can't restore my passwords from backup

Hi there, after migration from EvoX 6.0(a12) to MIUI 12.5.4.0, I don't able to restore my passwords from my backup(
That's horrible, keyphrase is correct, KeyPass just "crashing"(exits) and my passwds doesn't restoring

Update App Version on F-Droid

Please, update the application in the F-Droid repository.

The current version on Google play is 1.3.7, and the version on F-Droid is 1.3.5. Also, the old version on F-Droid has a nasty bug with Android 11: entries are not saving, and no entries can be added after the installation.

Thank you.

Make a release of your application so we can test it.

Is your feature request related to a problem? Please describe.

By looking at your commits history it seems you are doing
a lot of work on Keypass. However, currently there is no possibility to test your lastest changes because you did not provide an .apk yet.

Describe the solution you'd like

Please provide an apk so we can test your lastest changes. :)

.kdbx file support

Is your feature request related to a problem? Please describe.
I'd like to use KeyPass, but it doesn't support .kdbx files and I'm using KeePass on pc. Mainteining two password files is not ideal

Describe the solution you'd like
A .kdbx file support would fix the inconvenience

Describe alternatives you've considered
There aren't alternative. If i want to use KeyPass I should manually add more than 200 credentials and maintein them by adding credentials manually when I add a new entry on KeePass for pc

Additional context

Migrate to Jetpack Compose

Pages to Migrate

  • Dashboard
  • HomeFragment
  • Detail Page
  • Settings Page
  • Create TOTP
  • Generate Password
  • Auth Page

The app doesn't work with phones that don't have biometrics

I use Version 1.4.9 downloaded from F-Droid

When I open the app and click the "Enter to KeyPass" button, it says "Authentication error: Biometric hardware unavailable"

Steps to reproduce the behavior:

  1. Open the app
  2. Click on "Enter to KeyPass" button
  3. See the result

Expected behavior
I expect to enter the app

Screenshots
Screenshot_20230408_202326_com yogeshpaliyal keypass

Smartphone (please complete the following information):

  • Device: Huawei Y5p
  • OS: Android 10

vers

TOTP copy button copies key instead of current OTP

Describe the bug
TOTP copy button (in app downloaded from playstore) copies key used while setting TOTP instead of current OTP that should be copied

Expected behavior
current OTP should be copied instead of key

Smartphone (please complete the following information):

  • Device: OnePlus Nord CE 5G
  • OS: Oxygen OS
  • Android Version 11

Scan password from QR, parse more information from otpauth URL when scanning TOTP QR code

Hi Yogesh,

Thank you so much for KeyPass, I found it on F-Droid and I've been using it for a while.

I have two suggestions around QR code scanning, and I already implemented these in my private fork.

  1. When adding a password via QR code, it is convenient and a bit more secure to directly scan. Previously I used a QR scanner and copied the password through Android clipboard.

eldad@57bbbc0

  1. When scanning a TOTP, it's nice to also have the label parsed and autofilled.

https://github.com/eldad/KeyPass/compare/5f19b3eb31c07b6efdc318e9a7cd7b82ed4fbe50..a80ac16e6449a5eb4ad679bab8ce779827d8db1f

I saw that you're in the middle of some refactoring (my work is based off 1.4.1), so it's not compatible with your current master.
If you'd prefer, I can open a PR on the latest version.

Cheers,
Eldad

Multiple setting page

Describe the bug
Creating multiple setting tab.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Dashboard'
  2. Click on 'Settings icon multiple time'
  3. See error

Expected behavior
If user already on setting tab then not create any other instance.

Backup/Export Scheme

Hello, I was quite intrigued when I saw your app on F-Droid, even though I personally do not make use of a password manager (I prefer to memorize them), and I saw that your KeyPass app supports backing up and restoring it's database.

Since I just saw a few similar apps, and either they did not feature backups, or they did, however they did not support an existing standard, and were no longer in development, so I was wondering whether you make use of Dominik Reichl's KeePass standard?

Restore-key

While creating a backup keypass itself creates me a key inorder to restore the backup and this way i was forced to store the key somewhere else and there will be chances that i might loose it.
It will be a bit convenient if i could choose the key.

Increase Character in Password Generator

Is your feature request related to a problem? Please describe.
None

Describe the solution you'd like
Increase the characters in creating a password so that the resulting password is stronger

Describe alternatives you've considered
None

Additional context
User can choose whether to increase or decrease the characters in password generator

2FA and Pasword Manager in a single app.

I discovered this grateful app on F-droid when I ditched all GAPPS and privative google components, so I realised that the app is so similar (in design) with Authenticator Pro, so i thinked, why don't suggest merge both apps into a New App with Password Manager and 2FA auth? both apps are similar in design, and objetive, secure our accounts sessions.

This is not a new concept, Bitwarden actually does, but it is just available for paid users, and it is more comfortable having both functions in a single app.

The app is released under GPLv3 license (so it is libre too and both licenses are compatible) and it is developed with C# and Python langs, but I really do not know about tecnical impediments, but I suppose it is possible to do something, I want to say that I am not the Authenticator Pro developer and I do not know C#, Kotlin or Python, so, I cannot help coding, but I can help trying the betas, reporting bugs, translating to spanish and giving a periodical feedback.

My intention opening these issues is to leave the suggestion under the table, joining efforts you can do more and better things, please consider the suggestion.

Here's the issue with the suggestion on Authenticator Pro repository.

Error when trying to restore from backup

Describe the bug
Error when trying to restore from backup

To Reproduce
Steps to reproduce the behavior:

  1. Attempt to restore encrypted backup in settings

Expected behavior
Backup restores without error

Screenshots
Screenshot_20220403-233729_KeyPass.jpg

Smartphone (please complete the following information):

  • Device: S20 FE
  • OS: Android 12 (One UI 4.0)
  • Browser: Firefox Nightly

Additional context
This happened when i reinstalled the app

Hilt is unable to create DashboardViewModel

Failing with the error

Caused by: java.lang.NoSuchMethodException: 
com.yogeshpaliyal.common.viewmodel.DashboardViewModel.<init> [class android.app.Application]
          at java.lang.Class.getConstructor0(Class.java:2332)
          at java.lang.Class.getConstructor(Class.java:1728)
          at androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory.create(ViewModelProvider.kt:312)
          ... 227 more

Add TOTP attached with password

Currently, If we want to save a password and TOTP we have to add 2 accounts.

New feature:
In account add option to add TOTP with the password, so easy to maintain.

Authentication Error, Authentication Failed

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Open 'KeyPass'
  2. Wait 'It shows instantly a error, than draw your pw'
  3. "it shows, failed again and shows enter keypass screen, and than I need to draw my Password again.. than im in"

Expected behavior
A clear and concise description of what you expected to happen.

Should Open Without a error

Screenshots
If applicable, add screenshots to help explain your problem.

GitHub doesnt acces my gallery.. well
https://i.imgur.com/7mHMK1q.jpg

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6] - Mi 9T Pro
  • OS: [e.g. iOS8.1] - Android 10 + MIUI 12
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22] - 1.3.5

Additional context
Add any other context about the problem here.

Add sorting options

Sorting options can be

Order Field:

  • Username
  • Title
  • Website
  • Created Time
  • Last Modified

Order by:

  • Ascending
  • Descending

Add Strong Biometric Security on Sign in

Is your feature request related to a problem? Please describe.
I'd like to have a separate PIN (or no pin at all) when signing into the app in order to use strong biometric security instead of the default device credentials.

In the current implementation, if someone is shoulder surfing and then steals your phone, then they can also enter into the app (because the app uses DEVICE_CREDENTIAL instead of BIOMETRIC_STRONG) with the phone pin/pattern.

Describe the solution you'd like
Add BIOMETRIC_STRONG biometric login.

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Fix dark theme in Generate password

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Cryptographic APIs misuses

I'm a PhD student interested in finding security vulnerabilities in open source projects.

We found a total of 302 warnings (indicating potential vulnerabilities) when running the CogniCrypt static analyzer (*) on KeyPass (or its library dependencies). We documented each one of these issues in private gists for the sake of confidentiality (non-disclosure).

Can you please let us know whether we can share these gists with you? We are eager to evaluate the perception of developers (e.g. severity of these warnings) and improve KeyPass' security, and the quality of the reports of static analysis tools.

(*) https://github.com/CROSSINGTUD/CryptoAnalysis

Backup

Can you add option to save backup file on gdrive automatically . It's helpful to not backup data on device

Keepass

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Add an option to use kdbx files or keepass type files to use as database . So then we will be able to use this app as keepass for android application which will be very nice . And the ui is great.

Describe alternatives you've considered
Many keepass android implementations Keepassdx keepass2android etc.

Additional context
Add any other context or screenshots about the feature request here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.