Giter Club home page Giter Club logo

kdbx.dart's Introduction

Contribute Contribute

AuthPass.app

AuthPass.app - Open Source Password Manager for mobile and desktop

AuthPass - Password Manager based on Flutter for all platforms. Keepass 2.x (kdbx 3.x) compatible.

Mac OS, iOS and Android Screenshot

Contribute to AuthPass

Need ideas how to contribute? Visit the forum for many different ways to contribute. Contribute

If you like AuthPass, and want to contribute. First, spread the word ;-) Writing reviews, vote or share AuthPass on twitter, reddit, etc.

Roadmap/TODOs

see also https://github.com/authpass/authpass/issues

GitHub issues

  • Read/Decrypt kdbx 3.x using password
  • Download of kdbx files through url
  • Parse decrypted XML/handle protected values
  • Flutter scaffold for mobile (ios/android)
  • Platforms ๐ŸŽ‰๏ธ๐Ÿ‘๏ธโœ…๏ธ
  • Decrypt with keyfile #3
  • List of password entries
  • ๐Ÿ‘†๏ธ Search through entries
  • ๐Ÿ‘†๏ธ Entry details
  • ๐Ÿ‘†๏ธ mobile: copy usernames, passwords
  • mobile: integrate with biometrics (fingerprint)
  • mac: Auto-Type #13
  • ๐Ÿ‘†๏ธ Auto-lock after x minutes of inactivity. #14
  • Editing existing entries
  • Saving of changes into kdbx file.
  • Creating of new kdbx files.
  • Syncing of kdbx files via custom cloud service and QR codes. #29
  • Syncing with cloud services like dropbox or google drive?
  • ๐Ÿ‘†๏ธ CI pipeline/continous builds, releases
  • kdbx 4 support (missing argon2) compatibility #4
  • Android: Auto Fill #30
  • iOS: Auto Fill #31

Donations

If you like AuthPass check out the website for ways to support us.

License

AuthPass - Password Manager [email protected]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Contributors must agree to our CLA.

kdbx.dart's People

Contributors

hpoul avatar patrikkoscelansky 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kdbx.dart's Issues

Typo in UsageCount XML tag

In KdbxTimes, the usage count tag is written as Usagecount. It should be UsageCount instead, with capital "C".

As it is, other apps likely won't find the counter and this would cause issues with DB merging.

KPass : reuse of library without opening code

First of all, I want to say that I really like your work. You use a cross-platform approach that is fresh in the ecosystem and many users turn to your solutions to have good synchronization conditions and a new generation code. Which is a very good thing ! :)

Now let's get to the bad stuff. Korovan's KPass application knowingly uses your GPL3 licensed library without disclosing the source code of its KeePass app, which in my opinion is an aberration and in fact an argument that completely misleads users.

Screenshot from 2021-09-19 08-56-19

KeePass solutions should be open source by nature so I don't like this policy which is a shame.
I don't know if you knew about this and I don't know if you sold a version of your library with another license, in that case I have nothing to say but if this is not the case then there is clearly a real problem.
Do you have any visibility on the subject? Are you in contact with Korovan?

https://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

Unit test failed on Mac M1

When run flutter test on a Mac M1 device the unit test will fail:

To run this test again: /Users/riguz/mobile/flutter/bin/cache/dart-sdk/bin/dart test /Users/riguz/Documents/apps/kdbx.dart/test/deleted_objects_test.dart -p vm --plain-name 'delete permanently delete entry'
00:01 +6 -25: loading /Users/riguz/Documents/apps/kdbx.dart/test/deleted_objects_test.dart
2024-02-27 16:47:02.918727 FINEST argon2_ffi_base - resolving libargon2_ffi.dylib
2024-02-27 16:47:02.919057 FINE test_utils - Resolving libargon2_ffi.dylib to: /Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib (file:///Users/riguz/Documents/apps/kdbx.dart/main.dart)
2024-02-27 16:47:02.919168 FINEST argon2_ffi_base - DynamicLibrary.open(/Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib)
Shell: 2024-02-27 16:47:02.919406 SEVERE argon2_ffi_base - Error while loading dynamic library from /Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib
(libargon2_ffi.dylib)
Shell: ### ArgumentError: Invalid argument(s): Failed to load dynamic library '/Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib':
dlopen(/Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib, 0x0001): tried: '/Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib' (mach-o file, but is an incompatible
architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib' (no such file),
'/Users/riguz/Documents/apps/kdbx.dart/libargon2_ffi.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
Shell: #0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:43)
Shell: #1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:22:12)
Shell: #2      Argon2FfiFlutter._loadLib (package:argon2_ffi_base/src/argon2_ffi_impl.dart:163:29)
Shell: #3      new Argon2FfiFlutter (package:argon2_ffi_base/src/argon2_ffi_impl.dart:92:23)
Shell: #4      TestUtil._kdbxFormat (file:///Users/riguz/Documents/apps/kdbx.dart/test/internal/test_utils.dart:29:23)
Shell: #5      TestUtil.kdbxFormat (file:///Users/riguz/Documents/apps/kdbx.dart/test/internal/test_utils.dart:25:27)
Shell: #6      TestUtil.kdbxFormat (file:///Users/riguz/Documents/apps/kdbx.dart/test/internal/test_utils.dart)
Shell: #7      TestUtil.createEmptyFile (file:///Users/riguz/Documents/apps/kdbx.dart/test/internal/test_utils.dart:68:18)
Shell: #8      main.<anonymous closure>.<anonymous closure> (file:///Users/riguz/Documents/apps/kdbx.dart/test/deleted_objects_test.dart:59:29)
Shell: #9      Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart:215:19)
Shell: <asynchronous suspension>
Shell: #10     Declarer.test.<anonymous closure> (package:test_api/src/backend/declarer.dart:213:7)
Shell: <asynchronous suspension>
Shell: #11     Invoker._waitForOutstandingCallbacks.<anonymous closure> (package:test_api/src/backend/invoker.dart:258:9)
Shell: <asynchronous suspension>
Shell:

It seems that libargon2_ffi.dylib is compiled on Mac X86_64, and I re-compiled on M1 it works. It could be solved as following(generated by GPT):

final is64Bit = ffi.sizeOf<ffi.IntPtr>() == 8;  
if (is64Bit) {  
      // Use the x86_64 library for MacOS  
      dylib = ffi.DynamicLibrary.open('x86_64.so');  
} else {  
      // Use the arm library for MacOS  
      dylib = ffi.DynamicLibrary.open('arm.so');  
}

Since it requires to modify both kdbx.dart and argon2_ffi_base, I'm not able to file a PR directly.

Stuck when trying to load my kdbx File

await KdbxFormat().read(kdbxFileUInt8List, Credentials.composite(
ProtectedValue.fromString('password'), Uint8List.fromList(keyxFileUInt8List)));

This call is stuck, when i try to use it. Needed files exist, so it should be working.
Can someone of you help me guys?

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.