Code Monkey home page Code Monkey logo

kunzisoft / keepassdx Goto Github PK

View Code? Open in Web Editor NEW
4.1K 4.1K 254.0 62.17 MB

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.

Home Page: https://www.keepassdx.com/

License: GNU General Public License v3.0

Java 4.12% CMake 0.04% C 14.00% C++ 0.16% Assembly 2.58% Makefile 0.01% Ruby 0.08% Kotlin 78.98% Shell 0.04%
android android-application fingerprint keepass keepass-dx keepassdx material material-design password-manager vault

keepassdx's People

Contributors

aitorelorza avatar akcansoft avatar bowornsin avatar bpellin avatar comradekingu avatar filippodebortoli avatar franconian avatar gianpamx avatar giwrgosmant avatar ihorhordiichuk avatar j-jamet avatar jsmakaayb avatar laralem avatar matthaiks avatar meskobalazs avatar milotype avatar mscheidemann avatar oscfdezdz avatar oymate avatar santossi avatar seerlite avatar solokot avatar sr093906 avatar uduerholz avatar vachan-here avatar verytastytomato avatar vfbfan avatar waldist avatar weblate avatar zeritti 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  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

keepassdx's Issues

Saving database file from NextCloud crashes the app

How to reproduce:

  1. Install NextCloud
  2. Put a database file in your cloud
  3. Open KeePassDX and open the file from the file chooser
  4. Try to create an entry (name is enough)
  5. Save
    -> The app crashes

Android: Marshmallow 5.0

Tell me, what you need more, I'll try to deliver.

Detach fork from main repo

Maybe detach this repo from the "original" version?

You can this either do it manually or – which I recommend – just contact the GitHub support to do it for you.

This…

  1. shows that this is a real maintained project and not just a repo of someone who (once) made a pull request
  2. linking to the original repo on every page does not make sense anymore as you likely drive the project into another direction…
  3. can (and IMHO should) still link to the original repo/website/author/… for crediting them, but you can do so in better ways (in the Readme, wiki or so)
  4. allows searching in this repo on GitHub and
  5. it just looks much nicer

Custom keyboard to easily enter password

Personally, I do not like the notifications and from a security perspective it is also not nice to have your passwords in your clipboard (which each app can access, so this goes against all the sandboxing effort done in Android) and I think #1 is a nice solution, but of course there are older devices without that special API. (or the API does not work with some apps, whatever… don't know, have not tried it yet)

So basically it would be nice of you to also implement the "oldschool" method of using a custom keyboard for passing in the passwords. AFAIK in recent versions you can easily switch the keyboard, so it is a better UX than those notifications.
Either you include the full keyboard (just use AOSP) or just a "thing" where you can tap on the password you want and get it filled into the page…

Failed to post notification on channel null

I am running version 2.5.0-beta6-Libre on Android 8.1.

When entering the details view of an entry, the app usually shows username and password as notification. It currently just displays a toast message with the text:

Failed to post notification on channel null

Looks like you have bumped the target sdk version without adding notification channels.

Crash in Android Autofill settings screen

Hi, I am noticing a crash in version 2.5.0-beta6-libre

-16 14:04:19.475  6136  6136 E AndroidRuntime: FATAL EXCEPTION: main
03-16 14:04:19.475  6136  6136 E AndroidRuntime: Process: com.android.settings, PID: 6136
03-16 14:04:19.475  6136  6136 E AndroidRuntime: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.kunzisoft.keepass.libre/com.keepassdroid.settings.SettingsAutofillActivity}; have you declared this activity in your AndroidManifest.xml?
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1940)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1618)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.Activity.startActivityForResult(Activity.java:4487)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.Activity.startActivityForResult(Activity.java:4445)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.Activity.startActivity(Activity.java:4806)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.Activity.startActivity(Activity.java:4774)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at com.android.settings.applications.defaultapps.DefaultAppPreferenceController.lambda$-com_android_settings_applications_defaultapps_DefaultAppPreferenceController_2847(DefaultAppPreferenceController.java:74)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at com.android.settings.applications.defaultapps.-$Lambda$1znk7tt4c3WlH31v4jn2klbHhJA.$m$0(Unknown Source:8)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at com.android.settings.applications.defaultapps.-$Lambda$1znk7tt4c3WlH31v4jn2klbHhJA.onGearClick(Unknown Source:0)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at com.android.settings.widget.GearPreference.onClick(GearPreference.java:71)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.view.View.performClick(View.java:6294)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.view.View$PerformClick.run(View.java:24774)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:790)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6494)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
03-16 14:04:19.475  6136  6136 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
03-16 14:04:19.478  1958 16943 W ActivityManager:   Force finishing activity com.android.settings/.SubSettings
03-16 14:04:19.487  1958  2008 I ActivityManager: Showing crash dialog for package com.android.settings u0

Does not start (white screen) after reboot of the phone

Version: 2.5.0.0beta3-libre
OS: Android 7.1.1
Phone: Moto E4

The app works fine until a shutdown/reboot of the phone. Trying to open KeePass DX just results in a white screen and it will not start. Uninstalling/reinstalling "fixes" this.

Thanks for your work.

Fingerprint scanner does not work

Device: Lenovo zuk z1
Android 8.1
With other programs, the fingerprint works perfectly. For example, the andOTP program works.
[spoiler]screenshot_20180313-223629
screenshot_20180313-223726
)[/spoiler]

Option to disable notifications

These notifications are a good idea, but you should definitively have an option in the settings to disable them. Especially if #1 is implemented they are then unnecessary.

Option to lock database after <minutes> of inactivity

IMHO you should add an option to lock the database after some minutes of inactivity, i.e. 5, 10 or 30 minutes after screen is shut off.

Currently you can only enable to immediately lock the database when the screen is off. IMHO this is not really usable on mobile devices, as the screen is locked very often there. So a timeout to protect the database when your device is stolen/unused for some time, but on the other hand offers a convenient way to use the app, without having to re-enter your (potentially) long password.

Keyfile forgotten when locking db

Hi!
Since version 2.5.0.0beta3-libre from f-droid, the keyfile is forgotten when the db gets locked again. The keyfile checkbox isn't even checked then. I have to reselect the keyfile or go back to use the last db file.

Allow user to specify font of item's comments section

Would it be possible to allow the user to specify a font for the comments section of an entry that clearly differentiates similar characters like: l 1, i etc? This has always been a problem in Pellin's version for me. Or, the app itself could simply use a font for the comments section that does a better job distinguishing between similar characters.

Ref: https://ux.stackexchange.com/questions/79090/what-is-a-sans-serif-font-that-still-clearly-differentiates-similar-characters-l

Thanks

Deleted

Sorry, it was about another app.

Request graceful storage permissions denial handling

I use NextCloud to manage the password files, which it then opens directly with KeePassDX (current version: 2.5.0.0beta4-libre). When I went to open KeePassDX directly to derp around in the application settings, I was asked whether I wanted to allow storage permissions, which I then denied (not that I'm not trusting, I just didn't see the necessity). I'm greeted by it popping back up immediately, then I clicked 'Do not show again', to which the app then locked up (and the system_server shot up to 100% CPU usage). Even a finish() here would be more graceful.

Thanks for your work on this app.

Implement a really black theme

Please implement a theme with really black elements occupying large area like backgrounds, stripes and buttons. Under black I mean #000000.

Better management of access rights.

  • Possible problem for permission blockers.
  • Trouble opening the file (File not found error)
    java.lang.SecurityException: Permission Denial: reading com.android.externalstorage.ExternalStorageProvider uri content://com.android.externalstorage.documents/document/primary%3Akeepass%2FkeepassFile.kdbx from pid=4256, uid=10078 requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs

Database in google drive issue

Hello, I leave my database in Google drive and open it with android folder manager, trying to add a new password corrupted my database.

Android 7.1.2
KeepassXD 2.5.0beta-libre

Sorry for the english of the google translator

Enable scp/sftp sync

Hi, it would be nice to see scp/stfp sync (or any other kind of sync that does not relly on servers i don't fully control) on this project :)

KeePassXC compatibility

The new version of KeePassXC has been released and it features some optional changes of the key file, mostly encryption-related. v2.3.0 now supports "KDBX 4.0, Argon2 and ChaCha20".

So is this app already compatible or does it need to be adjusted?
In any case, I'd advice you to advertise your app also with "KeePassXC compatible" (in Readme, app description, etc.) so users know they can use it with KeePassXC.

Fingerprint not recognized

  • Bad dialog when enable fingerprint (API 25 < API 25)
  • Samsung in Android 6 doesn't work
  • Null pointer when delete an undefined fingerprint

Open .kdbx files

You should register your app as an app, which can open .kdbx, so I can open them in an easier way than this navigation.

Empty password databases from KeepassX are not openable

If you attempt to create a database with an empty password, the app tells you off for it, but then goes ahead and makes the database anyways, which you then cannot open as you're not allowed to open a database without a password or keyfile.

IIRC Keypass does support creating and opening databases with a blank password and no keyfile, so ideally your app should allow users to open those databases.

Perhaps instead of preventing them from creating them with empty passphrases, stick a earning on screen that warns them that their data will not be secure, but allow them to create the database anyways.

Allow for setting default password generation options in settings

8 character length passwords are not very secure. Ideally I'd be able to set it to something longer without having to do so manually every time I create a new password.

You should be able to set default password generation length along with other default generation options in settings.

Shortcut to copy password

This application seems to have the same deficiency as KeePassDroid in that it takes far too many clicks to copy a password (click on entry > click pulldown > click copy).

I propose that long-pressing an entry automatically copy the password to the clipboard.

ActivityNotFoundException

  • Autofill, service not provided in Huawei Honor 9 (HWSTF), 6144MB RAM, Android 8.0 ?
    at com.keepassdroid.settings.NestedSettingsFragment$3.startEnableService (NestedSettingsFragment.java:229)
    at com.keepassdroid.settings.NestedSettingsFragment$3.onPreferenceClick (NestedSettingsFragment.java:207)

  • Open doc, Google Pixel 2 (walleye), 4096MB RAM, Android 8.1
    at com.keepassdroid.view.KeyFileHelper$OpenFileOnClickViewListener.onClick (KeyFileHelper.java:79)

Database settings not accessable

Android version: 7.1.2 LineageOS
App version: 2.5.0.0 beta 2 libre from f-droid

I can't open the database settings.

I expect to change the database settings like cipher and iterations of the KDF, but I can't open the database settings. The point in the menu is not touchable and the color of the letters is grey.

I tested this with an database created by Keepass DX.

Samsung crash

I can't reproduce the issue, if someone have a crash in Samsung device, can you tell me how and when it comes. Thx

 #00  pc 000000000006b7e4  /system/lib64/libc.so (tgkill+8)
  #01  pc 000000000001df10  /system/lib64/libc.so (abort+88)
  #02  pc 0000000000007f44  /system/lib64/liblog.so (__android_log_assert+304)
  #03  pc 0000000000010bd0  /system/lib64/libutils.so (_ZN7android14sp_report_raceEv+28)
  #04  pc 0000000000149108  /system/lib64/libandroid_runtime.so (_ZN7android14RootRenderNode15detachAnimatorsEv+336)
  #05  pc 0000000000147504  /system/lib64/libandroid_runtime.so (_ZN7android22AnimationContextBridge7destroyEv+24)
  #06  pc 00000000000531e0  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthreadL14Bridge_destroyEPNS1_11destroyArgsE+12)
  #07  pc 0000000000054b24  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread22MethodInvokeRenderTask3runEv+24)
  #08  pc 0000000000054ea8  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread19SignalingRenderTask3runEv+28)
  #09  pc 0000000000055a8c  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+348)
  #10  pc 0000000000011674  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+280)
  #11  pc 00000000000fce24  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+136)
  #12  pc 0000000000068160  /system/lib64/libc.so (_ZL15__pthread_startPv+36)
  #13  pc 000000000001f664  /system/lib64/libc.so (__start_thread+68)

or

java.lang.NullPointerException: 
  at android.widget.Editor.updateFloatingToolbarVisibility (Editor.java:1546)
  at android.widget.Editor.onTouchEvent (Editor.java:1492)
  at android.widget.TextView.onTouchEvent (TextView.java:10067)
  at android.view.View.dispatchTouchEvent (View.java:10769)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.widget.ScrollView.dispatchTouchEvent (ScrollView.java:738)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2865)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2550)
  at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:568)
  at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1896)
  at android.app.Activity.dispatchTouchEvent (Activity.java:3247)
  at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:71)
  at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:71)
  at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:530)
  at android.view.View.dispatchPointerEvent (View.java:10998)
  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5107)
  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:4959)
  at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4490)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4543)
  at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4509)
  at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4642)
  at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4517)
  at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4699)
  at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4490)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4543)
  at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4509)
  at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4517)
  at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4490)
  at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:6999)
  at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:6930)
  at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:6891)
  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7109)
  at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)
  at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (Native Method)
  at android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:176)
  at android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:7073)
  at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:7136)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:927)
  at android.view.Choreographer.doCallbacks (Choreographer.java:702)
  at android.view.Choreographer.doFrame (Choreographer.java:632)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:913)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6836)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

Back key should not lock database

STR

  1. Open/Unlock database.
  2. Press the back key.

What happens

Previous unlock screen is shown and/i.e. database is locked.

What should happen

Database is not locked, app just goes into background.

Fingerprint dialog

On img

  • Open fingerprint configuration when not configured
  • Open dialog explanations
  • Add setting to hide fingerprints

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.