Giter VIP home page Giter VIP logo

tusk's Introduction

Tusk is no longer actively maintained.

  • Is it still safe? Yes. As far as the community is aware, Tusk's security model is still the same. You may continue using Tusk, and I will keep the third party integrations (Dropbox, Google Drive, etc.) active. Please contact me through my website to report security concerns.
  • Why is it unsuppored? Because I no longer prefer the keepass ecosystem. I believe version control and data sync should be a core feature of any password manager.
  • Any good alternatives? I've switched entirely to Password Store + BrowserPass and I'm happier now. If you want something more user friendly, I highly recommend Bitwarden. To remain with Keepass, try Kee or KeepassXC-Browser.
  • Could someone else take over? If you have a lot of time and are interested in taking over leadership of Tusk, please contact me through my website and tell me about yourself and what you'd like to do with Tuisk. It has over 25 thousand active users, and I'm sure they would all love to see the project live on.

Tusk

A modern, clean keepass browser extension built with Vue.js and kdbxweb. Rebooted from perfectapi/CKP

Tusk

Installation

Firefox: https://addons.mozilla.org/en-GB/firefox/addon/keepass-tusk/

Chrome: https://chrome.google.com/webstore/detail/fmhmiaejopepamlcjkncpgpdjichnecm

User Guide

This section provides how-to instructions for various features of Tusk.

How it works: Implementation Details

This section provides in-depth information about how tusk works under the hood. We aim to provide better transparency and give users peace-of-mind. Tusk may not be perfect, but it's better than proprietary black-box applications that hide design flaws from the community.

Build Setup

Tusk requires:

  • node
  • npm
  • yarn
# install dependencies
yarn install

# build static DLL resources (optional)
yarn build-dll

# build for production with minification
yarn build

# run the packer script targeted for 'chrome' and 'firefox' after build.
# this step generates the zip archives submitted to Chrome/Firefox addon marketplaces.
yarn bundle

# static reload with file watch for tests
yarn dev-tests

For detailed explanation on how things work, consult the docs for vue-loader.

Running tests

To run tests, first build them with yarn build-tests or yarn watch-tests then open tests/test.html in a browser.

Browser Permissions

Tusk requires cross-origin permissions in order to inject credentials and query the storage backends on the user's behalf.

In chrome, these permissions requests are always prompted to the user upon first use.

Because of Firefox's implementation of browser.permissions, it was necessary to request all permissions at install time to avoid code rot. A deeper explanation of the firefox permissions can be found on stackoverflow

FAQ

Why is it called Tusk?!

I originally wanted to call it Elephant, as in An elephant never forgets. I tried this name on a couple of friends and they were unimpressed. I wanted to find a name that was more concise but keep the elephant imagery. Ergo, tusk.

What happened to CKPX?

This is it! CKPX has been rebranded as Tusk to mark its Firefox release. The C in CKPX stood for 'Chrome'.

Can I donate money?

I don't want your money. Take whatever you would have given me and find a local charity -- a food bank, a women's shelter or an animal shelter, for example. Enjoy your free software.

So how can I support Tusk?

If you โค๏ธ Tusk, please consider leaving a positive review on the Firefox Add-on store or the Chrome webstore - I'll be eternally grateful.

Who made that awesome logo?

A super cool artist and graphic designer named Gabriel Garcia! Thanks for our logo!

tusk's People

Contributors

dependabot[bot] avatar dukeytoo avatar henryptung avatar igelrm avatar joelsmith avatar jpvantuyl avatar mathstuf avatar realprogrammer avatar remocrevo avatar rspier avatar strikeskids avatar subdavis avatar tani avatar tw-epenkman avatar ulich avatar zmilonas 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

tusk's Issues

Support metadata from KeeWeb

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

None of the keeweb metadata is supported

Please describe how you think it should change.

Look into things like colored labels and such from keeweb/keeweb

Anything else?

Needs more discussion. Which meta do we want? How will it look?

Multiple URLs

This issue is a

  • bug
  • feature
  • question

Please describe how you think it should change.

I have some entries that require multiple URLs. For example, same (Active Directory) user account for multiple web sites. Is it possible to read an additional URL from a custom field?

I know that I can also clone the entry and use references for username and password, but I would like to avoid that.

Not working on Firefox for Android

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

This extension successful installed to Firefox for Android, but when I try to go preferences of it, just show blank page by address: moz-extension://233df8b5-eacb-4544-bd77-a61f7de65c7e/options.html

Please describe how you think it should change.

Settings screen as on desktop version of Firefox.

Popup window is too big; Poor use of space.

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Currently the popup menu is large, i mean HUGE. Most of the time (99.999%), there will be only one entry to show, but there is space for an extra 5 at least. Unnecessary. Should be adaptive, or at least smaller sized. See picture: https://i.imgur.com/VS357Am.png

Also, the time limit slider does nothing (I understand it's a feature, not a bug), so I don't understand why it's there.

Please describe how you think it should change.

Adaptive or smaller popup size, and removed time limit slider.

Anything else?

Nope.

Allow user to configure timeout interval

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Users cannot set how long tusk should wait before clearing the clipboard

Please describe how you think it should change.

I guess some folks might like to do this.

Anything else?

Autofill Google Sign In on Firefox 57 doesn't work

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Autofill for Google mail doesn't work. Google Sign In requires at least two step login (with 2FA three). Tusk already fails filling the username.

Please describe how you think it should change.

Ask for positive review or GH star on settings homepage.

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Nowhere for folks to share/support Tusk

Please describe how you think it should change.

Don't want a donate box, but I think it would be OK to say "If you like tusk, leave a review or star the github repository". Share on social media seems a little too much though

Anything else?

I'd like feedback on this. Would you be put off for a "Please leave a rating" at the bottom of the settings welcome page?

UI Rewrite in a modern framework

It might be time to consider a re-write using a modern framework like Vue.js or Angular.io

I'd also like to overhaul the look-and-feel with something more akin to material design. The current design isn't expressly bad, I just think it looks really meh.

Should probably pair with #29 and #5 since those will require heavy UI changes.

Add TOTP support

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Tusk does not detect TOTP code from entries

Please describe how you think it should change.

KeePass can generate TOTP code from the KeeOTP plugin.

Google Drive, 2FA, and Organizational Emails

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Google Drive linking doesn't seem to work with my organizations email or the fact that I use 2FA

Please describe how you think it should change.

Support this, please

Tusk Periodically Requires Google Drive Reauthentication

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

When using a database stored on Google Drive, Tusk periodically looses its Google authentication data. This manifests when trying to unlock the database: After entering the database password, Tusk reports and error that "User interaction required." (If you have quick eyes, you can sometimes see the authentication UI start to open and then immediately close right before this error appears.) Switching to the settings, Google Drive will momentarily show up as busy, and then change to disabled with the same error message.

Re-enabling Google Drive works fine, after which the database stored there can be opened normally... At least until the next time that Tusk forget the Google login information.

It's hard to tell how long it takes for login information to be forgotten, but after some testing it appears to happen within ~30 minutes of when the database password itself expires. I've tried explicitly allowing both cookies and popups for Tusk, but to no avail. Perhaps the Google Drive authentication data is being cleared with the database password?

This issue occurs on a Chromebook when pulling a database off (G Suite) Google Drive (I'm testing right now to see if it's feasible to roll Tusk out to end-users at my work); other operating systems and storage mechanisms have not been tested.

Please describe how you think it should change.

Preferred: Tusk should remember login information for Google Drive indefinitely (even if it forgets the database password).

Second Best: Tusk should correctly display a re-authentication prompt for Google Drive when it looses those credentials, rather than forcing the user to open up its settings and manually re-enabling Google Drive.

Fix Chrome Credential API Options

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Chrome Credentials API Doesn't work as intended, and the extension supports firefox now. I don't think there's a lot of user demand for this, but I'm opening this issue anyway.

Please describe how you think it should change.

It should either work or disappear.

Anything else?

I'm going to guess that chrome 60 broke this. https://developers.google.com/web/fundamentals/security/credential-management/

database auto unlock fails.

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

The option to unlock the db for 24h doesnt seem to work. It gets locked several times per day and I have to manually unlock it even though I dont close the browser.

Please describe how you think it should change.

It should autounlock without the need to manually enter the password.

Anything else?

Using Chromium Version 63.0.3239.132 (Developer Build) (64-bit) on an up to date Arch Linux box.

Basic authentication filling form support

Hi @subdavis

Thanks for working on the extension

Moving discussion from https://github.com/perfectapi/CKP/issues/195

It would be great to add support of http basic auth. There is no way to use this extension even manually on the page with basic auth at the moment.

It's possible with chromeIPass for example. I've checked what they do in the code and this might be helpful. Probably it will be possible on autofill click to refresh the page with keeping login data in mind and fill the form.

I'd be glad to help you with the feature, but unfortunately I don't have time to work on it yet.

Can't Fill via Context Menu

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

After unlocking a new database, I can't fill entry via context menu, but I indeed find a proper one from the toolbar button.

CKPX does not recognize all files in gdrive

Just installed CKPX and running through the setup. App did not see any of my database files on gdrive. I have been using the Keepass Google Drive Sync plugin for several years and have multiple databases on gdrive. While on the gdrive site I "made a copy" of my most used db file and bingo, CKPX immediately found the "copy of" file. While it found the "copy of " file, this would create more work for me as that negates the functionality of the sync plugin.
Upon closer review, it appears none of the files created by KP google sync plugin show up in CKPX. What am I missing regarding the "synced" db file?
I appreciate any ideas or help.

Dropbox file

I'm getting that message when trying to connect to Dropbox :

This app has reached its user limit. Contact the app developer and ask them to use the Dropbox API App Console to increase their app's user limit.

Is it coming soon ? Will continue using original CKP app until then.

I do love your initiative of continuing that project :)

Resolve references in usernames/passwords

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Tusk currently doesn't handle referenced usernames or password in Keepass database. E.g., {REF:U@T:Amazon} or {REF:P@T:Amazon}. Entries with referenced fields can't be used for autofill.

Please describe how you think it should change.

In future username and password should be resolved.

"Forbidden You don't have permission to access /gdrive on this server." on Firefox

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

I cannot authenticate with Google Drive to allow Tusk to access my database stored in the cloud. Every time I try to toggle GDrive on in the settings, I am redirected to the login page for my Google account, and then am met with this issue's title: Forbidden You don't have permission to access /gdrive on this server. I also tried using the sharing link, but nothing would happen when I clicked "Add URL Source." In the Firefox console, I see ReferenceError: getParameterByName is not defined at options.build.js:1:119726.

Anything else?

I am using Firefox 59 (Nightly).

Though I use both uBlock and uMatrix, I did allow the cookies from google.com on the page that throws the 'forbidden' (and disabled both addons), so I don't believe that is the issue (I could be wrong, however).

Foreign Language Support

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

English only. We are neglecting a ton of users.

Please describe how you think it should change.

We should think about how to support other languages. I don't have a framework for this yet. But it would be great to start thinking about.

Anything else?

Look at how BitWarden browser does this. I think they do it well.

Quick Unlock Methods: PIN or last 3 characters

I'd like to phase out the "keep unlocked" function because it's obscenely insecure. A lot of folks will likely complain, but currently a major issue is that if your computer is shut down while the database is kept unlocked, your password is stored unencrypted on disk. This is true of CKPX and CKP.

Let's do some research on this.

Will not install on Portable Firefox

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Will not install on Portable Firefox from Extension store

Please describe how you think it should change.

downloadable

Anything else?

Port to firefox

This is honestly worth considering now that quantum is out.

Remember Master Password Until Restart

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Remember master password as time-based

Please describe how you think it should change.

Remember master until browser restart.

Implement remember timeouts with a partial key offload to server.

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Credentials are stored unencrypted on disk. This is horrendous. For anyone reading this issue:

  • This only happens when you drag the remember slider - it isn't default behavior
  • This functionality is preserved from CKP. I didn't write it.
  • It's going to be made a lot better soon.

Please describe how you think it should change.

After work on subdavis/lambda-keystore is finished, use lambda keystore to offload a partial random key to AWS Dynamo and expire it properly. That way credentials are always encrypted on disk and unrecoverable in the case of a browser crash, power off, etc.

Anything else?

shivers

Password cannot contain / character

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

Title

Please describe how you think it should change.

Fix it

Remove on-disk password caching

On-disk password caching really defeats the purpose of a password manager, as a physically compromised laptop would have no defense against attackers.

Change the CKP passoword caching model to in-memory only so that it is lost when the browser closes or crashes.

Cannot use it on Firefox 57 on Android 8.0.0 !

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

I cannot use this extension in FF 57 on Android O, When I got to Extension->Settings, It shows a blank page.

Please describe how you think it should change.

It should work on Android, since this KeePass extension is very useful !

Support YubiKey HMAC-SHA1 for key derivation.

This issue is a

feature

Look at https://hacks.mozilla.org/2018/01/using-hardware-token-based-2fa-with-the-webauthn-api/ and see if it's worth supporting.

The regular online-mode FIDO mechanism doesn't make sense here, but we should consider supporting HMAC-SHA1 challenge response since a couple other keepass providers allow it. This won't be possible for firefox YET, but chrome I think has the API for FIDO.

Looking at https://chrome.google.com/webstore/detail/fido-u2f-universal-2nd-fa/pfboblefjcgdjicmnffhdgionmgcdmne may also help

Anything else?

Honestly IDK.

Please use reactions, don't comment "Me too"

In-built password generator

This issue is a

  • bug
  • feature
  • question

Please describe how you think it should change.

It would be nice to have an in-built password generator, where we could choose the number of characters and the kind of character of our random passwords. Like this we could be able to generate strong passwords to our new accounts or updated accounts. It is super nice to have all inside one single extension. Like a password manager swiss knife.

Timing bug

De-authorizing an oauth provider while the API is blocked and while one of the provider's databases is selected is currently an edge case we don't handle.

Example: on corporate proxy.

CKPX doesn't work on some webpages

Occasionally, CKPX will simply fail to work. CKPX seems to enter the information, then gets instantly erased. Netflix demonstrates this problem, as does the New York Times login page.

This might be the intended behavior of the webpage, but it forces the user to manually type or copy / paste the username / password.

Slider does nothing

This issue is a

  • bug
  • feature
  • question

originally reported by @tonyrulez in #54

Please describe the current behavior, and explain why it's bad.

The time limit slider does nothing.

Please describe how you think it should change.

It should absolutely cause credentials to be cached in memory

Anything else?

Please provide me with some additional information:

  1. Tusk version 2018.1.8
  2. What browser is this? the time slider bug I recently fixed only affected chrome.
  3. If chrome/firefox and version >= 2018.1.7, could you check the popup window's debug console? Anything there?
  4. Please describe what happens when you:
  • sign in and select a remember period of 30 min.
  • Close the popup but not the browser.
  • open the popup again immediately
  • open the popup in <60 seconds
  • open the popup 3-5 min later.

Update App Name in oAuth (at least Dropbox)

This issue is a

  • bug
  • feature
  • question

Please describe the current behavior, and explain why it's bad.

I installed on Firefox, and clicked to link Dropbox, then saw "CKPX - Chrome Keepass, Extended would like access to the files and folders in your Dropbox."

Please describe how you think it should change.

Update to use "Tusk" instead of "CKPX"

Anything else?

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.