Keeweb App

broken image


The Nextcloud App Store - Upload your apps and install new apps onto your Nextcloud. Website: keeweb.info Twitter: keeweb Donate: OpenCollective, GitHub. The app is quite stable now. Basic stuff, as well as more advanced operations, should be rather reliable. Everything you need to host this app on your server is any static file server. The app is a single HTML file + a service worker (optionally; for.

Host Your Own Multi-User Password Manager with KeeWeb and WebDAV

Screen mirroring ipad to roku. Published on Jan 24, 2019

For years I used KeePass to manage my ever-growing number of passwords. It works brilliantly, especially for a single user. Just stick the database on Dropbox, Google Drive, or use Syncthing, and voila, you can access your password database everywhere. Toss in something like Keepass2Android, and you have mobile access as well, all for free.

This setup worked fine for years. Indeed, I recommend it to anyone in a single-user situation. But what about a scenario wherein two (or more) people want to access/change the database simultaneously? If you're just using something like Dropbox to sync the database, then you will likely end up with file conflicts and lost data. Unacceptable.

Sure, there are solutions like LastPass, but I have an inherent mistrust of a closed-source, cloud-based password manager. Bitwarden is better since it's open source (and you can host the stack yourself), but since I'm already familiar with KeePass, I'm not ready to give up on that ecosystem yet.

KeePass Multi-User

I want a setup where both my wife and I can access our shared KeePass database simultaneously on multiple computers, plus on a couple of Android phones, with bonus points for having a self-hosted, password-protected web interface in case we have neither our own computers nor our phones with us. Basically, can we spin our own version of LastPass / Bitwarden, but using KeePass-related tools?

Yes, we can. The simplest way is to store the KeePass database on a networked computer (such as an sFTP server). Using the Open URL feature in KeePass -- or by mounting the network folder using sshfs (in Linux) -- numerous people can access/modify the database at any given time. There are plugins (such as SftpSync) for KeePass v2 that can help with this. The only problems here are:

  1. You have to run KeePass v2, which is fine on Windows, but less-elegant on Linux and macOS due to the dependency on mono. KeePassXC doesn't have plugins (yet?), so the syncing options are trickier.
  2. There's no web interface available. Boo!

WebDAV to the Rescue

Now here's a fine thing. We can fix those two sFTP-related problems by using WebDAV, so let's get going! I'm using Apache on CentOS for my web server, so if you want to use nginx, lighttpd, or whatever, you'll need to make adjustments accordingly.

You will first need to set up a new VirtualHost as well as HTTPS. Doing so is beyond the scope of this article, but you can start by searching for apache virtualhost setup, and then look up Let's Encrypt and certbot for free TLS certificates.

Once that's ready, it's time to set up HTTP authentication, since we don't want just anyone accessing our password database, do we? I'm storing my info in a file called .htpasswd, which is pretty common.

# htpasswd -c /etc/httpd/.htpasswd user-name
# chown root:apache /etc/httpd/.htpasswd
# chmod 640 /etc/httpd/.htpasswd

You'll want to change user-name in the above example to whatever username you want. And yes, it will prompt you to set whatever password you want, so try to remember it, eh?

Now you can add something like the following to your VirtualHosts file, so that whoever wants to access the site must first pass authentication. I'm calling mine KeeWeb below since that's what I plan to host in the root directory.


AuthType 'Basic'
AuthName 'KeeWeb'
AuthBasicProvider file
AuthUserFile '/etc/httpd/.htpasswd'
Require valid-user

Get WebDAV running

There are plenty of guides on the interwebs on how to configure WebDAV. I'm using CentOS 7, which automatically loads the appropriate modules if you install Apache. On CentOS, you can check to see if the dav_fs module is loaded by running the following:

You should see something like the following:

Keeweb App
dav_module (shared)
dav_fs_module (shared)
dav_lock_module (shared)

If you are using a Debian-based distro and need to load the required modules, you can run the following:

Now that the Apache modules are loaded, let's make a folder that we want to access via WebDAV. Inside the publicly accessible directory for your site, let's make a folder called webdav and set the appropriate permissions.

# mkdir webdav
# chown apache:apache webdav/
# chmod 700 webdav/

Now let's add the following to our VirtualHosts file to enable WebDAV access:


DAV On
AuthType 'Basic'
AuthName 'webdav'

To add a lock to your accessed resources, you can also add the following to your VirtualHosts file, right above the line:

Done! You can test your WebDAV setup in a number of ways. If you're on macOS, press Command+K and enter https://example.com/webav as the server. If you're on Linux, try entering webdavs://example.com/webdav into Dolphin, Nautilus, or whatever file manager you have. Try uploading your KeePass database to the WebDAV folder. Make sure you can both upload and delete files from that space. If you want to try using KeePass v2, you can go to Open URL and specify https://example.com/webdav/your-keepass-db.kdbx as the file, and you should have full read/write access.

The Kee to the Web

All this is well and good, but we still don't have our web interface (in case we don't have access to either our personal computer or a smartphone). That's easy to fix. KeeWeb to the rescue!

KeeWeb provides a web interface to our personal KeePass database. The official app is located at app.keeweb.info, but we can host it ourselves, so let's do it! I suggest installing it in a folder called keeweb on your domain. Double-check the link on this page (the download is currently called gh-pages.zip), in case it changes. Here we go:

In the 550D you can use Magic Lantern. Just install it, press MENU and then DISP. The shutter count will appear in the bottom of the screen. Updating my answer, the current build (as of today 11/17), shows you how many shutter actuations the camera have, and also tells you the number of pictures taken and LV switches + quick focus attempts. Check Canon 5D Mark II Canon 5D Mark III Canon 7D Mark II 1D MARK III 1D Mark IV Canon 7D Canon 6D Canon 70D Canon 60D Canon 50D Canon 40D Canon 700D Canon 650D Canon 550D Canon 1300D Canon 1200D Canon 1100D Canon 1000D Canon Rebel T5I Canon Rebel T4i Canon Rebel T2i Canon Rebel XSi Nikon D60 Nikon D600 Sony NEX-7 shutter count. How to Know The Number of Shots a.

550d shutter count
dav_module (shared)
dav_fs_module (shared)
dav_lock_module (shared)

If you are using a Debian-based distro and need to load the required modules, you can run the following:

Now that the Apache modules are loaded, let's make a folder that we want to access via WebDAV. Inside the publicly accessible directory for your site, let's make a folder called webdav and set the appropriate permissions.

# mkdir webdav
# chown apache:apache webdav/
# chmod 700 webdav/

Now let's add the following to our VirtualHosts file to enable WebDAV access:


DAV On
AuthType 'Basic'
AuthName 'webdav'

To add a lock to your accessed resources, you can also add the following to your VirtualHosts file, right above the line:

Done! You can test your WebDAV setup in a number of ways. If you're on macOS, press Command+K and enter https://example.com/webav as the server. If you're on Linux, try entering webdavs://example.com/webdav into Dolphin, Nautilus, or whatever file manager you have. Try uploading your KeePass database to the WebDAV folder. Make sure you can both upload and delete files from that space. If you want to try using KeePass v2, you can go to Open URL and specify https://example.com/webdav/your-keepass-db.kdbx as the file, and you should have full read/write access.

The Kee to the Web

All this is well and good, but we still don't have our web interface (in case we don't have access to either our personal computer or a smartphone). That's easy to fix. KeeWeb to the rescue!

KeeWeb provides a web interface to our personal KeePass database. The official app is located at app.keeweb.info, but we can host it ourselves, so let's do it! I suggest installing it in a folder called keeweb on your domain. Double-check the link on this page (the download is currently called gh-pages.zip), in case it changes. Here we go:

In the 550D you can use Magic Lantern. Just install it, press MENU and then DISP. The shutter count will appear in the bottom of the screen. Updating my answer, the current build (as of today 11/17), shows you how many shutter actuations the camera have, and also tells you the number of pictures taken and LV switches + quick focus attempts. Check Canon 5D Mark II Canon 5D Mark III Canon 7D Mark II 1D MARK III 1D Mark IV Canon 7D Canon 6D Canon 70D Canon 60D Canon 50D Canon 40D Canon 700D Canon 650D Canon 550D Canon 1300D Canon 1200D Canon 1100D Canon 1000D Canon Rebel T5I Canon Rebel T4i Canon Rebel T2i Canon Rebel XSi Nikon D60 Nikon D600 Sony NEX-7 shutter count. How to Know The Number of Shots a. Canon EOS 550D Shutter Life The Canon EOS 550D is an 18.0 megapixel digital single-lens reflex camera, announced by Canon on February 8, 2010. It was available since 24 February 2010 and to US dealers from early March. It is known as the EOS Kiss X4 in Japan, and as the EOS Rebel T2i in the Americas. DSLRs have an expected lifetime, which is generally counted in the amount of shutter actuations. The Canon EOS 550D / Rebel T2i camera has an expected lifetime of about 100.000 shutter actuations. Thus, when buying a used 550D/T2i it makes perfect sense to look for a camera that has the smallest shutter count. The less the better. Check DLSR shutter count and EXIF info (Max file size 30M) Shutter Count info exist in most Nikon, Pantax DLSR and Canon 1D series DSLR. Nikon's NEF, Pentax's DNG and PEF, Canon's CR2 raw file format are supported. To upload a photo file, click on the button below. Drag-and-drop is supported in Firefox, Chrome, Opera, Vivaldi browser.

Application Keeweb

# wget https://github.com/keeweb/keeweb/archive/gh-pages.zip
# unzip gh-pages.zip
# mv keeweb-gh-pages keeweb

You can now visit your KeeWeb installation at https://example.com/keeweb/. However, its functionality is currently no different from app.keeweb.info. We want it to automatically find/load our database inside the WebDAV folder, so let's do that! KeeWeb supports loading its configuration settings from a JSON file, so we can call it config.json (or whatever you want). Make a config.json file in your site's root directory (outside the keeweb folder). Inside that file, add the following, at a minimum:

{
'settings': {},
'files': [{
'storage': 'webdav',
'name': 'Database Name',
'path': '/webdav/your-keepass-db.kdbx'
}]
}

Keeweb Mobile App

There are plenty of configuration settings available (see the KeeWeb wiki), so here's an example of my config.json file with some added settings:

{
'settings': {
'theme': 'wh',
'autoSave': true,
'IdleMinutes': 60,
'fontSize': 1
},
'files': [{
'storage': 'webdav',
'name': 'Database Name',
'path': '/webdav/your-keepass-db.kdbx'
}]
}

KeeWeb will now find the configuration file if you load the full URL (e.g. https://example.com/keeweb/?config=/config.json), but that's way too much to type on a regular basis. Instead, let's set a redirect, either in your VirtualHosts file or in a file called .htaccess in your web root.

RedirectMatch 301 ^/$ /keeweb/?config=/config.json

Restart Apache:

Now you can browse to your site's root. Once you pass the HTTP authentication, you should see KeeWeb's interface, ready to manage the passwords in your specified database.

Let's Get to Syncing

Full sync ahead! On a personal computer, you can mount your WebDAV folder and load your database into KeePass (or KeePassXC, for that matter).

You can also load your database on an Android phone using Keepass2Android (use the WebDAV option, obviously). I don't have any iOS devices, so I can't offer much help here. It looks like KyPass 4 supports WebDAV. MiniKeePass is popular, but I don't know about WebDAV support.

And there we have it: our own personal LastPass running all open-source software, on our own server, and with no subscription fees. You (and other trusted users) can open (and edit!) the password database in multiple locations, simultaneously. You can use software like KeePassXC, mobile devices, and there's even a web interface available when you need it.

And what about security? Isn't this WebDAV setup less secure than just keeping the database in Dropbox? Well, probably. A nefarious character would have to first break through your HTTP authentication (you used a strong password, didn't you?) -- OR find a vulnerability in Apache. THEN that shady character would still have to break through the encryption on your KeePass database (you used a really strong password here, didn't you? And maybe a key file?).

Point is, you're still pretty darn secure. Add in the fact that whatever URL you chose for your WebDAV access is not likely to become much of a target for people attempting to break in (especially compared to LastPass!), and I wouldn't lose any sleep over it. You should also keep regular backups of your database, especially for offline usage.

Have fun!

How do you secure your login and password information? You could simply rely on your web browser, but there are so many other locations which might require a secure login, away from your browser.

You could choose a commercial password manager, such as our choice, 1Password. This cross-platform tool enables you to secure your logins, passwords, personal information and even your credit card details, across your devices. If you're on your smartphone out and about, you can view your login details from 1Password just by using Face ID. The only issue is, this isn't a cheap service requiring an ongoing monthly payment for you to keep accessing your own password information.

KeeWeb is a free opensource cross-platform alternative which is built on top of the popular KeePass technology. The difference with KeeWeb is that the UI looks like a modern implementation and we're impressed. It even includes the option of a dark mode by default and the developer has cleverly designed it so it looks the same across Mac, Windows or Linux computers.

As you would expect with a password manager, you can store your login, password, credit cards and other personal data. KeeWeb supports Dropbox synchronisation, so if you move from your office Windows PC to your Mac laptop, your information will be in sync. You can assign tags so you can quickly find information and add colour favourites so separate information.

You also get a password generator, making it easy to create a secure password if a website or other location requires a secure login. You can add inline images, so if you feel compelled, you can even add an image of your credit card to KeeWeb.

Keeweb App Install

The major downside of using KeeWeb is that there are no smartphone apps, meaning you can't manage your passwords from your iPhone or Android device. What you can do is open a web browser app and load your Dropbox stored data via your browser, but's not the ideal solution.

Keeweb App Login

As KeeWeb is opensource, we might see additional functionality added in future. Third-party developers have created their own themes and there's even a 'Have I Been Pwned?' plugin made available so you can check whether any of your logins/passes have been compromised.

Verdict:

Keeweb App Download

Looks great, cross-platform, free and with lots of potential. For us though, we'd love a smartphone app, but for a free password manager, that's a tall ask. Give it a try.





broken image