Coder Social home page Coder Social logo

seldon1000 / nextpass Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 0.0 1.26 MB

Android client for Nextcloud Passwords, built using the latest and greatest technologies.

License: Apache License 2.0

Kotlin 100.00%
nextcloud android password password-manager jetpack-compose kotlin kotlinx-serialization kotlinx-coroutines ktor-client autofill-service

nextpass's Introduction

Development is currently paused, indefinitely

The app is currently dead. I am now focused on the Apple ecosystem and I don't have enough time to dedicate to side projects like this one. You are free to fork the repository and continue the development yourself. I would be so happy to see this app going further, even without me.

ic_launcher_round

NextPass

NextPass is an Android client for Passwords (https://git.mdns.eu/nextcloud/passwords), a simple yet feature-rich password manager for Nextcloud.
NextPass is still in development and will receive further updates. Icon is temporary.

Screenshots

(taken in version 1.6.0) NextPass-screenshots-collage(2)

Build and run

Android Studio >=Arctic Fox and Kotlin >=1.4.32 are required to build the app without issues. Just import the project from Version Control, let Gradle do its (endless) magic and then build&run. Do not change gradle and proguard configuration.
Note that Passwords (https://apps.nextcloud.com/apps/passwords) needs to be installed on your server.

Technologies

NextPass is built using only the latest and greatest. It is 100% Kotlin and a single-activity app. Starting from version 2.0.0, NextPass does not use third party Java libraries anymore. As of now, NextPass uses Ktor library to make network requests, with its http engine CIO to guarantee concurrency, and Kotlinx-serialization library to manage json responses.
NextPass also relies on Jetpack Compose to build the UI. These technologies project NextPass into the future (or just the present, perhaps).

Requirements

NextPass officially supports Android up from 8.0. Please, if you experience issues, report them on GitHub providing a detailed description (you can do this just by opening 'About' screen in the app itself). NextPass can only work with an internet connection.

Known issues

Jetpack Compose
Compose is not in beta anymore but should be, that means that you could experience some glitches and/or poor performance depending on your device. NextPass UI also lacks many animations, due to Compose navigation and foundation libraries still not supporting them. I will update the toolkit ASAP to provide the best possible experience.

Autofill service
Autofill service provides suggestions when you're logging in websites and apps. It should work properly most of the times, however sometimes it can seem partially or completely broken. This is due to the fact that the service requires some details and info to recognize the input fields, and apps/websites should provide them. If they don't, then NextPass just can't do its magic. Also, even if NextPass manages to recognize the input fields, suggestions may not be found, despite they're on your service. This happens because NextPass has a certain logic to follow to pick the correct suggestions. For instance, as long as the password's label matches (at least partially) the package name of the app you're logging into, then everything's alright. Passwords saved with NextPass' autofill service will be created with a custom field containing the full package name of the app; this will guarantee that the new password is always found by autofill service (as long as it finds input fields too). If you discover that autofill doesn't work on one particular app, just open an issue and I'll try to help.

Translations

Currently, NextPass only supports english, but translations are so very welcome. I plan to setup an actual translation platform (Crowdin, probably) in the future, but, until then, you can open an issue specifying your language and I will provide anything you need. Also, I'm not english native, so if you have suggestions for the current english translation, please report.

Special thanks and mentions

Go to: https://github.com/seldon1000/NextPass/blob/master/THANKS.md

nextpass's People

Contributors

seldon1000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nextpass's Issues

[Bug report] *Apps force close after login*

Describe the bug
Foce Close after login and fetching data

How To Reproduce
login with using my nextcloud and success, after login got force close

Expected behavior
getting password data

Screenshots/Videos/GIFs

screen-record-2022-09-07-08-49-59.mp4

Device information

  • Manufacturer: Xiomi
  • Device model: Redmi 3
  • Android version: Lineage os 16 (Android 9)
  • NextPass version: 2.4.2
  • Nextcloud Files version: 24.0.4

[Feature request] Client side encryption support

Is your feature request related to a problem? Please describe.
NextPass currently does not support encryption. This feature is important to every user and, starting from January 2022, mandatory to make NextPass a recognized third party client for Passwords. For these reasons, adding encryption support will be my main focus (except for bug fixes).

Describe the solution you'd like
Encryption support to be present.

Describe alternatives you've considered
I know nothing.

Additional context
A password manager, be it a client or a standalone service, without encryption support would be ridiculous at the very least.

F-Droid adjustments

As this is neither a bug nor a feature request, I hope you forgive me removing the template.

IIRC you've applied for F-Droid inclusion. For the UpdateChecker to work, it would need literal values for versionCode and versionName โ€“ as the checker only performs RegEx-matching on the build.gradle. Could that be accomplished?

And while being here: is there any reason for the heavy obfuscation (proguard I guess)? This being FOSS, transparency would be preferred. The code is open anyway, so no need to obfuscate, right? ๐Ÿ˜‰

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.